packages feed

canadian-income-tax 2022.2.1 → 2023.0

raw patch · 93 files changed

+34197/−1271 lines, 93 filesdep +bifunctorsdep +bitwise-enumdep +deep-transformationsdep −transformersdep ~basedep ~bytestringdep ~ca-province-codesnew-component:exe:serve-canadian-taxesbinary-addedPVP ok

version bump matches the API change (PVP)

Dependencies added: bifunctors, bitwise-enum, deep-transformations, hedgehog, http-types, scotty, tasty, tasty-golden, tasty-hedgehog, typed-process, unix, wai-extra, wai-middleware-static, zip-archive

Dependencies removed: transformers

Dependency ranges changed: base, bytestring, ca-province-codes, containers, directory, filepath, forms-data-format, monoid-subclasses, optparse-applicative, rank2classes, text, time

API changes (from Hackage documentation)

- Tax.Canada: data ON428 line
- Tax.Canada: data T1 line
- Tax.Canada: fixON428 :: ON428 Maybe -> ON428 Maybe
- Tax.Canada: fixOntarioReturns :: (T1 Maybe, ON428 Maybe) -> (T1 Maybe, ON428 Maybe)
- Tax.Canada: fixT1 :: T1 Maybe -> T1 Maybe
- Tax.Canada: on428Fields :: ON428 FieldConst
- Tax.Canada: t1Fields :: T1 FieldConst
- Tax.Canada.ON428.FieldNames: on428Fields :: ON428 FieldConst
- Tax.Canada.ON428.Fix: fixON428 :: ON428 Maybe -> ON428 Maybe
- Tax.Canada.ON428.Types: Donations :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Donations line
- Tax.Canada.ON428.Types: HealthPremium :: HealthPremiumBracket line -> HealthPremiumBracket line -> HealthPremiumBracket line -> HealthPremiumBracket line -> HealthPremiumBracket line -> HealthPremium line
- Tax.Canada.ON428.Types: HealthPremiumBracket :: line Centi -> line Centi -> line Centi -> line Centi -> HealthPremiumBracket line
- Tax.Canada.ON428.Types: MedicalExpenses :: line Centi -> line Centi -> line Rational -> line Centi -> line Centi -> line Centi -> MedicalExpenses line
- Tax.Canada.ON428.Types: ON428 :: Page1 line -> Page2 line -> Page3 line -> Page4 line -> ON428 line
- Tax.Canada.ON428.Types: Page1 :: line Centi -> Page1PartA line -> Page1PartB line -> Page1 line
- Tax.Canada.ON428.Types: Page1PartA :: TaxIncomeBracket line -> TaxIncomeBracket line -> TaxIncomeBracket line -> TaxIncomeBracket line -> TaxIncomeBracket line -> Page1PartA line
- Tax.Canada.ON428.Types: Page1PartB :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page1PartB line
- Tax.Canada.ON428.Types: Page2 :: Page2PartB line -> Page2PartC line -> Page2 line
- Tax.Canada.ON428.Types: Page2PartB :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> MedicalExpenses line -> line Centi -> line Centi -> line Centi -> line Centi -> line Rational -> line Centi -> Donations line -> line Centi -> Page2PartB line
- Tax.Canada.ON428.Types: Page2PartC :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page2PartC line
- Tax.Canada.ON428.Types: Page3 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Word -> line Centi -> line Word -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page3 line
- Tax.Canada.ON428.Types: Page4 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> HealthPremium line -> Page4 line
- Tax.Canada.ON428.Types: TaxIncomeBracket :: line Centi -> line Centi -> line Centi -> line Rational -> line Centi -> line Centi -> line Centi -> TaxIncomeBracket line
- Tax.Canada.ON428.Types: [$sel:column1:Page1PartA] :: Page1PartA line -> TaxIncomeBracket line
- Tax.Canada.ON428.Types: [$sel:column2:Page1PartA] :: Page1PartA line -> TaxIncomeBracket line
- Tax.Canada.ON428.Types: [$sel:column3:Page1PartA] :: Page1PartA line -> TaxIncomeBracket line
- Tax.Canada.ON428.Types: [$sel:column4:Page1PartA] :: Page1PartA line -> TaxIncomeBracket line
- Tax.Canada.ON428.Types: [$sel:column5:Page1PartA] :: Page1PartA line -> TaxIncomeBracket line
- Tax.Canada.ON428.Types: [$sel:donations:Page2PartB] :: Page2PartB line -> Donations line
- Tax.Canada.ON428.Types: [$sel:equalsTax:HealthPremiumBracket] :: HealthPremiumBracket line -> line Centi
- Tax.Canada.ON428.Types: [$sel:healthPremium:Page4] :: Page4 line -> HealthPremium line
- Tax.Canada.ON428.Types: [$sel:line10_age:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line11_base:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line12_spouseIncome:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line13_cont:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line13_difference:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line14_base:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line15_dependentIncome:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line16_cont:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line16_difference:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line17_caregiver:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line18:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line19_cppQpp:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line1:Page1] :: Page1 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line20_cppQpp:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line21_employmentInsurance:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line22_employmentInsurance:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line23_adoption:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line24_cont:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line24_sum:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line25:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line26:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line27_pension:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line28:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line29_disability:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line2_income:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line30:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line31:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line32_interest:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line33_education:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line34_transferred:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line35:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line36_expenses:MedicalExpenses] :: MedicalExpenses line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line37_income:MedicalExpenses] :: MedicalExpenses line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line38_rate:MedicalExpenses] :: MedicalExpenses line -> line Rational
- Tax.Canada.ON428.Types: [$sel:line39_fraction:MedicalExpenses] :: MedicalExpenses line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line3_threshold:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line40_lesser:MedicalExpenses] :: MedicalExpenses line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line41_difference:MedicalExpenses] :: MedicalExpenses line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line42:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line43_cont:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line43_sum:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line44:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line45_rate:Page2PartB] :: Page2PartB line -> line Rational
- Tax.Canada.ON428.Types: [$sel:line46_fraction:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line47_base:Donations] :: Donations line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line47_fraction:Donations] :: Donations line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line48_base:Donations] :: Donations line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line48_fraction:Donations] :: Donations line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line49_cont:Donations] :: Donations line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line49_sum:Donations] :: Donations line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line4_overThreshold:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line50:Page2PartB] :: Page2PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line51_tax:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line52_credits:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line53:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line54:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line55:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line56:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line57:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line58:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line59_copy:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line59_product:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line5_rate:TaxIncomeBracket] :: TaxIncomeBracket line -> line Rational
- Tax.Canada.ON428.Types: [$sel:line60_lesser:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line61:Page2PartC] :: Page2PartC line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line62:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line63:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line64:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line65:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line66_copy:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line66_surtax:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line67_copy:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line67_surtax:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line68_cont:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line68_sum:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line69:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line6_timesRate:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line70:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line71:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line72:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line73:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line74_basicReduction:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line75_amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line75_childrenNum:Page3] :: Page3 line -> line Word
- Tax.Canada.ON428.Types: [$sel:line76_amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line76_childrenNum:Page3] :: Page3 line -> line Word
- Tax.Canada.ON428.Types: [$sel:line77:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line78_copy:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line78_product:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line79:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line7_baseTax:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line80_cont:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line80_difference:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line81:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line82:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line83:Page3] :: Page3 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line84:Page4] :: Page4 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line85_lift:Page4] :: Page4 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line86:Page4] :: Page4 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line87_foodDonations:Page4] :: Page4 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line87_fraction:Page4] :: Page4 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line88:Page4] :: Page4 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line89_health:Page4] :: Page4 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line8_equalsTax:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line90:Page4] :: Page4 line -> line Centi
- Tax.Canada.ON428.Types: [$sel:line9_basic:Page1PartB] :: Page1PartB line -> line Centi
- Tax.Canada.ON428.Types: [$sel:medicalExpenses:Page2PartB] :: Page2PartB line -> MedicalExpenses line
- Tax.Canada.ON428.Types: [$sel:overThreshold:HealthPremiumBracket] :: HealthPremiumBracket line -> line Centi
- Tax.Canada.ON428.Types: [$sel:page1:ON428] :: ON428 line -> Page1 line
- Tax.Canada.ON428.Types: [$sel:page2:ON428] :: ON428 line -> Page2 line
- Tax.Canada.ON428.Types: [$sel:page3:ON428] :: ON428 line -> Page3 line
- Tax.Canada.ON428.Types: [$sel:page4:ON428] :: ON428 line -> Page4 line
- Tax.Canada.ON428.Types: [$sel:partA:Page1] :: Page1 line -> Page1PartA line
- Tax.Canada.ON428.Types: [$sel:partB:Page1] :: Page1 line -> Page1PartB line
- Tax.Canada.ON428.Types: [$sel:partB:Page2] :: Page2 line -> Page2PartB line
- Tax.Canada.ON428.Types: [$sel:partC:Page2] :: Page2 line -> Page2PartC line
- Tax.Canada.ON428.Types: [$sel:row1:HealthPremium] :: HealthPremium line -> HealthPremiumBracket line
- Tax.Canada.ON428.Types: [$sel:row2:HealthPremium] :: HealthPremium line -> HealthPremiumBracket line
- Tax.Canada.ON428.Types: [$sel:row3:HealthPremium] :: HealthPremium line -> HealthPremiumBracket line
- Tax.Canada.ON428.Types: [$sel:row4:HealthPremium] :: HealthPremium line -> HealthPremiumBracket line
- Tax.Canada.ON428.Types: [$sel:row5:HealthPremium] :: HealthPremium line -> HealthPremiumBracket line
- Tax.Canada.ON428.Types: [$sel:taxableIncome:HealthPremiumBracket] :: HealthPremiumBracket line -> line Centi
- Tax.Canada.ON428.Types: [$sel:timesRate:HealthPremiumBracket] :: HealthPremiumBracket line -> line Centi
- Tax.Canada.ON428.Types: data Donations line
- Tax.Canada.ON428.Types: data HealthPremium line
- Tax.Canada.ON428.Types: data HealthPremiumBracket line
- Tax.Canada.ON428.Types: data MedicalExpenses line
- Tax.Canada.ON428.Types: data ON428 line
- Tax.Canada.ON428.Types: data Page1 line
- Tax.Canada.ON428.Types: data Page1PartA line
- Tax.Canada.ON428.Types: data Page1PartB line
- Tax.Canada.ON428.Types: data Page2 line
- Tax.Canada.ON428.Types: data Page2PartB line
- Tax.Canada.ON428.Types: data Page2PartC line
- Tax.Canada.ON428.Types: data Page3 line
- Tax.Canada.ON428.Types: data Page4 line
- Tax.Canada.ON428.Types: data TaxIncomeBracket line
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.Donations line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.HealthPremium line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.HealthPremiumBracket line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.MedicalExpenses line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.ON428 line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.Page1 line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.Page1PartA line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.Page1PartB line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.Page2 line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.Page2PartB line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.Page2PartC line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.Page3 line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.Page4 line)
- Tax.Canada.ON428.Types: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.ON428.Types.TaxIncomeBracket line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.Donations line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.HealthPremium line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.HealthPremiumBracket line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.MedicalExpenses line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.ON428 line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.Page1 line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.Page1PartA line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.Page1PartB line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.Page2 line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.Page2PartB line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.Page2PartC line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.Page3 line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.Page4 line)
- Tax.Canada.ON428.Types: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.ON428.Types.TaxIncomeBracket line)
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.Donations
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.HealthPremium
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.HealthPremiumBracket
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.MedicalExpenses
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.ON428
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.Page1
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.Page1PartA
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.Page1PartB
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.Page2
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.Page2PartB
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.Page2PartC
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.Page3
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.Page4
- Tax.Canada.ON428.Types: instance Rank2.Applicative Tax.Canada.ON428.Types.TaxIncomeBracket
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.Donations
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.HealthPremium
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.HealthPremiumBracket
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.MedicalExpenses
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.ON428
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.Page1
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.Page1PartA
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.Page1PartB
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.Page2
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.Page2PartB
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.Page2PartC
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.Page3
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.Page4
- Tax.Canada.ON428.Types: instance Rank2.Apply Tax.Canada.ON428.Types.TaxIncomeBracket
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.Donations
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.HealthPremium
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.HealthPremiumBracket
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.MedicalExpenses
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.ON428
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.Page1
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.Page1PartA
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.Page1PartB
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.Page2
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.Page2PartB
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.Page2PartC
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.Page3
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.Page4
- Tax.Canada.ON428.Types: instance Rank2.Distributive Tax.Canada.ON428.Types.TaxIncomeBracket
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.Donations
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.HealthPremium
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.HealthPremiumBracket
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.MedicalExpenses
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.ON428
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.Page1
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.Page1PartA
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.Page1PartB
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.Page2
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.Page2PartB
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.Page2PartC
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.Page3
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.Page4
- Tax.Canada.ON428.Types: instance Rank2.DistributiveTraversable Tax.Canada.ON428.Types.TaxIncomeBracket
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.Donations
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.HealthPremium
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.HealthPremiumBracket
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.MedicalExpenses
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.ON428
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.Page1
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.Page1PartA
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.Page1PartB
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.Page2
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.Page2PartB
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.Page2PartC
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.Page3
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.Page4
- Tax.Canada.ON428.Types: instance Rank2.Foldable Tax.Canada.ON428.Types.TaxIncomeBracket
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.Donations
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.HealthPremium
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.HealthPremiumBracket
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.MedicalExpenses
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.ON428
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.Page1
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.Page1PartA
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.Page1PartB
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.Page2
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.Page2PartB
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.Page2PartC
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.Page3
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.Page4
- Tax.Canada.ON428.Types: instance Rank2.Functor Tax.Canada.ON428.Types.TaxIncomeBracket
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.Donations
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.HealthPremium
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.HealthPremiumBracket
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.MedicalExpenses
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.ON428
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.Page1
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.Page1PartA
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.Page1PartB
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.Page2
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.Page2PartB
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.Page2PartC
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.Page3
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.Page4
- Tax.Canada.ON428.Types: instance Rank2.Logistic Tax.Canada.ON428.Types.TaxIncomeBracket
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.Donations
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.HealthPremium
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.HealthPremiumBracket
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.MedicalExpenses
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.ON428
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.Page1
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.Page1PartA
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.Page1PartB
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.Page2
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.Page2PartB
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.Page2PartC
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.Page3
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.Page4
- Tax.Canada.ON428.Types: instance Rank2.Traversable Tax.Canada.ON428.Types.TaxIncomeBracket
- Tax.Canada.T1.FieldNames: t1Fields :: T1 FieldConst
- Tax.Canada.T1.Fix: fixT1 :: T1 Maybe -> T1 Maybe
- Tax.Canada.T1.Types: Divorced :: MaritalStatus
- Tax.Canada.T1.Types: ElectionsCanada :: line Bool -> line Bool -> ElectionsCanada line
- Tax.Canada.T1.Types: English :: LanguageOfCorrespondence
- Tax.Canada.T1.Types: French :: LanguageOfCorrespondence
- Tax.Canada.T1.Types: Identification :: line Text -> line Day -> line Text -> line LanguageOfCorrespondence -> line Text -> line Text -> line Text -> line Day -> line Text -> line Text -> line MaritalStatus -> line Text -> line Text -> line Code -> Identification line
- Tax.Canada.T1.Types: LivingCommonLaw :: MaritalStatus
- Tax.Canada.T1.Types: Married :: MaritalStatus
- Tax.Canada.T1.Types: MedicalExpenses :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> MedicalExpenses line
- Tax.Canada.T1.Types: Page1 :: Identification line -> Residence line -> Spouse line -> Page1 line
- Tax.Canada.T1.Types: Page2 :: line Bool -> line Bool -> ElectionsCanada line -> line Bool -> line Bool -> Page2 line
- Tax.Canada.T1.Types: Page3 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Text -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page3 line
- Tax.Canada.T1.Types: Page4 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Text -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page4 line
- Tax.Canada.T1.Types: Page5 :: Step4 line -> Page5PartA line -> Page5PartB line -> Page5 line
- Tax.Canada.T1.Types: Page5PartA :: TaxIncomeBracket line -> TaxIncomeBracket line -> TaxIncomeBracket line -> TaxIncomeBracket line -> TaxIncomeBracket line -> Page5PartA line
- Tax.Canada.T1.Types: Page5PartB :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Word -> line Centi -> line Centi -> Page5PartB line
- Tax.Canada.T1.Types: Page6 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> MedicalExpenses line -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page6 line
- Tax.Canada.T1.Types: Page7 :: Page7PartC line -> Page7Step6 line -> Page7 line
- Tax.Canada.T1.Types: Page7PartC :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page7PartC line
- Tax.Canada.T1.Types: Page7Step6 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page7Step6 line
- Tax.Canada.T1.Types: Page8 :: Page8Step6 line -> line Centi -> line Centi -> line Centi -> line Centi -> TaxPreparer line -> line Centi -> line Centi -> line Centi -> Page8 line
- Tax.Canada.T1.Types: Page8Step6 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page8Step6 line
- Tax.Canada.T1.Types: Residence :: line Text -> line Code -> line Code -> line Day -> line Day -> Residence line
- Tax.Canada.T1.Types: Separated :: MaritalStatus
- Tax.Canada.T1.Types: Single :: MaritalStatus
- Tax.Canada.T1.Types: Spouse :: line Centi -> line Bool -> line Text -> line Centi -> line Centi -> line Text -> Spouse line
- Tax.Canada.T1.Types: Step4 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Text -> line Centi -> line Centi -> line Centi -> Step4 line
- Tax.Canada.T1.Types: T1 :: Page1 line -> Page2 line -> Page3 line -> Page4 line -> Page5 line -> Page6 line -> Page7 line -> Page8 line -> T1 line
- Tax.Canada.T1.Types: TaxIncomeBracket :: line Centi -> line Centi -> line Centi -> line Centi -> TaxIncomeBracket line
- Tax.Canada.T1.Types: TaxPreparer :: line Text -> line Text -> line Text -> line Bool -> TaxPreparer line
- Tax.Canada.T1.Types: Widowed :: MaritalStatus
- Tax.Canada.T1.Types: [$sel:authorization:ElectionsCanada] :: ElectionsCanada line -> line Bool
- Tax.Canada.T1.Types: [$sel:cai:Page2] :: Page2 line -> line Bool
- Tax.Canada.T1.Types: [$sel:citizenship:ElectionsCanada] :: ElectionsCanada line -> line Bool
- Tax.Canada.T1.Types: [$sel:column1:Page5PartA] :: Page5PartA line -> TaxIncomeBracket line
- Tax.Canada.T1.Types: [$sel:column2:Page5PartA] :: Page5PartA line -> TaxIncomeBracket line
- Tax.Canada.T1.Types: [$sel:column3:Page5PartA] :: Page5PartA line -> TaxIncomeBracket line
- Tax.Canada.T1.Types: [$sel:column4:Page5PartA] :: Page5PartA line -> TaxIncomeBracket line
- Tax.Canada.T1.Types: [$sel:column5:Page5PartA] :: Page5PartA line -> TaxIncomeBracket line
- Tax.Canada.T1.Types: [$sel:date:Page8] :: Page8 line -> line Centi
- Tax.Canada.T1.Types: [$sel:dateBirth:Identification] :: Identification line -> line Day
- Tax.Canada.T1.Types: [$sel:dateDeath:Identification] :: Identification line -> line Day
- Tax.Canada.T1.Types: [$sel:date_Departure:Residence] :: Residence line -> line Day
- Tax.Canada.T1.Types: [$sel:date_Entry:Residence] :: Residence line -> line Day
- Tax.Canada.T1.Types: [$sel:difference:MedicalExpenses] :: MedicalExpenses line -> line Centi
- Tax.Canada.T1.Types: [$sel:eFileNumber:TaxPreparer] :: TaxPreparer line -> line Text
- Tax.Canada.T1.Types: [$sel:electionsCanada:Page2] :: Page2 line -> ElectionsCanada line
- Tax.Canada.T1.Types: [$sel:emailAddress:Identification] :: Identification line -> line Text
- Tax.Canada.T1.Types: [$sel:familyExpenses:MedicalExpenses] :: MedicalExpenses line -> line Centi
- Tax.Canada.T1.Types: [$sel:foreign_property:Page2] :: Page2 line -> line Bool
- Tax.Canada.T1.Types: [$sel:id_City:Identification] :: Identification line -> line Text
- Tax.Canada.T1.Types: [$sel:id_FirstNameInitial:Identification] :: Identification line -> line Text
- Tax.Canada.T1.Types: [$sel:id_LastName:Identification] :: Identification line -> line Text
- Tax.Canada.T1.Types: [$sel:id_MailingAddress:Identification] :: Identification line -> line Text
- Tax.Canada.T1.Types: [$sel:id_POBox:Identification] :: Identification line -> line Text
- Tax.Canada.T1.Types: [$sel:id_RuralRoute:Identification] :: Identification line -> line Text
- Tax.Canada.T1.Types: [$sel:identification:Page1] :: Page1 line -> Identification line
- Tax.Canada.T1.Types: [$sel:line104:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line116:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line11700:Spouse] :: Spouse line -> line Centi
- Tax.Canada.T1.Types: [$sel:line119:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line122_cont:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line122_sum:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line123:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line124:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line125:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line127:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line128:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line129:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line130:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line131:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line140:Page7Step6] :: Page7Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line164_Refund_or_BalanceOwing:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line21300:Spouse] :: Spouse line -> line Centi
- Tax.Canada.T1.Types: [$sel:line23600:Spouse] :: Spouse line -> line Centi
- Tax.Canada.T1.Types: [$sel:line30000:Page5PartB] :: Page5PartB line -> line Centi
- Tax.Canada.T1.Types: [$sel:line30100:Page5PartB] :: Page5PartB line -> line Centi
- Tax.Canada.T1.Types: [$sel:line30300:Page5PartB] :: Page5PartB line -> line Centi
- Tax.Canada.T1.Types: [$sel:line30400:Page5PartB] :: Page5PartB line -> line Centi
- Tax.Canada.T1.Types: [$sel:line30425:Page5PartB] :: Page5PartB line -> line Centi
- Tax.Canada.T1.Types: [$sel:line30450:Page5PartB] :: Page5PartB line -> line Centi
- Tax.Canada.T1.Types: [$sel:line30499_ChildrenNum:Page5PartB] :: Page5PartB line -> line Word
- Tax.Canada.T1.Types: [$sel:line30500:Page5PartB] :: Page5PartB line -> line Centi
- Tax.Canada.T1.Types: [$sel:line30800:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31000:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31200:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31217:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31220:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31240:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31260:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31270:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31285:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31300:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31350:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31400:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31600:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31800:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line31900:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line32300:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line32400:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line32600:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line33200_cont:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line33200_sum:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line33500:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line33800:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line34900:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line35000:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line40400:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line40424:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line40425:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line40427:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line40500:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line40900:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line41000:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line41200:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line41300:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line41400:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line41500:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line41600_cont:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line41600_sum:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line41700:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line41800:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line42000:Page7PartC] :: Page7PartC line -> line Centi
- Tax.Canada.T1.Types: [$sel:line48400_Refund:Page8] :: Page8 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line48500_BalanceOwing:Page8] :: Page8 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line49000_WasAFeeCharged:TaxPreparer] :: TaxPreparer line -> line Bool
- Tax.Canada.T1.Types: [$sel:line67_income:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
- Tax.Canada.T1.Types: [$sel:line69_overThreshold:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
- Tax.Canada.T1.Types: [$sel:line71_timesRate:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
- Tax.Canada.T1.Types: [$sel:line73_equalsTax:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
- Tax.Canada.T1.Types: [$sel:line82:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line94_cont:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line94_sum:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line96:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line99:Page6] :: Page6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_10100_EmploymentIncome:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_10105_Taxexemptamount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_10120_Commissions:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_10130_sf:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_10400_OtherEmploymentIncome:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_11300_OldAgeSecurityPension:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_11400_CPP_QPP:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_11410_DisabilityBenefits:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_11500_OtherPensions:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_11600_ElectedSplitPension:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_11700_UCCB:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_11701_UCCBDesignated:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_11900_EmploymentInsurance:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_11905_Employmentmaternity:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_12000_TaxableDividends:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_12010_OtherTaxableDividends:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_12100_InvestmentIncome:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_12200_PartnershipIncome:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_12500_RDSP:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_12599_12600_RentalIncome:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_12600_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_12700_TaxableCapitalGains:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_12799_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_12800_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_12900_RRSPIncome:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_13000_OtherIncome:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_13000_OtherIncomeSource:Page3] :: Page3 line -> line Text
- Tax.Canada.T1.Types: [$sel:line_13010_Taxablescholarship:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_13499_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_13500_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_13699_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_13700_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_13899_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_13900_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_14099_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_14100_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_14299_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_14300_Amount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_14400_WorkersCompBen:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_14500_SocialAssistPay:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_14600_NetFedSupplements:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_14700_EqualsAmount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_14700_PlusAmount:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_15000_TotalIncome:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_15000_TotalIncome_2:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_19:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_1_ONOpportunitiesFund:Page8] :: Page8 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_20600_PensionAdjustment:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_20700_RPPDeduction:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_20800_RRSPDeduction:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_20810_PRPP:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_21000_SplitPensionDeduction:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_21200_Dues:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_21300_UCCBRepayment:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_21400_ChildCareExpenses:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_21500_DisabilityDeduction:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_21699_Amount:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_21700_Amount:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_21900_MovingExpenses:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_21999_Amount:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_22000_Amount:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_22100_CarryingChargesInterest:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_22200_CPP_QPP_Contributions:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_22215_DeductionCPP_QPP:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_22400_XplorationDevExpenses:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_22900_OtherEmployExpenses:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_23100_ClergyResDeduction:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_23200_OtherDeductions:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_23200_Specify:Page4] :: Page4 line -> line Text
- Tax.Canada.T1.Types: [$sel:line_23210:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_23300_cont:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_23300_sum:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_23400_NetBeforeAdjust:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_23500_SocialBenefits:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_23600_NetIncome:Page4] :: Page4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_23600_NetIncome_2:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_24400_MilitaryPoliceDeduction:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_24900_SecurityDeductions:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_25000_OtherPayDeductions:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_25100_PartnershipLosses:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_25200_NoncapitalLosses:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_25300_NetCapitalLosses:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_25400_CapitalGainsDeduction:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_25500_NorthernDeductions:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_25600_AdditionalDeductions_Amount:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_25600_AdditionalDeductions_Specify:Step4] :: Step4 line -> line Text
- Tax.Canada.T1.Types: [$sel:line_25700_AddLines_cont:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_25700_AddLines_sum:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_25_cont:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_25_sum:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_26000_TaxableIncome:Step4] :: Step4 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_26:Page3] :: Page3 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_42100_CPPContributions:Page7Step6] :: Page7Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_42120_EIPremiums:Page7Step6] :: Page7Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_42200_SocialBenefits:Page7Step6] :: Page7Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_42800_ProvTerrTax:Page7Step6] :: Page7Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_43500_TotalPayable:Page7Step6] :: Page7Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_43500_totalpayable:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_43700_Total_income_tax_ded:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_44000:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_44800_CPPOverpayment:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_45000_EIOverpayment:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_45200_MedicalExpense:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_45300_CWB:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_45350_CTC:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_45400_InvestmentTaxCredit:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_45600_TrustTaxCredit:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_45700_GST_HST_Rebate:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_46500:Page8] :: Page8 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_46600:Page8] :: Page8 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_46800:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_46900:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_47555_TaxPaid:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_47556:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_47557:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_47600_TaxPaid:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_47900_ProvTerrCredits:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_48200_cont:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_48200_sum:Page8Step6] :: Page8Step6 line -> line Centi
- Tax.Canada.T1.Types: [$sel:line_81:Page5PartB] :: Page5PartB line -> line Centi
- Tax.Canada.T1.Types: [$sel:maritalStatus:Identification] :: Identification line -> line MaritalStatus
- Tax.Canada.T1.Types: [$sel:medical_expenses:Page6] :: Page6 line -> MedicalExpenses line
- Tax.Canada.T1.Types: [$sel:nameOfPreparer:TaxPreparer] :: TaxPreparer line -> line Text
- Tax.Canada.T1.Types: [$sel:organ_donor:Page2] :: Page2 line -> line Bool
- Tax.Canada.T1.Types: [$sel:otherDependants:MedicalExpenses] :: MedicalExpenses line -> line Centi
- Tax.Canada.T1.Types: [$sel:page1:T1] :: T1 line -> Page1 line
- Tax.Canada.T1.Types: [$sel:page2:T1] :: T1 line -> Page2 line
- Tax.Canada.T1.Types: [$sel:page3:T1] :: T1 line -> Page3 line
- Tax.Canada.T1.Types: [$sel:page4:T1] :: T1 line -> Page4 line
- Tax.Canada.T1.Types: [$sel:page5:T1] :: T1 line -> Page5 line
- Tax.Canada.T1.Types: [$sel:page6:T1] :: T1 line -> Page6 line
- Tax.Canada.T1.Types: [$sel:page7:T1] :: T1 line -> Page7 line
- Tax.Canada.T1.Types: [$sel:page8:T1] :: T1 line -> Page8 line
- Tax.Canada.T1.Types: [$sel:partA_FederalTax:Page5] :: Page5 line -> Page5PartA line
- Tax.Canada.T1.Types: [$sel:partB_FederalTaxCredits:Page5] :: Page5 line -> Page5PartB line
- Tax.Canada.T1.Types: [$sel:partC_NetFederalTax:Page7] :: Page7 line -> Page7PartC line
- Tax.Canada.T1.Types: [$sel:postalCode:Identification] :: Identification line -> line Text
- Tax.Canada.T1.Types: [$sel:prov_DropDown:Identification] :: Identification line -> line Code
- Tax.Canada.T1.Types: [$sel:prov_DropDown:Residence] :: Residence line -> line Text
- Tax.Canada.T1.Types: [$sel:prov_DropDown_Business:Residence] :: Residence line -> line Code
- Tax.Canada.T1.Types: [$sel:prov_DropDown_Residence:Residence] :: Residence line -> line Code
- Tax.Canada.T1.Types: [$sel:residence:Page1] :: Page1 line -> Residence line
- Tax.Canada.T1.Types: [$sel:self_employment:Spouse] :: Spouse line -> line Bool
- Tax.Canada.T1.Types: [$sel:sin:Identification] :: Identification line -> line Text
- Tax.Canada.T1.Types: [$sel:sin:Spouse] :: Spouse line -> line Text
- Tax.Canada.T1.Types: [$sel:spouse:Page1] :: Page1 line -> Spouse line
- Tax.Canada.T1.Types: [$sel:spouse_First_Name:Spouse] :: Spouse line -> line Text
- Tax.Canada.T1.Types: [$sel:step4_TaxableIncome:Page5] :: Page5 line -> Step4 line
- Tax.Canada.T1.Types: [$sel:step6_RefundOrBalanceOwing:Page7] :: Page7 line -> Page7Step6 line
- Tax.Canada.T1.Types: [$sel:step6_RefundOrBalanceOwing:Page8] :: Page8 line -> Page8Step6 line
- Tax.Canada.T1.Types: [$sel:taxPreparer:Page8] :: Page8 line -> TaxPreparer line
- Tax.Canada.T1.Types: [$sel:tax_exempt:Page2] :: Page2 line -> line Bool
- Tax.Canada.T1.Types: [$sel:taxableIncome:MedicalExpenses] :: MedicalExpenses line -> line Centi
- Tax.Canada.T1.Types: [$sel:taxableIncomeFraction:MedicalExpenses] :: MedicalExpenses line -> line Centi
- Tax.Canada.T1.Types: [$sel:telephone:Page8] :: Page8 line -> line Centi
- Tax.Canada.T1.Types: [$sel:telephoneOfPreparer:TaxPreparer] :: TaxPreparer line -> line Text
- Tax.Canada.T1.Types: [$sel:threshold:MedicalExpenses] :: MedicalExpenses line -> line Centi
- Tax.Canada.T1.Types: [$sel:your_Language:Identification] :: Identification line -> line LanguageOfCorrespondence
- Tax.Canada.T1.Types: data ElectionsCanada line
- Tax.Canada.T1.Types: data Identification line
- Tax.Canada.T1.Types: data LanguageOfCorrespondence
- Tax.Canada.T1.Types: data MaritalStatus
- Tax.Canada.T1.Types: data MedicalExpenses line
- Tax.Canada.T1.Types: data Page1 line
- Tax.Canada.T1.Types: data Page2 line
- Tax.Canada.T1.Types: data Page3 line
- Tax.Canada.T1.Types: data Page4 line
- Tax.Canada.T1.Types: data Page5 line
- Tax.Canada.T1.Types: data Page5PartA line
- Tax.Canada.T1.Types: data Page5PartB line
- Tax.Canada.T1.Types: data Page6 line
- Tax.Canada.T1.Types: data Page7 line
- Tax.Canada.T1.Types: data Page7PartC line
- Tax.Canada.T1.Types: data Page7Step6 line
- Tax.Canada.T1.Types: data Page8 line
- Tax.Canada.T1.Types: data Page8Step6 line
- Tax.Canada.T1.Types: data Residence line
- Tax.Canada.T1.Types: data Spouse line
- Tax.Canada.T1.Types: data Step4 line
- Tax.Canada.T1.Types: data T1 line
- Tax.Canada.T1.Types: data TaxIncomeBracket line
- Tax.Canada.T1.Types: data TaxPreparer line
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.ElectionsCanada line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Identification line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.MedicalExpenses line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page1 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page2 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page3 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page4 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page5 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page5PartA line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page5PartB line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page6 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page7 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page7PartC line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page7Step6 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page8 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Page8Step6 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Residence line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Spouse line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.Step4 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.T1 line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.TaxIncomeBracket line)
- Tax.Canada.T1.Types: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.T1.Types.TaxPreparer line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.ElectionsCanada line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Identification line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.MedicalExpenses line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page1 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page2 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page3 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page4 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page5 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page5PartA line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page5PartB line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page6 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page7 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page7PartC line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page7Step6 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page8 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Page8Step6 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Residence line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Spouse line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.Step4 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.T1 line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.TaxIncomeBracket line)
- Tax.Canada.T1.Types: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.T1.Types.TaxPreparer line)
- Tax.Canada.T1.Types: instance GHC.Classes.Eq Tax.Canada.T1.Types.LanguageOfCorrespondence
- Tax.Canada.T1.Types: instance GHC.Classes.Eq Tax.Canada.T1.Types.MaritalStatus
- Tax.Canada.T1.Types: instance GHC.Enum.Bounded Tax.Canada.T1.Types.LanguageOfCorrespondence
- Tax.Canada.T1.Types: instance GHC.Enum.Bounded Tax.Canada.T1.Types.MaritalStatus
- Tax.Canada.T1.Types: instance GHC.Enum.Enum Tax.Canada.T1.Types.LanguageOfCorrespondence
- Tax.Canada.T1.Types: instance GHC.Enum.Enum Tax.Canada.T1.Types.MaritalStatus
- Tax.Canada.T1.Types: instance GHC.Show.Show Tax.Canada.T1.Types.LanguageOfCorrespondence
- Tax.Canada.T1.Types: instance GHC.Show.Show Tax.Canada.T1.Types.MaritalStatus
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.ElectionsCanada
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Identification
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.MedicalExpenses
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page1
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page2
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page3
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page4
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page5
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page5PartA
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page5PartB
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page6
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page7
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page7PartC
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page7Step6
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page8
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Page8Step6
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Residence
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Spouse
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.Step4
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.T1
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.TaxIncomeBracket
- Tax.Canada.T1.Types: instance Rank2.Applicative Tax.Canada.T1.Types.TaxPreparer
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.ElectionsCanada
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Identification
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.MedicalExpenses
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page1
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page2
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page3
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page4
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page5
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page5PartA
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page5PartB
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page6
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page7
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page7PartC
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page7Step6
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page8
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Page8Step6
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Residence
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Spouse
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.Step4
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.T1
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.TaxIncomeBracket
- Tax.Canada.T1.Types: instance Rank2.Apply Tax.Canada.T1.Types.TaxPreparer
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.ElectionsCanada
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Identification
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.MedicalExpenses
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page1
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page2
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page3
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page4
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page5
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page5PartA
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page5PartB
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page6
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page7
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page7PartC
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page7Step6
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page8
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Page8Step6
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Residence
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Spouse
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.Step4
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.T1
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.TaxIncomeBracket
- Tax.Canada.T1.Types: instance Rank2.Distributive Tax.Canada.T1.Types.TaxPreparer
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.ElectionsCanada
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Identification
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.MedicalExpenses
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page1
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page2
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page3
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page4
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page5
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page5PartA
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page5PartB
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page6
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page7
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page7PartC
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page7Step6
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page8
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Page8Step6
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Residence
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Spouse
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.Step4
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.T1
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.TaxIncomeBracket
- Tax.Canada.T1.Types: instance Rank2.DistributiveTraversable Tax.Canada.T1.Types.TaxPreparer
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.ElectionsCanada
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Identification
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.MedicalExpenses
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page1
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page2
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page3
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page4
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page5
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page5PartA
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page5PartB
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page6
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page7
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page7PartC
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page7Step6
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page8
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Page8Step6
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Residence
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Spouse
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.Step4
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.T1
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.TaxIncomeBracket
- Tax.Canada.T1.Types: instance Rank2.Foldable Tax.Canada.T1.Types.TaxPreparer
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.ElectionsCanada
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Identification
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.MedicalExpenses
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page1
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page2
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page3
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page4
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page5
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page5PartA
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page5PartB
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page6
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page7
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page7PartC
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page7Step6
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page8
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Page8Step6
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Residence
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Spouse
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.Step4
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.T1
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.TaxIncomeBracket
- Tax.Canada.T1.Types: instance Rank2.Functor Tax.Canada.T1.Types.TaxPreparer
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.ElectionsCanada
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Identification
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.MedicalExpenses
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page1
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page2
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page3
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page4
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page5
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page5PartA
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page5PartB
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page6
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page7
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page7PartC
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page7Step6
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page8
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Page8Step6
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Residence
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Spouse
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.Step4
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.T1
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.TaxIncomeBracket
- Tax.Canada.T1.Types: instance Rank2.Logistic Tax.Canada.T1.Types.TaxPreparer
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.ElectionsCanada
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Identification
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.MedicalExpenses
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page1
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page2
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page3
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page4
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page5
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page5PartA
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page5PartB
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page6
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page7
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page7PartC
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page7Step6
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page8
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Page8Step6
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Residence
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Spouse
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.Step4
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.T1
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.TaxIncomeBracket
- Tax.Canada.T1.Types: instance Rank2.Traversable Tax.Canada.T1.Types.TaxPreparer
- Tax.FDF: fromFieldMap :: Traversable form => form FieldConst -> Map [Text] Text -> Either String (form Maybe)
- Tax.Util: leastOf :: [Maybe Centi] -> Maybe Centi
+ Tax.Canada: completeForms :: Code -> FDFs -> Either String FDFs
+ Tax.Canada.Federal: Forms :: T1 line -> Schedule6 line -> Schedule7 line -> Schedule9 line -> Schedule11 line -> Forms line
+ Tax.Canada.Federal: [$sel:schedule11:Forms] :: Forms line -> Schedule11 line
+ Tax.Canada.Federal: [$sel:schedule6:Forms] :: Forms line -> Schedule6 line
+ Tax.Canada.Federal: [$sel:schedule7:Forms] :: Forms line -> Schedule7 line
+ Tax.Canada.Federal: [$sel:schedule9:Forms] :: Forms line -> Schedule9 line
+ Tax.Canada.Federal: [$sel:t1:Forms] :: Forms line -> T1 line
+ Tax.Canada.Federal: data Forms line
+ Tax.Canada.Federal: fixFederalForms :: Forms Maybe -> Forms Maybe
+ Tax.Canada.Federal: formFieldsForProvince :: Code -> Forms FieldConst
+ Tax.Canada.Federal: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Types.Word), GHC.Classes.Eq (line Data.Text.Internal.Text), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line Data.CAProvinceCodes.Code), GHC.Classes.Eq (line Data.Time.Calendar.Days.Day), GHC.Classes.Eq (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Classes.Eq (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Classes.Eq (Tax.Canada.Federal.Forms line)
+ Tax.Canada.Federal: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Types.Word), GHC.Show.Show (line Data.Text.Internal.Text), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line Data.CAProvinceCodes.Code), GHC.Show.Show (line Data.Time.Calendar.Days.Day), GHC.Show.Show (line Tax.Canada.T1.Types.LanguageOfCorrespondence), GHC.Show.Show (line Tax.Canada.T1.Types.MaritalStatus)) => GHC.Show.Show (Tax.Canada.Federal.Forms line)
+ Tax.Canada.Federal: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.Shallow.Traversable t Tax.Canada.T1.Types.T1, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Schedule6, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.Schedule7, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule9.Schedule9, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule11.Schedule11) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Forms
+ Tax.Canada.Federal: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.Shallow.Foldable t Tax.Canada.T1.Types.T1, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Schedule6, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.Schedule7, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule9.Schedule9, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule11.Schedule11) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Forms
+ Tax.Canada.Federal: instance (Transformation.Transformation t, Transformation.Shallow.Functor t Tax.Canada.T1.Types.T1, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Schedule6, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.Schedule7, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule9.Schedule9, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule11.Schedule11) => Transformation.Shallow.Functor t Tax.Canada.Federal.Forms
+ Tax.Canada.Federal: instance Rank2.Applicative Tax.Canada.Federal.Forms
+ Tax.Canada.Federal: instance Rank2.Apply Tax.Canada.Federal.Forms
+ Tax.Canada.Federal: instance Rank2.Distributive Tax.Canada.Federal.Forms
+ Tax.Canada.Federal: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Forms
+ Tax.Canada.Federal: instance Rank2.Foldable Tax.Canada.Federal.Forms
+ Tax.Canada.Federal: instance Rank2.Functor Tax.Canada.Federal.Forms
+ Tax.Canada.Federal: instance Rank2.Logistic Tax.Canada.Federal.Forms
+ Tax.Canada.Federal: instance Rank2.Traversable Tax.Canada.Federal.Forms
+ Tax.Canada.Federal.Schedule11: Page1 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> SubCalculation line -> line Centi -> line Centi -> line Centi -> Page1 line
+ Tax.Canada.Federal.Schedule11: Page2 :: line Bool -> line Word -> line Word -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page2 line
+ Tax.Canada.Federal.Schedule11: Schedule11 :: Page1 line -> Page2 line -> Schedule11 line
+ Tax.Canada.Federal.Schedule11: [$sel:line10_sum:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line11_copy:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line11_numerator:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line12_copy:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line13_difference:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line14_minUnused:Page1] :: Page1 line -> SubCalculation line
+ Tax.Canada.Federal.Schedule11: [$sel:line15_difference:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line16_min:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line17_sum:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line18_copy:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line19_copy:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line20_difference:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line21_copy:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line22_copy:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line23_difference:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line24_transferred:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line25_difference:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line2_copy:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line2_fraction:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line3_limit:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line4_min:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line5_trainingClaim:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line6_difference:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line8_sum:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line9_pastUnused:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line_32000_tuition:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line_32001_eligible:Page1] :: Page1 line -> line Centi
+ Tax.Canada.Federal.Schedule11: [$sel:line_32005_diability:Page2] :: Page2 line -> line Bool
+ Tax.Canada.Federal.Schedule11: [$sel:line_32010_partTimeMonths:Page2] :: Page2 line -> line Word
+ Tax.Canada.Federal.Schedule11: [$sel:line_32020_fullTimeMonths:Page2] :: Page2 line -> line Word
+ Tax.Canada.Federal.Schedule11: [$sel:page1:Schedule11] :: Schedule11 line -> Page1 line
+ Tax.Canada.Federal.Schedule11: [$sel:page2:Schedule11] :: Schedule11 line -> Page2 line
+ Tax.Canada.Federal.Schedule11: data Page1 line
+ Tax.Canada.Federal.Schedule11: data Page2 line
+ Tax.Canada.Federal.Schedule11: data Schedule11 line
+ Tax.Canada.Federal.Schedule11: fixSchedule11 :: T1 Maybe -> Schedule11 Maybe -> Schedule11 Maybe
+ Tax.Canada.Federal.Schedule11: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule11.Page1 line)
+ Tax.Canada.Federal.Schedule11: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule11.Page2 line)
+ Tax.Canada.Federal.Schedule11: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational), GHC.Classes.Eq (line GHC.Types.Word)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule11.Schedule11 line)
+ Tax.Canada.Federal.Schedule11: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.Federal.Schedule11.Page1 line)
+ Tax.Canada.Federal.Schedule11: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.Federal.Schedule11.Page2 line)
+ Tax.Canada.Federal.Schedule11: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational), GHC.Show.Show (line GHC.Types.Word)) => GHC.Show.Show (Tax.Canada.Federal.Schedule11.Schedule11 line)
+ Tax.Canada.Federal.Schedule11: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.Shallow.Functor t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule11.Page1
+ Tax.Canada.Federal.Schedule11: instance (Transformation.Transformation t, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Word, Transformation.At t GHC.Types.Word, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule11.Page2
+ Tax.Canada.Federal.Schedule11: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.Shallow.Traversable t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule11.Page1
+ Tax.Canada.Federal.Schedule11: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Word, Transformation.At t GHC.Types.Word, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule11.Page2
+ Tax.Canada.Federal.Schedule11: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule11.Page1, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule11.Page2) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule11.Schedule11
+ Tax.Canada.Federal.Schedule11: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.Shallow.Foldable t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule11.Page1
+ Tax.Canada.Federal.Schedule11: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Word, Transformation.At t GHC.Types.Word, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule11.Page2
+ Tax.Canada.Federal.Schedule11: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule11.Page1, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule11.Page2) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule11.Schedule11
+ Tax.Canada.Federal.Schedule11: instance (Transformation.Transformation t, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule11.Page1, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule11.Page2) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule11.Schedule11
+ Tax.Canada.Federal.Schedule11: instance Rank2.Applicative Tax.Canada.Federal.Schedule11.Page1
+ Tax.Canada.Federal.Schedule11: instance Rank2.Applicative Tax.Canada.Federal.Schedule11.Page2
+ Tax.Canada.Federal.Schedule11: instance Rank2.Applicative Tax.Canada.Federal.Schedule11.Schedule11
+ Tax.Canada.Federal.Schedule11: instance Rank2.Apply Tax.Canada.Federal.Schedule11.Page1
+ Tax.Canada.Federal.Schedule11: instance Rank2.Apply Tax.Canada.Federal.Schedule11.Page2
+ Tax.Canada.Federal.Schedule11: instance Rank2.Apply Tax.Canada.Federal.Schedule11.Schedule11
+ Tax.Canada.Federal.Schedule11: instance Rank2.Distributive Tax.Canada.Federal.Schedule11.Page1
+ Tax.Canada.Federal.Schedule11: instance Rank2.Distributive Tax.Canada.Federal.Schedule11.Page2
+ Tax.Canada.Federal.Schedule11: instance Rank2.Distributive Tax.Canada.Federal.Schedule11.Schedule11
+ Tax.Canada.Federal.Schedule11: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule11.Page1
+ Tax.Canada.Federal.Schedule11: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule11.Page2
+ Tax.Canada.Federal.Schedule11: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule11.Schedule11
+ Tax.Canada.Federal.Schedule11: instance Rank2.Foldable Tax.Canada.Federal.Schedule11.Page1
+ Tax.Canada.Federal.Schedule11: instance Rank2.Foldable Tax.Canada.Federal.Schedule11.Page2
+ Tax.Canada.Federal.Schedule11: instance Rank2.Foldable Tax.Canada.Federal.Schedule11.Schedule11
+ Tax.Canada.Federal.Schedule11: instance Rank2.Functor Tax.Canada.Federal.Schedule11.Page1
+ Tax.Canada.Federal.Schedule11: instance Rank2.Functor Tax.Canada.Federal.Schedule11.Page2
+ Tax.Canada.Federal.Schedule11: instance Rank2.Functor Tax.Canada.Federal.Schedule11.Schedule11
+ Tax.Canada.Federal.Schedule11: instance Rank2.Logistic Tax.Canada.Federal.Schedule11.Page1
+ Tax.Canada.Federal.Schedule11: instance Rank2.Logistic Tax.Canada.Federal.Schedule11.Page2
+ Tax.Canada.Federal.Schedule11: instance Rank2.Logistic Tax.Canada.Federal.Schedule11.Schedule11
+ Tax.Canada.Federal.Schedule11: instance Rank2.Traversable Tax.Canada.Federal.Schedule11.Page1
+ Tax.Canada.Federal.Schedule11: instance Rank2.Traversable Tax.Canada.Federal.Schedule11.Page2
+ Tax.Canada.Federal.Schedule11: instance Rank2.Traversable Tax.Canada.Federal.Schedule11.Schedule11
+ Tax.Canada.Federal.Schedule11: page1Fields :: Page1 FieldConst
+ Tax.Canada.Federal.Schedule11: page2Fields :: Page2 FieldConst
+ Tax.Canada.Federal.Schedule11: schedule11Fields :: Schedule11 FieldConst
+ Tax.Canada.Federal.Schedule6: Page2 :: Questions line -> PartAColumn line -> PartAColumn line -> line Centi -> Page2 line
+ Tax.Canada.Federal.Schedule6: Page3 :: PartBColumn line -> PartBColumn line -> line Centi -> line Centi -> line Centi -> Page3 line
+ Tax.Canada.Federal.Schedule6: Page4 :: Step2 line -> Step3 line -> Page4 line
+ Tax.Canada.Federal.Schedule6: PartAColumn :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> PartAColumn line
+ Tax.Canada.Federal.Schedule6: PartBColumn :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> PartBColumn line
+ Tax.Canada.Federal.Schedule6: Questions :: line Bool -> line Bool -> line Bool -> line Bool -> line Bool -> line Bool -> Questions line
+ Tax.Canada.Federal.Schedule6: Schedule6 :: Page2 line -> Page3 line -> Page4 line -> Schedule6 line
+ Tax.Canada.Federal.Schedule6: Step2 :: line Centi -> line Centi -> line Centi -> line Rational -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Rational -> SubCalculation line -> line Centi -> Step2 line
+ Tax.Canada.Federal.Schedule6: Step3 :: line Centi -> line Centi -> line Centi -> line Rational -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Rational -> SubCalculation line -> line Centi -> line Centi -> line Centi -> Step3 line
+ Tax.Canada.Federal.Schedule6: [$sel:line10_sum:PartBColumn] :: PartBColumn line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line11_uccbRdspIncome:PartBColumn] :: PartBColumn line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line13_sum:Page3] :: Page3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line14_least:Page3] :: Page3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line15_difference:Page3] :: Page3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line16_copy:Step2] :: Step2 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line17_threshold:Step2] :: Step2 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line18_difference:Step2] :: Step2 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line19_rate:Step2] :: Step2 line -> line Rational
+ Tax.Canada.Federal.Schedule6: [$sel:line1_employmentIncome_copy:PartAColumn] :: PartAColumn line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line20_fraction:Step2] :: Step2 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line21_ceiling:Step2] :: Step2 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line22_least:Step2] :: Step2 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line23_copy:Step2] :: Step2 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line24_threshold:Step2] :: Step2 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line25_difference:Step2] :: Step2 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line26_rate:Step2] :: Step2 line -> line Rational
+ Tax.Canada.Federal.Schedule6: [$sel:line27_fraction:Step2] :: Step2 line -> SubCalculation line
+ Tax.Canada.Federal.Schedule6: [$sel:line28_difference:Step2] :: Step2 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line29_copy:Step3] :: Step3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line30_threshold:Step3] :: Step3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line31_difference:Step3] :: Step3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line32_rate:Step3] :: Step3 line -> line Rational
+ Tax.Canada.Federal.Schedule6: [$sel:line33_fraction:Step3] :: Step3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line34_capped:Step3] :: Step3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line35_copy:Step3] :: Step3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line36_threshold:Step3] :: Step3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line37_difference:Step3] :: Step3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line38_rate:Step3] :: Step3 line -> line Rational
+ Tax.Canada.Federal.Schedule6: [$sel:line39_fraction:Step3] :: Step3 line -> SubCalculation line
+ Tax.Canada.Federal.Schedule6: [$sel:line3_selfEmploymentIncome_sum:PartAColumn] :: PartAColumn line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line40_difference:Step3] :: Step3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line41_copy:Step3] :: Step3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line42_sum:Step3] :: Step3 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line6_sum:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line7_netIncome_copy:PartBColumn] :: PartBColumn line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line9_uccbRdspRepayments:PartBColumn] :: PartBColumn line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line_38100:Questions] :: Questions line -> line Bool
+ Tax.Canada.Federal.Schedule6: [$sel:line_38101:Questions] :: Questions line -> line Bool
+ Tax.Canada.Federal.Schedule6: [$sel:line_38102:Questions] :: Questions line -> line Bool
+ Tax.Canada.Federal.Schedule6: [$sel:line_38103:Questions] :: Questions line -> line Bool
+ Tax.Canada.Federal.Schedule6: [$sel:line_38104:Questions] :: Questions line -> line Bool
+ Tax.Canada.Federal.Schedule6: [$sel:line_38105:Questions] :: Questions line -> line Bool
+ Tax.Canada.Federal.Schedule6: [$sel:line_38106_grants_copy:PartAColumn] :: PartAColumn line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line_38107_exemptIncome:PartAColumn] :: PartAColumn line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line_38108_sum:PartAColumn] :: PartAColumn line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line_38109_exempt:PartBColumn] :: PartBColumn line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:line_38110_difference:PartBColumn] :: PartBColumn line -> line Centi
+ Tax.Canada.Federal.Schedule6: [$sel:page2:Schedule6] :: Schedule6 line -> Page2 line
+ Tax.Canada.Federal.Schedule6: [$sel:page3:Schedule6] :: Schedule6 line -> Page3 line
+ Tax.Canada.Federal.Schedule6: [$sel:page4:Schedule6] :: Schedule6 line -> Page4 line
+ Tax.Canada.Federal.Schedule6: [$sel:partA_self:Page2] :: Page2 line -> PartAColumn line
+ Tax.Canada.Federal.Schedule6: [$sel:partA_spouse:Page2] :: Page2 line -> PartAColumn line
+ Tax.Canada.Federal.Schedule6: [$sel:partB_self:Page3] :: Page3 line -> PartBColumn line
+ Tax.Canada.Federal.Schedule6: [$sel:partB_spouse:Page3] :: Page3 line -> PartBColumn line
+ Tax.Canada.Federal.Schedule6: [$sel:questions:Page2] :: Page2 line -> Questions line
+ Tax.Canada.Federal.Schedule6: [$sel:step2:Page4] :: Page4 line -> Step2 line
+ Tax.Canada.Federal.Schedule6: [$sel:step3:Page4] :: Page4 line -> Step3 line
+ Tax.Canada.Federal.Schedule6: data Page2 line
+ Tax.Canada.Federal.Schedule6: data Page3 line
+ Tax.Canada.Federal.Schedule6: data Page4 line
+ Tax.Canada.Federal.Schedule6: data PartAColumn line
+ Tax.Canada.Federal.Schedule6: data PartBColumn line
+ Tax.Canada.Federal.Schedule6: data Questions line
+ Tax.Canada.Federal.Schedule6: data Schedule6 line
+ Tax.Canada.Federal.Schedule6: data Step2 line
+ Tax.Canada.Federal.Schedule6: data Step3 line
+ Tax.Canada.Federal.Schedule6: fixPartAColumn :: T1 Maybe -> PartAColumn Maybe -> PartAColumn Maybe
+ Tax.Canada.Federal.Schedule6: fixPartBColumn :: T1 Maybe -> PartBColumn Maybe -> PartBColumn Maybe
+ Tax.Canada.Federal.Schedule6: fixSchedule6 :: Maybe (T1 Maybe) -> T1 Maybe -> Schedule6 Maybe -> Schedule6 Maybe
+ Tax.Canada.Federal.Schedule6: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule6.Page2 line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule6.Page3 line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule6.Page4 line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule6.PartAColumn line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule6.PartBColumn line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule6.Questions line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule6.Schedule6 line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule6.Step2 line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule6.Step3 line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule6.Page2 line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule6.Page3 line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule6.Page4 line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule6.PartAColumn line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule6.PartBColumn line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule6.Questions line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule6.Schedule6 line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule6.Step2 line)
+ Tax.Canada.Federal.Schedule6: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule6.Step3 line)
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.PartAColumn
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.PartBColumn
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.Shallow.Functor t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Step2
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.Shallow.Functor t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Step3
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Questions
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.PartAColumn
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.PartBColumn
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.Shallow.Traversable t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Step2
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.Shallow.Traversable t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Step3
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Questions
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Page2, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Page3, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Page4) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Schedule6
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.PartBColumn, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.PartBColumn, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Page3
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Questions, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.PartAColumn, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.PartAColumn, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Page2
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Step2, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Step3) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule6.Page4
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.PartAColumn
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.PartBColumn
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.Shallow.Foldable t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Step2
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.Shallow.Foldable t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Step3
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool, Transformation.At t GHC.Types.Bool) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Questions
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Page2, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Page3, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Page4) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Schedule6
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.PartBColumn, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.PartBColumn, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Page3
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Questions, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.PartAColumn, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.PartAColumn, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Page2
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Step2, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Step3) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule6.Page4
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Page2, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Page3, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Page4) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Schedule6
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.PartBColumn, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.PartBColumn, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Page3
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Questions, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.PartAColumn, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.PartAColumn, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Page2
+ Tax.Canada.Federal.Schedule6: instance (Transformation.Transformation t, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Step2, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Step3) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule6.Page4
+ Tax.Canada.Federal.Schedule6: instance Rank2.Applicative Tax.Canada.Federal.Schedule6.Page2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Applicative Tax.Canada.Federal.Schedule6.Page3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Applicative Tax.Canada.Federal.Schedule6.Page4
+ Tax.Canada.Federal.Schedule6: instance Rank2.Applicative Tax.Canada.Federal.Schedule6.PartAColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Applicative Tax.Canada.Federal.Schedule6.PartBColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Applicative Tax.Canada.Federal.Schedule6.Questions
+ Tax.Canada.Federal.Schedule6: instance Rank2.Applicative Tax.Canada.Federal.Schedule6.Schedule6
+ Tax.Canada.Federal.Schedule6: instance Rank2.Applicative Tax.Canada.Federal.Schedule6.Step2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Applicative Tax.Canada.Federal.Schedule6.Step3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Apply Tax.Canada.Federal.Schedule6.Page2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Apply Tax.Canada.Federal.Schedule6.Page3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Apply Tax.Canada.Federal.Schedule6.Page4
+ Tax.Canada.Federal.Schedule6: instance Rank2.Apply Tax.Canada.Federal.Schedule6.PartAColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Apply Tax.Canada.Federal.Schedule6.PartBColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Apply Tax.Canada.Federal.Schedule6.Questions
+ Tax.Canada.Federal.Schedule6: instance Rank2.Apply Tax.Canada.Federal.Schedule6.Schedule6
+ Tax.Canada.Federal.Schedule6: instance Rank2.Apply Tax.Canada.Federal.Schedule6.Step2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Apply Tax.Canada.Federal.Schedule6.Step3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Distributive Tax.Canada.Federal.Schedule6.Page2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Distributive Tax.Canada.Federal.Schedule6.Page3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Distributive Tax.Canada.Federal.Schedule6.Page4
+ Tax.Canada.Federal.Schedule6: instance Rank2.Distributive Tax.Canada.Federal.Schedule6.PartAColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Distributive Tax.Canada.Federal.Schedule6.PartBColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Distributive Tax.Canada.Federal.Schedule6.Questions
+ Tax.Canada.Federal.Schedule6: instance Rank2.Distributive Tax.Canada.Federal.Schedule6.Schedule6
+ Tax.Canada.Federal.Schedule6: instance Rank2.Distributive Tax.Canada.Federal.Schedule6.Step2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Distributive Tax.Canada.Federal.Schedule6.Step3
+ Tax.Canada.Federal.Schedule6: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule6.Page2
+ Tax.Canada.Federal.Schedule6: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule6.Page3
+ Tax.Canada.Federal.Schedule6: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule6.Page4
+ Tax.Canada.Federal.Schedule6: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule6.PartAColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule6.PartBColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule6.Questions
+ Tax.Canada.Federal.Schedule6: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule6.Schedule6
+ Tax.Canada.Federal.Schedule6: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule6.Step2
+ Tax.Canada.Federal.Schedule6: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule6.Step3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Foldable Tax.Canada.Federal.Schedule6.Page2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Foldable Tax.Canada.Federal.Schedule6.Page3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Foldable Tax.Canada.Federal.Schedule6.Page4
+ Tax.Canada.Federal.Schedule6: instance Rank2.Foldable Tax.Canada.Federal.Schedule6.PartAColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Foldable Tax.Canada.Federal.Schedule6.PartBColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Foldable Tax.Canada.Federal.Schedule6.Questions
+ Tax.Canada.Federal.Schedule6: instance Rank2.Foldable Tax.Canada.Federal.Schedule6.Schedule6
+ Tax.Canada.Federal.Schedule6: instance Rank2.Foldable Tax.Canada.Federal.Schedule6.Step2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Foldable Tax.Canada.Federal.Schedule6.Step3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Functor Tax.Canada.Federal.Schedule6.Page2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Functor Tax.Canada.Federal.Schedule6.Page3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Functor Tax.Canada.Federal.Schedule6.Page4
+ Tax.Canada.Federal.Schedule6: instance Rank2.Functor Tax.Canada.Federal.Schedule6.PartAColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Functor Tax.Canada.Federal.Schedule6.PartBColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Functor Tax.Canada.Federal.Schedule6.Questions
+ Tax.Canada.Federal.Schedule6: instance Rank2.Functor Tax.Canada.Federal.Schedule6.Schedule6
+ Tax.Canada.Federal.Schedule6: instance Rank2.Functor Tax.Canada.Federal.Schedule6.Step2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Functor Tax.Canada.Federal.Schedule6.Step3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Logistic Tax.Canada.Federal.Schedule6.Page2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Logistic Tax.Canada.Federal.Schedule6.Page3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Logistic Tax.Canada.Federal.Schedule6.Page4
+ Tax.Canada.Federal.Schedule6: instance Rank2.Logistic Tax.Canada.Federal.Schedule6.PartAColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Logistic Tax.Canada.Federal.Schedule6.PartBColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Logistic Tax.Canada.Federal.Schedule6.Questions
+ Tax.Canada.Federal.Schedule6: instance Rank2.Logistic Tax.Canada.Federal.Schedule6.Schedule6
+ Tax.Canada.Federal.Schedule6: instance Rank2.Logistic Tax.Canada.Federal.Schedule6.Step2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Logistic Tax.Canada.Federal.Schedule6.Step3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Traversable Tax.Canada.Federal.Schedule6.Page2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Traversable Tax.Canada.Federal.Schedule6.Page3
+ Tax.Canada.Federal.Schedule6: instance Rank2.Traversable Tax.Canada.Federal.Schedule6.Page4
+ Tax.Canada.Federal.Schedule6: instance Rank2.Traversable Tax.Canada.Federal.Schedule6.PartAColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Traversable Tax.Canada.Federal.Schedule6.PartBColumn
+ Tax.Canada.Federal.Schedule6: instance Rank2.Traversable Tax.Canada.Federal.Schedule6.Questions
+ Tax.Canada.Federal.Schedule6: instance Rank2.Traversable Tax.Canada.Federal.Schedule6.Schedule6
+ Tax.Canada.Federal.Schedule6: instance Rank2.Traversable Tax.Canada.Federal.Schedule6.Step2
+ Tax.Canada.Federal.Schedule6: instance Rank2.Traversable Tax.Canada.Federal.Schedule6.Step3
+ Tax.Canada.Federal.Schedule6: schedule6Fields :: Schedule6 FieldConst
+ Tax.Canada.Federal.Schedule7: Page2 :: line Centi -> line Centi -> line Centi -> SubCalculation line -> line Centi -> Page2 line
+ Tax.Canada.Federal.Schedule7: Page3 :: PartB line -> PartC line -> Page3 line
+ Tax.Canada.Federal.Schedule7: Page4 :: PartD line -> PartE line -> line Centi -> Page4 line
+ Tax.Canada.Federal.Schedule7: PartB :: line Centi -> line Centi -> line Centi -> SubCalculation line -> line Centi -> PartB line
+ Tax.Canada.Federal.Schedule7: PartC :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> PartC line
+ Tax.Canada.Federal.Schedule7: PartD :: line Centi -> line Centi -> line Centi -> PartD line
+ Tax.Canada.Federal.Schedule7: PartE :: line Centi -> line Bool -> line Centi -> line Bool -> PartE line
+ Tax.Canada.Federal.Schedule7: Schedule7 :: Page2 line -> Page3 line -> Page4 line -> Schedule7 line
+ Tax.Canada.Federal.Schedule7: [$sel:line10_difference:PartB] :: PartB line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line11_deductionLimit:PartC] :: PartC line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line12_prpp_copy:PartC] :: PartC line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line13_difference:PartC] :: PartC line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line14_copy:PartC] :: PartC line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line15_cont:PartC] :: PartC line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line16_difference:PartC] :: PartC line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line17_lesser:PartC] :: PartC line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line18_deducting:PartC] :: PartC line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line19_sum:PartC] :: PartC line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line1_pastUnused:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line20_deduction:PartC] :: PartC line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line21_copy:PartD] :: PartD line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line22_copy:PartD] :: PartD line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line23_difference:PartD] :: PartD line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line2_pastYearContributions:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line3_thisYearContributions:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line5_sum:Page2] :: Page2 line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line6_contributions_copy:PartB] :: PartB line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line9_repayments_sum:PartB] :: PartB line -> SubCalculation line
+ Tax.Canada.Federal.Schedule7: [$sel:line_24500_contributions_sum:Page2] :: Page2 line -> SubCalculation line
+ Tax.Canada.Federal.Schedule7: [$sel:line_24600_hbp:PartB] :: PartB line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line_24620_llp:PartB] :: PartB line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line_24640_transfers:PartC] :: PartC line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line_24700_hbp:PartE] :: PartE line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line_25900_hbpSame:PartE] :: PartE line -> line Bool
+ Tax.Canada.Federal.Schedule7: [$sel:line_26300_llp:PartE] :: PartE line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:line_26400_llpSpouse:PartE] :: PartE line -> line Bool
+ Tax.Canada.Federal.Schedule7: [$sel:line_26700_athleteTrust:Page4] :: Page4 line -> line Centi
+ Tax.Canada.Federal.Schedule7: [$sel:page2:Schedule7] :: Schedule7 line -> Page2 line
+ Tax.Canada.Federal.Schedule7: [$sel:page3:Schedule7] :: Schedule7 line -> Page3 line
+ Tax.Canada.Federal.Schedule7: [$sel:page4:Schedule7] :: Schedule7 line -> Page4 line
+ Tax.Canada.Federal.Schedule7: [$sel:partB:Page3] :: Page3 line -> PartB line
+ Tax.Canada.Federal.Schedule7: [$sel:partC:Page3] :: Page3 line -> PartC line
+ Tax.Canada.Federal.Schedule7: [$sel:partD:Page4] :: Page4 line -> PartD line
+ Tax.Canada.Federal.Schedule7: [$sel:partE:Page4] :: Page4 line -> PartE line
+ Tax.Canada.Federal.Schedule7: data Page2 line
+ Tax.Canada.Federal.Schedule7: data Page3 line
+ Tax.Canada.Federal.Schedule7: data Page4 line
+ Tax.Canada.Federal.Schedule7: data PartB line
+ Tax.Canada.Federal.Schedule7: data PartC line
+ Tax.Canada.Federal.Schedule7: data PartD line
+ Tax.Canada.Federal.Schedule7: data PartE line
+ Tax.Canada.Federal.Schedule7: data Schedule7 line
+ Tax.Canada.Federal.Schedule7: fixSchedule7 :: T1 Maybe -> Schedule7 Maybe -> Schedule7 Maybe
+ Tax.Canada.Federal.Schedule7: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule7.Page2 line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule7.Page3 line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule7.Page4 line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule7.PartB line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule7.PartC line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule7.PartD line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule7.PartE line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Classes.Eq (line GHC.Types.Bool), GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule7.Schedule7 line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule7.Page2 line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule7.Page3 line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule7.Page4 line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule7.PartB line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule7.PartC line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule7.PartD line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule7.PartE line)
+ Tax.Canada.Federal.Schedule7: instance (GHC.Show.Show (line GHC.Types.Bool), GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Federal.Schedule7.Schedule7 line)
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.PartD
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.PartC
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.Shallow.Functor t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.Page2
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.Shallow.Functor t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.PartB
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Types.Bool, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Types.Bool) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.PartE
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.PartD
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.PartC
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.Shallow.Traversable t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.Page2
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.Shallow.Traversable t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.PartB
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Types.Bool, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Types.Bool) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.PartE
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.Page2, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.Page3, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.Page4) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.Schedule7
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.PartB, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.PartC) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.Page3
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.PartD, Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.PartE, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule7.Page4
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.PartD
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.PartC
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.Shallow.Foldable t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.Page2
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.Shallow.Foldable t Tax.Canada.Shared.SubCalculation, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.PartB
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Types.Bool, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Types.Bool) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.PartE
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.Page2, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.Page3, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.Page4) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.Schedule7
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.PartB, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.PartC) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.Page3
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.PartD, Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.PartE, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule7.Page4
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.Page2, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.Page3, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.Page4) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.Schedule7
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.PartB, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.PartC) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.Page3
+ Tax.Canada.Federal.Schedule7: instance (Transformation.Transformation t, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.PartD, Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.PartE, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule7.Page4
+ Tax.Canada.Federal.Schedule7: instance Rank2.Applicative Tax.Canada.Federal.Schedule7.Page2
+ Tax.Canada.Federal.Schedule7: instance Rank2.Applicative Tax.Canada.Federal.Schedule7.Page3
+ Tax.Canada.Federal.Schedule7: instance Rank2.Applicative Tax.Canada.Federal.Schedule7.Page4
+ Tax.Canada.Federal.Schedule7: instance Rank2.Applicative Tax.Canada.Federal.Schedule7.PartB
+ Tax.Canada.Federal.Schedule7: instance Rank2.Applicative Tax.Canada.Federal.Schedule7.PartC
+ Tax.Canada.Federal.Schedule7: instance Rank2.Applicative Tax.Canada.Federal.Schedule7.PartD
+ Tax.Canada.Federal.Schedule7: instance Rank2.Applicative Tax.Canada.Federal.Schedule7.PartE
+ Tax.Canada.Federal.Schedule7: instance Rank2.Applicative Tax.Canada.Federal.Schedule7.Schedule7
+ Tax.Canada.Federal.Schedule7: instance Rank2.Apply Tax.Canada.Federal.Schedule7.Page2
+ Tax.Canada.Federal.Schedule7: instance Rank2.Apply Tax.Canada.Federal.Schedule7.Page3
+ Tax.Canada.Federal.Schedule7: instance Rank2.Apply Tax.Canada.Federal.Schedule7.Page4
+ Tax.Canada.Federal.Schedule7: instance Rank2.Apply Tax.Canada.Federal.Schedule7.PartB
+ Tax.Canada.Federal.Schedule7: instance Rank2.Apply Tax.Canada.Federal.Schedule7.PartC
+ Tax.Canada.Federal.Schedule7: instance Rank2.Apply Tax.Canada.Federal.Schedule7.PartD
+ Tax.Canada.Federal.Schedule7: instance Rank2.Apply Tax.Canada.Federal.Schedule7.PartE
+ Tax.Canada.Federal.Schedule7: instance Rank2.Apply Tax.Canada.Federal.Schedule7.Schedule7
+ Tax.Canada.Federal.Schedule7: instance Rank2.Distributive Tax.Canada.Federal.Schedule7.Page2
+ Tax.Canada.Federal.Schedule7: instance Rank2.Distributive Tax.Canada.Federal.Schedule7.Page3
+ Tax.Canada.Federal.Schedule7: instance Rank2.Distributive Tax.Canada.Federal.Schedule7.Page4
+ Tax.Canada.Federal.Schedule7: instance Rank2.Distributive Tax.Canada.Federal.Schedule7.PartB
+ Tax.Canada.Federal.Schedule7: instance Rank2.Distributive Tax.Canada.Federal.Schedule7.PartC
+ Tax.Canada.Federal.Schedule7: instance Rank2.Distributive Tax.Canada.Federal.Schedule7.PartD
+ Tax.Canada.Federal.Schedule7: instance Rank2.Distributive Tax.Canada.Federal.Schedule7.PartE
+ Tax.Canada.Federal.Schedule7: instance Rank2.Distributive Tax.Canada.Federal.Schedule7.Schedule7
+ Tax.Canada.Federal.Schedule7: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule7.Page2
+ Tax.Canada.Federal.Schedule7: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule7.Page3
+ Tax.Canada.Federal.Schedule7: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule7.Page4
+ Tax.Canada.Federal.Schedule7: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule7.PartB
+ Tax.Canada.Federal.Schedule7: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule7.PartC
+ Tax.Canada.Federal.Schedule7: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule7.PartD
+ Tax.Canada.Federal.Schedule7: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule7.PartE
+ Tax.Canada.Federal.Schedule7: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule7.Schedule7
+ Tax.Canada.Federal.Schedule7: instance Rank2.Foldable Tax.Canada.Federal.Schedule7.Page2
+ Tax.Canada.Federal.Schedule7: instance Rank2.Foldable Tax.Canada.Federal.Schedule7.Page3
+ Tax.Canada.Federal.Schedule7: instance Rank2.Foldable Tax.Canada.Federal.Schedule7.Page4
+ Tax.Canada.Federal.Schedule7: instance Rank2.Foldable Tax.Canada.Federal.Schedule7.PartB
+ Tax.Canada.Federal.Schedule7: instance Rank2.Foldable Tax.Canada.Federal.Schedule7.PartC
+ Tax.Canada.Federal.Schedule7: instance Rank2.Foldable Tax.Canada.Federal.Schedule7.PartD
+ Tax.Canada.Federal.Schedule7: instance Rank2.Foldable Tax.Canada.Federal.Schedule7.PartE
+ Tax.Canada.Federal.Schedule7: instance Rank2.Foldable Tax.Canada.Federal.Schedule7.Schedule7
+ Tax.Canada.Federal.Schedule7: instance Rank2.Functor Tax.Canada.Federal.Schedule7.Page2
+ Tax.Canada.Federal.Schedule7: instance Rank2.Functor Tax.Canada.Federal.Schedule7.Page3
+ Tax.Canada.Federal.Schedule7: instance Rank2.Functor Tax.Canada.Federal.Schedule7.Page4
+ Tax.Canada.Federal.Schedule7: instance Rank2.Functor Tax.Canada.Federal.Schedule7.PartB
+ Tax.Canada.Federal.Schedule7: instance Rank2.Functor Tax.Canada.Federal.Schedule7.PartC
+ Tax.Canada.Federal.Schedule7: instance Rank2.Functor Tax.Canada.Federal.Schedule7.PartD
+ Tax.Canada.Federal.Schedule7: instance Rank2.Functor Tax.Canada.Federal.Schedule7.PartE
+ Tax.Canada.Federal.Schedule7: instance Rank2.Functor Tax.Canada.Federal.Schedule7.Schedule7
+ Tax.Canada.Federal.Schedule7: instance Rank2.Logistic Tax.Canada.Federal.Schedule7.Page2
+ Tax.Canada.Federal.Schedule7: instance Rank2.Logistic Tax.Canada.Federal.Schedule7.Page3
+ Tax.Canada.Federal.Schedule7: instance Rank2.Logistic Tax.Canada.Federal.Schedule7.Page4
+ Tax.Canada.Federal.Schedule7: instance Rank2.Logistic Tax.Canada.Federal.Schedule7.PartB
+ Tax.Canada.Federal.Schedule7: instance Rank2.Logistic Tax.Canada.Federal.Schedule7.PartC
+ Tax.Canada.Federal.Schedule7: instance Rank2.Logistic Tax.Canada.Federal.Schedule7.PartD
+ Tax.Canada.Federal.Schedule7: instance Rank2.Logistic Tax.Canada.Federal.Schedule7.PartE
+ Tax.Canada.Federal.Schedule7: instance Rank2.Logistic Tax.Canada.Federal.Schedule7.Schedule7
+ Tax.Canada.Federal.Schedule7: instance Rank2.Traversable Tax.Canada.Federal.Schedule7.Page2
+ Tax.Canada.Federal.Schedule7: instance Rank2.Traversable Tax.Canada.Federal.Schedule7.Page3
+ Tax.Canada.Federal.Schedule7: instance Rank2.Traversable Tax.Canada.Federal.Schedule7.Page4
+ Tax.Canada.Federal.Schedule7: instance Rank2.Traversable Tax.Canada.Federal.Schedule7.PartB
+ Tax.Canada.Federal.Schedule7: instance Rank2.Traversable Tax.Canada.Federal.Schedule7.PartC
+ Tax.Canada.Federal.Schedule7: instance Rank2.Traversable Tax.Canada.Federal.Schedule7.PartD
+ Tax.Canada.Federal.Schedule7: instance Rank2.Traversable Tax.Canada.Federal.Schedule7.PartE
+ Tax.Canada.Federal.Schedule7: instance Rank2.Traversable Tax.Canada.Federal.Schedule7.Schedule7
+ Tax.Canada.Federal.Schedule7: schedule7Fields :: Schedule7 FieldConst
+ Tax.Canada.Federal.Schedule9: Schedule9 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Schedule9 line
+ Tax.Canada.Federal.Schedule9: [$sel:line12_sum:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line13_min:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line14_difference:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line16_difference:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line17_copy:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line18_threshold:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line19_difference:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line1_charities:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line20_fraction:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line20_min:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line21_difference:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line21_fraction:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line22_copy:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line22_fraction:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line23_sum:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line5_sum:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line6_copy:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line6_fraction:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line7_fraction:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line7_sum:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line8_sum:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line9_limit:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:lineE_copy:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line_32900_government:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line_33300_universities:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line_33400_UN:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line_33700_depreciable:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line_33900_capital:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line_34000_allowable:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line_34200_ecocultural:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: [$sel:line_34210_ecological:Schedule9] :: Schedule9 line -> line Centi
+ Tax.Canada.Federal.Schedule9: data Schedule9 line
+ Tax.Canada.Federal.Schedule9: fixSchedule9 :: T1 Maybe -> Schedule9 Maybe -> Schedule9 Maybe
+ Tax.Canada.Federal.Schedule9: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Federal.Schedule9.Schedule9
+ Tax.Canada.Federal.Schedule9: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Federal.Schedule9.Schedule9
+ Tax.Canada.Federal.Schedule9: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Federal.Schedule9.Schedule9
+ Tax.Canada.Federal.Schedule9: instance GHC.Classes.Eq (line Data.Fixed.Centi) => GHC.Classes.Eq (Tax.Canada.Federal.Schedule9.Schedule9 line)
+ Tax.Canada.Federal.Schedule9: instance GHC.Show.Show (line Data.Fixed.Centi) => GHC.Show.Show (Tax.Canada.Federal.Schedule9.Schedule9 line)
+ Tax.Canada.Federal.Schedule9: instance Rank2.Applicative Tax.Canada.Federal.Schedule9.Schedule9
+ Tax.Canada.Federal.Schedule9: instance Rank2.Apply Tax.Canada.Federal.Schedule9.Schedule9
+ Tax.Canada.Federal.Schedule9: instance Rank2.Distributive Tax.Canada.Federal.Schedule9.Schedule9
+ Tax.Canada.Federal.Schedule9: instance Rank2.DistributiveTraversable Tax.Canada.Federal.Schedule9.Schedule9
+ Tax.Canada.Federal.Schedule9: instance Rank2.Foldable Tax.Canada.Federal.Schedule9.Schedule9
+ Tax.Canada.Federal.Schedule9: instance Rank2.Functor Tax.Canada.Federal.Schedule9.Schedule9
+ Tax.Canada.Federal.Schedule9: instance Rank2.Logistic Tax.Canada.Federal.Schedule9.Schedule9
+ Tax.Canada.Federal.Schedule9: instance Rank2.Traversable Tax.Canada.Federal.Schedule9.Schedule9
+ Tax.Canada.Federal.Schedule9: schedule9Fields :: Schedule9 FieldConst
+ Tax.Canada.Province.AB: ab428Fields :: AB428 FieldConst
+ Tax.Canada.Province.AB: data AB428 line
+ Tax.Canada.Province.AB: fixAB428 :: AB428 Maybe -> AB428 Maybe
+ Tax.Canada.Province.AB: fixReturns :: Returns Maybe -> Returns Maybe
+ Tax.Canada.Province.AB: returnFields :: Returns FieldConst
+ Tax.Canada.Province.AB: t1Fields :: T1 FieldConst
+ Tax.Canada.Province.BC: bc428Fields :: BC428 FieldConst
+ Tax.Canada.Province.BC: bc479Fields :: BC479 FieldConst
+ Tax.Canada.Province.BC: data BC428 line
+ Tax.Canada.Province.BC: fixBC428 :: BC428 Maybe -> BC428 Maybe
+ Tax.Canada.Province.BC: fixBC479 :: BC479 Maybe -> BC479 Maybe
+ Tax.Canada.Province.BC: fixReturns :: Returns Maybe -> Returns Maybe
+ Tax.Canada.Province.BC: instance (GHC.Classes.Eq (Tax.Canada.Federal.Forms line), GHC.Classes.Eq (Tax.Canada.Province.BC.BC428.Types.BC428 line), GHC.Classes.Eq (Tax.Canada.Province.BC.BC479.Types.BC479 line)) => GHC.Classes.Eq (Tax.Canada.Province.BC.Returns line)
+ Tax.Canada.Province.BC: instance (GHC.Show.Show (Tax.Canada.Federal.Forms line), GHC.Show.Show (Tax.Canada.Province.BC.BC428.Types.BC428 line), GHC.Show.Show (Tax.Canada.Province.BC.BC479.Types.BC479 line)) => GHC.Show.Show (Tax.Canada.Province.BC.Returns line)
+ Tax.Canada.Province.BC: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.Shallow.Traversable t Tax.Canada.Federal.Forms, Transformation.Shallow.Traversable t Tax.Canada.Province.BC.BC428.Types.BC428, Transformation.Shallow.Traversable t Tax.Canada.Province.BC.BC479.Types.BC479) => Transformation.Shallow.Traversable t Tax.Canada.Province.BC.Returns
+ Tax.Canada.Province.BC: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.Shallow.Foldable t Tax.Canada.Federal.Forms, Transformation.Shallow.Foldable t Tax.Canada.Province.BC.BC428.Types.BC428, Transformation.Shallow.Foldable t Tax.Canada.Province.BC.BC479.Types.BC479) => Transformation.Shallow.Foldable t Tax.Canada.Province.BC.Returns
+ Tax.Canada.Province.BC: instance (Transformation.Transformation t, Transformation.Shallow.Functor t Tax.Canada.Federal.Forms, Transformation.Shallow.Functor t Tax.Canada.Province.BC.BC428.Types.BC428, Transformation.Shallow.Functor t Tax.Canada.Province.BC.BC479.Types.BC479) => Transformation.Shallow.Functor t Tax.Canada.Province.BC.Returns
+ Tax.Canada.Province.BC: instance Rank2.Applicative Tax.Canada.Province.BC.Returns
+ Tax.Canada.Province.BC: instance Rank2.Apply Tax.Canada.Province.BC.Returns
+ Tax.Canada.Province.BC: instance Rank2.Distributive Tax.Canada.Province.BC.Returns
+ Tax.Canada.Province.BC: instance Rank2.DistributiveTraversable Tax.Canada.Province.BC.Returns
+ Tax.Canada.Province.BC: instance Rank2.Foldable Tax.Canada.Province.BC.Returns
+ Tax.Canada.Province.BC: instance Rank2.Functor Tax.Canada.Province.BC.Returns
+ Tax.Canada.Province.BC: instance Rank2.Logistic Tax.Canada.Province.BC.Returns
+ Tax.Canada.Province.BC: instance Rank2.Traversable Tax.Canada.Province.BC.Returns
+ Tax.Canada.Province.BC: returnFields :: Returns FieldConst
+ Tax.Canada.Province.BC: t1Fields :: T1 FieldConst
+ Tax.Canada.Province.MB: data MB428 line
+ Tax.Canada.Province.MB: fixMB428 :: MB428 Maybe -> MB428 Maybe
+ Tax.Canada.Province.MB: fixReturns :: Returns Maybe -> Returns Maybe
+ Tax.Canada.Province.MB: mb428Fields :: MB428 FieldConst
+ Tax.Canada.Province.MB: returnFields :: Returns FieldConst
+ Tax.Canada.Province.MB: t1Fields :: T1 FieldConst
+ Tax.Canada.Province.NB: t1Fields :: T1 FieldConst
+ Tax.Canada.Province.NL: t1Fields :: T1 FieldConst
+ Tax.Canada.Province.ON: Returns :: Forms line -> ON428 line -> ON479 line -> Returns line
+ Tax.Canada.Province.ON: [$sel:federal:Returns] :: Returns line -> Forms line
+ Tax.Canada.Province.ON: [$sel:on428:Returns] :: Returns line -> ON428 line
+ Tax.Canada.Province.ON: [$sel:on479:Returns] :: Returns line -> ON479 line
+ Tax.Canada.Province.ON: data ON428 line
+ Tax.Canada.Province.ON: data ON479 line
+ Tax.Canada.Province.ON: data Returns line
+ Tax.Canada.Province.ON: fixON428 :: ON428 Maybe -> ON428 Maybe
+ Tax.Canada.Province.ON: fixON479 :: ON479 Maybe -> ON479 Maybe
+ Tax.Canada.Province.ON: fixReturns :: Returns Maybe -> Returns Maybe
+ Tax.Canada.Province.ON: instance (GHC.Classes.Eq (Tax.Canada.Federal.Forms line), GHC.Classes.Eq (Tax.Canada.Province.ON.ON428.Types.ON428 line), GHC.Classes.Eq (Tax.Canada.Province.ON.ON479.Types.ON479 line)) => GHC.Classes.Eq (Tax.Canada.Province.ON.Returns line)
+ Tax.Canada.Province.ON: instance (GHC.Show.Show (Tax.Canada.Federal.Forms line), GHC.Show.Show (Tax.Canada.Province.ON.ON428.Types.ON428 line), GHC.Show.Show (Tax.Canada.Province.ON.ON479.Types.ON479 line)) => GHC.Show.Show (Tax.Canada.Province.ON.Returns line)
+ Tax.Canada.Province.ON: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.Shallow.Traversable t Tax.Canada.Federal.Forms, Transformation.Shallow.Traversable t Tax.Canada.Province.ON.ON428.Types.ON428, Transformation.Shallow.Traversable t Tax.Canada.Province.ON.ON479.Types.ON479) => Transformation.Shallow.Traversable t Tax.Canada.Province.ON.Returns
+ Tax.Canada.Province.ON: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.Shallow.Foldable t Tax.Canada.Federal.Forms, Transformation.Shallow.Foldable t Tax.Canada.Province.ON.ON428.Types.ON428, Transformation.Shallow.Foldable t Tax.Canada.Province.ON.ON479.Types.ON479) => Transformation.Shallow.Foldable t Tax.Canada.Province.ON.Returns
+ Tax.Canada.Province.ON: instance (Transformation.Transformation t, Transformation.Shallow.Functor t Tax.Canada.Federal.Forms, Transformation.Shallow.Functor t Tax.Canada.Province.ON.ON428.Types.ON428, Transformation.Shallow.Functor t Tax.Canada.Province.ON.ON479.Types.ON479) => Transformation.Shallow.Functor t Tax.Canada.Province.ON.Returns
+ Tax.Canada.Province.ON: instance Rank2.Applicative Tax.Canada.Province.ON.Returns
+ Tax.Canada.Province.ON: instance Rank2.Apply Tax.Canada.Province.ON.Returns
+ Tax.Canada.Province.ON: instance Rank2.Distributive Tax.Canada.Province.ON.Returns
+ Tax.Canada.Province.ON: instance Rank2.DistributiveTraversable Tax.Canada.Province.ON.Returns
+ Tax.Canada.Province.ON: instance Rank2.Foldable Tax.Canada.Province.ON.Returns
+ Tax.Canada.Province.ON: instance Rank2.Functor Tax.Canada.Province.ON.Returns
+ Tax.Canada.Province.ON: instance Rank2.Logistic Tax.Canada.Province.ON.Returns
+ Tax.Canada.Province.ON: instance Rank2.Traversable Tax.Canada.Province.ON.Returns
+ Tax.Canada.Province.ON: on428Fields :: ON428 FieldConst
+ Tax.Canada.Province.ON: on479Fields :: ON479 FieldConst
+ Tax.Canada.Province.ON: returnFields :: Returns FieldConst
+ Tax.Canada.Province.ON: t1Fields :: T1 FieldConst
+ Tax.Canada.Province.PE: t1Fields :: T1 FieldConst
+ Tax.Canada.Province.QC: t1Fields :: T1 FieldConst
+ Tax.Canada.Shared: BaseCredit :: line Centi -> line Centi -> line Centi -> line Centi -> BaseCredit line
+ Tax.Canada.Shared: MedicalExpenses :: line Centi -> line Centi -> line Rational -> line Centi -> line Centi -> line Centi -> MedicalExpenses line
+ Tax.Canada.Shared: SubCalculation :: line Centi -> line Centi -> SubCalculation line
+ Tax.Canada.Shared: TaxIncomeBracket :: line Centi -> line Centi -> line Centi -> line Rational -> line Centi -> line Centi -> line Centi -> TaxIncomeBracket line
+ Tax.Canada.Shared: [$sel:baseAmount:BaseCredit] :: BaseCredit line -> line Centi
+ Tax.Canada.Shared: [$sel:baseTax:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
+ Tax.Canada.Shared: [$sel:calculation:SubCalculation] :: SubCalculation line -> line Centi
+ Tax.Canada.Shared: [$sel:cont:BaseCredit] :: BaseCredit line -> line Centi
+ Tax.Canada.Shared: [$sel:difference:BaseCredit] :: BaseCredit line -> line Centi
+ Tax.Canada.Shared: [$sel:difference:MedicalExpenses] :: MedicalExpenses line -> line Centi
+ Tax.Canada.Shared: [$sel:equalsTax:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
+ Tax.Canada.Shared: [$sel:expenses:MedicalExpenses] :: MedicalExpenses line -> line Centi
+ Tax.Canada.Shared: [$sel:fraction:MedicalExpenses] :: MedicalExpenses line -> line Centi
+ Tax.Canada.Shared: [$sel:income:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
+ Tax.Canada.Shared: [$sel:incomeRate:MedicalExpenses] :: MedicalExpenses line -> line Rational
+ Tax.Canada.Shared: [$sel:lesser:MedicalExpenses] :: MedicalExpenses line -> line Centi
+ Tax.Canada.Shared: [$sel:netIncome:MedicalExpenses] :: MedicalExpenses line -> line Centi
+ Tax.Canada.Shared: [$sel:overThreshold:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
+ Tax.Canada.Shared: [$sel:rate:TaxIncomeBracket] :: TaxIncomeBracket line -> line Rational
+ Tax.Canada.Shared: [$sel:reduction:BaseCredit] :: BaseCredit line -> line Centi
+ Tax.Canada.Shared: [$sel:result:SubCalculation] :: SubCalculation line -> line Centi
+ Tax.Canada.Shared: [$sel:threshold:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
+ Tax.Canada.Shared: [$sel:timesRate:TaxIncomeBracket] :: TaxIncomeBracket line -> line Centi
+ Tax.Canada.Shared: data BaseCredit line
+ Tax.Canada.Shared: data MedicalExpenses line
+ Tax.Canada.Shared: data SubCalculation line
+ Tax.Canada.Shared: data TaxIncomeBracket line
+ Tax.Canada.Shared: fixBaseCredit :: BaseCredit Maybe -> BaseCredit Maybe
+ Tax.Canada.Shared: fixMedicalExpenses :: Centi -> MedicalExpenses Maybe -> MedicalExpenses Maybe
+ Tax.Canada.Shared: fixSubCalculation :: Maybe Centi -> SubCalculation Maybe
+ Tax.Canada.Shared: fixTaxIncomeBracket :: Maybe Centi -> Maybe (TaxIncomeBracket Maybe) -> TaxIncomeBracket Maybe -> TaxIncomeBracket Maybe
+ Tax.Canada.Shared: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Shared.BaseCredit line)
+ Tax.Canada.Shared: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Shared.MedicalExpenses line)
+ Tax.Canada.Shared: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Shared.SubCalculation line)
+ Tax.Canada.Shared: instance (GHC.Classes.Eq (line Data.Fixed.Centi), GHC.Classes.Eq (line GHC.Real.Rational)) => GHC.Classes.Eq (Tax.Canada.Shared.TaxIncomeBracket line)
+ Tax.Canada.Shared: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Shared.BaseCredit line)
+ Tax.Canada.Shared: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Shared.MedicalExpenses line)
+ Tax.Canada.Shared: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Shared.SubCalculation line)
+ Tax.Canada.Shared: instance (GHC.Show.Show (line Data.Fixed.Centi), GHC.Show.Show (line GHC.Real.Rational)) => GHC.Show.Show (Tax.Canada.Shared.TaxIncomeBracket line)
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Shared.SubCalculation
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Shared.BaseCredit
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Shared.TaxIncomeBracket
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Functor t Tax.Canada.Shared.MedicalExpenses
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Shared.SubCalculation
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Shared.BaseCredit
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Shared.TaxIncomeBracket
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Compose.Compose m f, GHC.Base.Applicative m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Traversable t Tax.Canada.Shared.MedicalExpenses
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Shared.SubCalculation
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Shared.BaseCredit
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Shared.TaxIncomeBracket
+ Tax.Canada.Shared: instance (Transformation.Transformation t, Transformation.Codomain t GHC.Types.~ Data.Functor.Const.Const m, GHC.Base.Monoid m, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t GHC.Real.Rational, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi, Transformation.At t Data.Fixed.Centi) => Transformation.Shallow.Foldable t Tax.Canada.Shared.MedicalExpenses
+ Tax.Canada.Shared: instance Rank2.Applicative Tax.Canada.Shared.BaseCredit
+ Tax.Canada.Shared: instance Rank2.Applicative Tax.Canada.Shared.MedicalExpenses
+ Tax.Canada.Shared: instance Rank2.Applicative Tax.Canada.Shared.SubCalculation
+ Tax.Canada.Shared: instance Rank2.Applicative Tax.Canada.Shared.TaxIncomeBracket
+ Tax.Canada.Shared: instance Rank2.Apply Tax.Canada.Shared.BaseCredit
+ Tax.Canada.Shared: instance Rank2.Apply Tax.Canada.Shared.MedicalExpenses
+ Tax.Canada.Shared: instance Rank2.Apply Tax.Canada.Shared.SubCalculation
+ Tax.Canada.Shared: instance Rank2.Apply Tax.Canada.Shared.TaxIncomeBracket
+ Tax.Canada.Shared: instance Rank2.Distributive Tax.Canada.Shared.BaseCredit
+ Tax.Canada.Shared: instance Rank2.Distributive Tax.Canada.Shared.MedicalExpenses
+ Tax.Canada.Shared: instance Rank2.Distributive Tax.Canada.Shared.SubCalculation
+ Tax.Canada.Shared: instance Rank2.Distributive Tax.Canada.Shared.TaxIncomeBracket
+ Tax.Canada.Shared: instance Rank2.DistributiveTraversable Tax.Canada.Shared.BaseCredit
+ Tax.Canada.Shared: instance Rank2.DistributiveTraversable Tax.Canada.Shared.MedicalExpenses
+ Tax.Canada.Shared: instance Rank2.DistributiveTraversable Tax.Canada.Shared.SubCalculation
+ Tax.Canada.Shared: instance Rank2.DistributiveTraversable Tax.Canada.Shared.TaxIncomeBracket
+ Tax.Canada.Shared: instance Rank2.Foldable Tax.Canada.Shared.BaseCredit
+ Tax.Canada.Shared: instance Rank2.Foldable Tax.Canada.Shared.MedicalExpenses
+ Tax.Canada.Shared: instance Rank2.Foldable Tax.Canada.Shared.SubCalculation
+ Tax.Canada.Shared: instance Rank2.Foldable Tax.Canada.Shared.TaxIncomeBracket
+ Tax.Canada.Shared: instance Rank2.Functor Tax.Canada.Shared.BaseCredit
+ Tax.Canada.Shared: instance Rank2.Functor Tax.Canada.Shared.MedicalExpenses
+ Tax.Canada.Shared: instance Rank2.Functor Tax.Canada.Shared.SubCalculation
+ Tax.Canada.Shared: instance Rank2.Functor Tax.Canada.Shared.TaxIncomeBracket
+ Tax.Canada.Shared: instance Rank2.Logistic Tax.Canada.Shared.BaseCredit
+ Tax.Canada.Shared: instance Rank2.Logistic Tax.Canada.Shared.MedicalExpenses
+ Tax.Canada.Shared: instance Rank2.Logistic Tax.Canada.Shared.SubCalculation
+ Tax.Canada.Shared: instance Rank2.Logistic Tax.Canada.Shared.TaxIncomeBracket
+ Tax.Canada.Shared: instance Rank2.Traversable Tax.Canada.Shared.BaseCredit
+ Tax.Canada.Shared: instance Rank2.Traversable Tax.Canada.Shared.MedicalExpenses
+ Tax.Canada.Shared: instance Rank2.Traversable Tax.Canada.Shared.SubCalculation
+ Tax.Canada.Shared: instance Rank2.Traversable Tax.Canada.Shared.TaxIncomeBracket
+ Tax.Canada.Shared: subCalculationFields :: Text -> [Text] -> [Text] -> SubCalculation FieldConst
+ Tax.Canada.T1: Divorced :: MaritalStatus
+ Tax.Canada.T1: ElectionsCanada :: line Bool -> line Bool -> ElectionsCanada line
+ Tax.Canada.T1: English :: LanguageOfCorrespondence
+ Tax.Canada.T1: French :: LanguageOfCorrespondence
+ Tax.Canada.T1: Identification :: line Text -> line Day -> line Text -> line LanguageOfCorrespondence -> line Text -> line Text -> line Text -> line Day -> line Text -> line Text -> line MaritalStatus -> line Text -> line Text -> line Code -> Identification line
+ Tax.Canada.T1: LivingCommonLaw :: MaritalStatus
+ Tax.Canada.T1: Married :: MaritalStatus
+ Tax.Canada.T1: MedicalExpenses :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> MedicalExpenses line
+ Tax.Canada.T1: Page1 :: Identification line -> Residence line -> Spouse line -> Page1 line
+ Tax.Canada.T1: Page2 :: line Bool -> line Bool -> ElectionsCanada line -> line Bool -> line Bool -> Page2 line
+ Tax.Canada.T1: Page3 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Text -> line Centi -> line Centi -> SelfEmploymentIncome line -> SubCalculation line -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page3 line
+ Tax.Canada.T1: Page4 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Text -> SubCalculation line -> line Centi -> line Centi -> line Centi -> Page4 line
+ Tax.Canada.T1: Page5 :: Step4 line -> Page5PartA line -> Page5PartB line -> Page5 line
+ Tax.Canada.T1: Page5PartA :: TaxIncomeBracket line -> TaxIncomeBracket line -> TaxIncomeBracket line -> TaxIncomeBracket line -> TaxIncomeBracket line -> Page5PartA line
+ Tax.Canada.T1: Page5PartB :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Word -> line Centi -> line Centi -> Page5PartB line
+ Tax.Canada.T1: Page6 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> SubCalculation line -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> MedicalExpenses line -> SubCalculation line -> line Centi -> line Rational -> line Centi -> line Centi -> line Centi -> Page6 line
+ Tax.Canada.T1: Page7 :: Page7PartC line -> Page7Step6 line -> Page7 line
+ Tax.Canada.T1: Page7PartC :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> SubCalculation line -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> SubCalculation line -> line Centi -> line Centi -> line Centi -> line Centi -> Page7PartC line
+ Tax.Canada.T1: Page7Step6 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> Page7Step6 line
+ Tax.Canada.T1: Page8 :: Page8Step6 line -> line Centi -> line Centi -> line Centi -> line Centi -> TaxPreparer line -> line Centi -> line Centi -> line Centi -> Page8 line
+ Tax.Canada.T1: Page8Step6 :: line Centi -> line Centi -> line Centi -> SubCalculation line -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> SubCalculation line -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> SubCalculation line -> line Centi -> Page8Step6 line
+ Tax.Canada.T1: Residence :: line Text -> line Code -> line Code -> line Day -> line Day -> Residence line
+ Tax.Canada.T1: SelfEmploymentIncome :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> SelfEmploymentIncome line
+ Tax.Canada.T1: Separated :: MaritalStatus
+ Tax.Canada.T1: Single :: MaritalStatus
+ Tax.Canada.T1: Spouse :: line Centi -> line Bool -> line Text -> line Centi -> line Centi -> line Text -> Spouse line
+ Tax.Canada.T1: Step4 :: line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Centi -> line Text -> SubCalculation line -> line Centi -> Step4 line
+ Tax.Canada.T1: T1 :: Page1 line -> Page2 line -> Page3 line -> Page4 line -> Page5 line -> Page6 line -> Page7 line -> Page8 line -> T1 line
+ Tax.Canada.T1: TaxPreparer :: line Text -> line Text -> line Text -> line Bool -> TaxPreparer line
+ Tax.Canada.T1: Widowed :: MaritalStatus
+ Tax.Canada.T1: [$sel:authorization:ElectionsCanada] :: ElectionsCanada line -> line Bool
+ Tax.Canada.T1: [$sel:cai:Page2] :: Page2 line -> line Bool
+ Tax.Canada.T1: [$sel:citizenship:ElectionsCanada] :: ElectionsCanada line -> line Bool
+ Tax.Canada.T1: [$sel:column1:Page5PartA] :: Page5PartA line -> TaxIncomeBracket line
+ Tax.Canada.T1: [$sel:column2:Page5PartA] :: Page5PartA line -> TaxIncomeBracket line
+ Tax.Canada.T1: [$sel:column3:Page5PartA] :: Page5PartA line -> TaxIncomeBracket line
+ Tax.Canada.T1: [$sel:column4:Page5PartA] :: Page5PartA line -> TaxIncomeBracket line
+ Tax.Canada.T1: [$sel:column5:Page5PartA] :: Page5PartA line -> TaxIncomeBracket line
+ Tax.Canada.T1: [$sel:date:Page8] :: Page8 line -> line Centi
+ Tax.Canada.T1: [$sel:dateBirth:Identification] :: Identification line -> line Day
+ Tax.Canada.T1: [$sel:dateDeath:Identification] :: Identification line -> line Day
+ Tax.Canada.T1: [$sel:date_Departure:Residence] :: Residence line -> line Day
+ Tax.Canada.T1: [$sel:date_Entry:Residence] :: Residence line -> line Day
+ Tax.Canada.T1: [$sel:difference:MedicalExpenses] :: MedicalExpenses line -> line Centi
+ Tax.Canada.T1: [$sel:eFileNumber:TaxPreparer] :: TaxPreparer line -> line Text
+ Tax.Canada.T1: [$sel:electionsCanada:Page2] :: Page2 line -> ElectionsCanada line
+ Tax.Canada.T1: [$sel:emailAddress:Identification] :: Identification line -> line Text
+ Tax.Canada.T1: [$sel:familyExpenses:MedicalExpenses] :: MedicalExpenses line -> line Centi
+ Tax.Canada.T1: [$sel:foreign_property:Page2] :: Page2 line -> line Bool
+ Tax.Canada.T1: [$sel:id_City:Identification] :: Identification line -> line Text
+ Tax.Canada.T1: [$sel:id_FirstNameInitial:Identification] :: Identification line -> line Text
+ Tax.Canada.T1: [$sel:id_LastName:Identification] :: Identification line -> line Text
+ Tax.Canada.T1: [$sel:id_MailingAddress:Identification] :: Identification line -> line Text
+ Tax.Canada.T1: [$sel:id_POBox:Identification] :: Identification line -> line Text
+ Tax.Canada.T1: [$sel:id_RuralRoute:Identification] :: Identification line -> line Text
+ Tax.Canada.T1: [$sel:identification:Page1] :: Page1 line -> Identification line
+ Tax.Canada.T1: [$sel:line104:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line112:Page6] :: Page6 line -> line Rational
+ Tax.Canada.T1: [$sel:line116:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line11700:Spouse] :: Spouse line -> line Centi
+ Tax.Canada.T1: [$sel:line119:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line122_sum:Page7PartC] :: Page7PartC line -> SubCalculation line
+ Tax.Canada.T1: [$sel:line124:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line125:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line127:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line128:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line129:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line130:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line140:Page7Step6] :: Page7Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line164_Refund_or_BalanceOwing:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line21300:Spouse] :: Spouse line -> line Centi
+ Tax.Canada.T1: [$sel:line23600:Spouse] :: Spouse line -> line Centi
+ Tax.Canada.T1: [$sel:line30000:Page5PartB] :: Page5PartB line -> line Centi
+ Tax.Canada.T1: [$sel:line30100:Page5PartB] :: Page5PartB line -> line Centi
+ Tax.Canada.T1: [$sel:line30300:Page5PartB] :: Page5PartB line -> line Centi
+ Tax.Canada.T1: [$sel:line30400:Page5PartB] :: Page5PartB line -> line Centi
+ Tax.Canada.T1: [$sel:line30425:Page5PartB] :: Page5PartB line -> line Centi
+ Tax.Canada.T1: [$sel:line30450:Page5PartB] :: Page5PartB line -> line Centi
+ Tax.Canada.T1: [$sel:line30499_ChildrenNum:Page5PartB] :: Page5PartB line -> line Word
+ Tax.Canada.T1: [$sel:line30500:Page5PartB] :: Page5PartB line -> line Centi
+ Tax.Canada.T1: [$sel:line30800:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31000:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31200:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31205:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31210:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31215:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31217:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31220:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31240:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31260:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31270:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31285:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31300:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31350:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31400:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31600:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31800:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line31900:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line32300:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line32400:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line32600:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line33200_sum:Page6] :: Page6 line -> SubCalculation line
+ Tax.Canada.T1: [$sel:line33500:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line33800:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line34900:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line35000:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line40400:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line40424:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line40425:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line40427:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line40500:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line40600:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line40900:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line41000:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line41200:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line41300:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line41400:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line41500:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line41600_sum:Page7PartC] :: Page7PartC line -> SubCalculation line
+ Tax.Canada.T1: [$sel:line41700:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line41800:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line42000:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line42900:Page7PartC] :: Page7PartC line -> line Centi
+ Tax.Canada.T1: [$sel:line48400_Refund:Page8] :: Page8 line -> line Centi
+ Tax.Canada.T1: [$sel:line48500_BalanceOwing:Page8] :: Page8 line -> line Centi
+ Tax.Canada.T1: [$sel:line49000_WasAFeeCharged:TaxPreparer] :: TaxPreparer line -> line Bool
+ Tax.Canada.T1: [$sel:line82:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line94_sum:Page6] :: Page6 line -> SubCalculation line
+ Tax.Canada.T1: [$sel:line96:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line99:Page6] :: Page6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_10100_EmploymentIncome:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_10105_Taxexemptamount:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_10120_Commissions:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_10130_sf:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_10400_OtherEmploymentIncome:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_11300_OldAgeSecurityPension:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_11400_CPP_QPP:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_11410_DisabilityBenefits:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_11500_OtherPensions:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_11600_ElectedSplitPension:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_11700_UCCB:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_11701_UCCBDesignated:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_11900_EmploymentInsurance:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_11905_Employmentmaternity:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12000_TaxableDividends:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12010_OtherTaxableDividends:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12100_InvestmentIncome:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12200_PartnershipIncome:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12500_RDSP:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12599_12600_RentalIncome:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12600_Amount:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12700_TaxableCapitalGains:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12799_Amount:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12800_Amount:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12900_RRSPIncome:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12905_FHSAIncome:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_12906_OtherFHSAIncome:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_13000_OtherIncome:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_13000_OtherIncomeSource:Page3] :: Page3 line -> line Text
+ Tax.Canada.T1: [$sel:line_13010_TaxableScholarship:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_13499_Amount:SelfEmploymentIncome] :: SelfEmploymentIncome line -> line Centi
+ Tax.Canada.T1: [$sel:line_13500_Amount:SelfEmploymentIncome] :: SelfEmploymentIncome line -> line Centi
+ Tax.Canada.T1: [$sel:line_13699_Amount:SelfEmploymentIncome] :: SelfEmploymentIncome line -> line Centi
+ Tax.Canada.T1: [$sel:line_13700_Amount:SelfEmploymentIncome] :: SelfEmploymentIncome line -> line Centi
+ Tax.Canada.T1: [$sel:line_13899_Amount:SelfEmploymentIncome] :: SelfEmploymentIncome line -> line Centi
+ Tax.Canada.T1: [$sel:line_13900_Amount:SelfEmploymentIncome] :: SelfEmploymentIncome line -> line Centi
+ Tax.Canada.T1: [$sel:line_14099_Amount:SelfEmploymentIncome] :: SelfEmploymentIncome line -> line Centi
+ Tax.Canada.T1: [$sel:line_14100_Amount:SelfEmploymentIncome] :: SelfEmploymentIncome line -> line Centi
+ Tax.Canada.T1: [$sel:line_14299_Amount:SelfEmploymentIncome] :: SelfEmploymentIncome line -> line Centi
+ Tax.Canada.T1: [$sel:line_14300_Amount:SelfEmploymentIncome] :: SelfEmploymentIncome line -> line Centi
+ Tax.Canada.T1: [$sel:line_14400_WorkersCompBen:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_14500_SocialAssistPay:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_14600_NetFedSupplements:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_14700_EqualsAmount:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_14700_PlusAmount:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_15000_TotalIncome:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_15000_TotalIncome_2:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_19:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_1_ONOpportunitiesFund:Page8] :: Page8 line -> line Centi
+ Tax.Canada.T1: [$sel:line_20600_PensionAdjustment:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_20700_RPPDeduction:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_20800_RRSPDeduction:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_20805_FHSADeduction:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_20810_PRPP:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_21000_SplitPensionDeduction:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_21200_Dues:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_21300_UCCBRepayment:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_21400_ChildCareExpenses:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_21500_DisabilityDeduction:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_21699_Amount:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_21700_Amount:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_21900_MovingExpenses:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_21999_Amount:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_22000_Amount:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_22100_CarryingChargesInterest:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_22200_CPP_QPP_Contributions:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_22215_DeductionCPP_QPP:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_22300_DeductionPPIP:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_22400_XplorationDevExpenses:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_22900_OtherEmployExpenses:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_23100_ClergyResDeduction:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_23200_OtherDeductions:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_23200_Specify:Page4] :: Page4 line -> line Text
+ Tax.Canada.T1: [$sel:line_23300_sum:Page4] :: Page4 line -> SubCalculation line
+ Tax.Canada.T1: [$sel:line_23400_NetBeforeAdjust:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_23500_SocialBenefits:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_23600_NetIncome:Page4] :: Page4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_23600_NetIncome_2:Step4] :: Step4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_24400_MilitaryPoliceDeduction:Step4] :: Step4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_24900_SecurityDeductions:Step4] :: Step4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_25000_OtherPayDeductions:Step4] :: Step4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_25100_PartnershipLosses:Step4] :: Step4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_25200_NoncapitalLosses:Step4] :: Step4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_25300_NetCapitalLosses:Step4] :: Step4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_25400_CapitalGainsDeduction:Step4] :: Step4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_25500_NorthernDeductions:Step4] :: Step4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_25600_AdditionalDeductions_Amount:Step4] :: Step4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_25600_AdditionalDeductions_Specify:Step4] :: Step4 line -> line Text
+ Tax.Canada.T1: [$sel:line_25700_AddLines_sum:Step4] :: Step4 line -> SubCalculation line
+ Tax.Canada.T1: [$sel:line_25_sum:Page3] :: Page3 line -> SubCalculation line
+ Tax.Canada.T1: [$sel:line_26000_TaxableIncome:Step4] :: Step4 line -> line Centi
+ Tax.Canada.T1: [$sel:line_26:Page3] :: Page3 line -> line Centi
+ Tax.Canada.T1: [$sel:line_31210_copy:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_42100_CPPContributions:Page7Step6] :: Page7Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_42120_EIPremiums:Page7Step6] :: Page7Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_42200_SocialBenefits:Page7Step6] :: Page7Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_42800_ProvTerrTax:Page7Step6] :: Page7Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_42900_copy:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_43200_FirstNationsTax:Page7Step6] :: Page7Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_43500_TotalPayable:Page7Step6] :: Page7Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_43500_totalpayable:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_43700_Total_income_tax_ded:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_43800_TaxTransferQC:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_43850_diff:Page8Step6] :: Page8Step6 line -> SubCalculation line
+ Tax.Canada.T1: [$sel:line_44000:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_44100:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_44800_CPPOverpayment:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_45000_EIOverpayment:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_45100_diff:Page8Step6] :: Page8Step6 line -> SubCalculation line
+ Tax.Canada.T1: [$sel:line_45200_MedicalExpense:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_45300_CWB:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_45350_CTC:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_45355_MHRTC:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_45400_InvestmentTaxCredit:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_45600_TrustTaxCredit:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_45700_GST_HST_Rebate:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_46500:Page8] :: Page8 line -> line Centi
+ Tax.Canada.T1: [$sel:line_46600:Page8] :: Page8 line -> line Centi
+ Tax.Canada.T1: [$sel:line_46800:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_46900:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_47555_TaxPaid:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_47556:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_47557:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_47600_TaxPaid:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_47900_ProvTerrCredits:Page8Step6] :: Page8Step6 line -> line Centi
+ Tax.Canada.T1: [$sel:line_48200_sum:Page8Step6] :: Page8Step6 line -> SubCalculation line
+ Tax.Canada.T1: [$sel:line_81:Page5PartB] :: Page5PartB line -> line Centi
+ Tax.Canada.T1: [$sel:maritalStatus:Identification] :: Identification line -> line MaritalStatus
+ Tax.Canada.T1: [$sel:medical_expenses:Page6] :: Page6 line -> MedicalExpenses line
+ Tax.Canada.T1: [$sel:nameOfPreparer:TaxPreparer] :: TaxPreparer line -> line Text
+ Tax.Canada.T1: [$sel:organ_donor:Page2] :: Page2 line -> line Bool
+ Tax.Canada.T1: [$sel:otherDependants:MedicalExpenses] :: MedicalExpenses line -> line Centi
+ Tax.Canada.T1: [$sel:page1:T1] :: T1 line -> Page1 line
+ Tax.Canada.T1: [$sel:page2:T1] :: T1 line -> Page2 line
+ Tax.Canada.T1: [$sel:page3:T1] :: T1 line -> Page3 line
+ Tax.Canada.T1: [$sel:page4:T1] :: T1 line -> Page4 line
+ Tax.Canada.T1: [$sel:page5:T1] :: T1 line -> Page5 line
+ Tax.Canada.T1: [$sel:page6:T1] :: T1 line -> Page6 line
+ Tax.Canada.T1: [$sel:page7:T1] :: T1 line -> Page7 line
+ Tax.Canada.T1: [$sel:page8:T1] :: T1 line -> Page8 line
+ Tax.Canada.T1: [$sel:partA_FederalTax:Page5] :: Page5 line -> Page5PartA line
+ Tax.Canada.T1: [$sel:partB_FederalTaxCredits:Page5] :: Page5 line -> Page5PartB line
+ Tax.Canada.T1: [$sel:partC_NetFederalTax:Page7] :: Page7 line -> Page7PartC line
+ Tax.Canada.T1: [$sel:postalCode:Identification] :: Identification line -> line Text
+ Tax.Canada.T1: [$sel:prov_DropDown:Identification] :: Identification line -> line Code
+ Tax.Canada.T1: [$sel:prov_DropDown:Residence] :: Residence line -> line Text
+ Tax.Canada.T1: [$sel:prov_DropDown_Business:Residence] :: Residence line -> line Code
+ Tax.Canada.T1: [$sel:prov_DropDown_Residence:Residence] :: Residence line -> line Code
+ Tax.Canada.T1: [$sel:residence:Page1] :: Page1 line -> Residence line
+ Tax.Canada.T1: [$sel:selfEmployment:Page3] :: Page3 line -> SelfEmploymentIncome line
+ Tax.Canada.T1: [$sel:self_employment:Spouse] :: Spouse line -> line Bool
+ Tax.Canada.T1: [$sel:sin:Identification] :: Identification line -> line Text
+ Tax.Canada.T1: [$sel:sin:Spouse] :: Spouse line -> line Text
+ Tax.Canada.T1: [$sel:spouse:Page1] :: Page1 line -> Spouse line
+ Tax.Canada.T1: [$sel:spouse_First_Name:Spouse] :: Spouse line -> line Text
+ Tax.Canada.T1: [$sel:step4_TaxableIncome:Page5] :: Page5 line -> Step4 line
+ Tax.Canada.T1: [$sel:step6_RefundOrBalanceOwing:Page7] :: Page7 line -> Page7Step6 line
+ Tax.Canada.T1: [$sel:step6_RefundOrBalanceOwing:Page8] :: Page8 line -> Page8Step6 line
+ Tax.Canada.T1: [$sel:taxPreparer:Page8] :: Page8 line -> TaxPreparer line
+ Tax.Canada.T1: [$sel:tax_exempt:Page2] :: Page2 line -> line Bool
+ Tax.Canada.T1: [$sel:taxableIncome:MedicalExpenses] :: MedicalExpenses line -> line Centi
+ Tax.Canada.T1: [$sel:taxableIncomeFraction:MedicalExpenses] :: MedicalExpenses line -> line Centi
+ Tax.Canada.T1: [$sel:telephone:Page8] :: Page8 line -> line Centi
+ Tax.Canada.T1: [$sel:telephoneOfPreparer:TaxPreparer] :: TaxPreparer line -> line Text
+ Tax.Canada.T1: [$sel:threshold:MedicalExpenses] :: MedicalExpenses line -> line Centi
+ Tax.Canada.T1: [$sel:your_Language:Identification] :: Identification line -> line LanguageOfCorrespondence
+ Tax.Canada.T1: data ElectionsCanada line
+ Tax.Canada.T1: data Identification line
+ Tax.Canada.T1: data LanguageOfCorrespondence
+ Tax.Canada.T1: data MaritalStatus
+ Tax.Canada.T1: data MedicalExpenses line
+ Tax.Canada.T1: data Page1 line
+ Tax.Canada.T1: data Page2 line
+ Tax.Canada.T1: data Page3 line
+ Tax.Canada.T1: data Page4 line
+ Tax.Canada.T1: data Page5 line
+ Tax.Canada.T1: data Page5PartA line
+ Tax.Canada.T1: data Page5PartB line
+ Tax.Canada.T1: data Page6 line
+ Tax.Canada.T1: data Page7 line
+ Tax.Canada.T1: data Page7PartC line
+ Tax.Canada.T1: data Page7Step6 line
+ Tax.Canada.T1: data Page8 line
+ Tax.Canada.T1: data Page8Step6 line
+ Tax.Canada.T1: data Residence line
+ Tax.Canada.T1: data SelfEmploymentIncome line
+ Tax.Canada.T1: data Spouse line
+ Tax.Canada.T1: data Step4 line
+ Tax.Canada.T1: data T1 line
+ Tax.Canada.T1: data TaxPreparer line
+ Tax.Canada.T1: fixT1 :: HasCallStack => T1 Maybe -> T1 Maybe
+ Tax.Canada.T1: formPrefixForProvince :: Code -> String
+ Tax.Canada.T1: t1FieldsForProvince :: Code -> T1 FieldConst
+ Tax.Canada.Territory.NT: t1Fields :: T1 FieldConst
+ Tax.Canada.Territory.NU: t1Fields :: T1 FieldConst
+ Tax.Canada.Territory.YT: t1Fields :: T1 FieldConst
+ Tax.FDF: NoField :: FieldConst a
+ Tax.FDF: [Constant] :: (Eq a, Show a) => a -> Entry a -> Entry a
+ Tax.FDF: formKeys :: Foldable form => form FieldConst -> [[Text]]
+ Tax.FDF: loadAll :: forall form. (Apply form, Traversable form) => form FieldConst -> FDFs -> Either String (form Maybe)
+ Tax.FDF: mapForm :: (Apply form, Traversable form) => form FieldConst -> (form Maybe -> form Maybe) -> FDF -> Either String FDF
+ Tax.FDF: mapForm2 :: (Apply form1, Apply form2, Traversable form1, Traversable form2) => (form1 FieldConst, form2 FieldConst) -> ((form1 Maybe, form2 Maybe) -> (form1 Maybe, form2 Maybe)) -> (FDF, FDF) -> Either String (FDF, FDF)
+ Tax.FDF: mapForms :: (Apply form, Traversable form) => form FieldConst -> (form Maybe -> form Maybe) -> FDFs -> Either String FDFs
+ Tax.FDF: store :: (Apply form, Foldable form) => form FieldConst -> FDF -> form Maybe -> Either String FDF
+ Tax.FDF: storeAll :: (Apply form, Foldable form) => form FieldConst -> FDFs -> form Maybe -> Either String FDFs
+ Tax.FDF: type FDFs = Map Text FDF
+ Tax.FDF: updateAll :: (Apply form, Foldable form) => form FieldConst -> form Maybe -> FDFs -> Either String FDFs
+ Tax.PDFtk: fdf2pdf :: FilePath -> ByteString -> IO (Either String ByteString)
+ Tax.PDFtk: pdf2fdf :: ByteString -> IO (Either String ByteString)
+ Tax.PDFtk: pdfFile2fdf :: FilePath -> IO (Either String ByteString)
- Tax.FDF: [RadioButton] :: (Bounded a, Enum a, Eq a, Show a) => [a] -> Entry a
+ Tax.FDF: [RadioButton] :: (Eq a, Show a) => [a] -> Entry a
- Tax.FDF: [RadioButtons] :: (Bounded a, Enum a, Eq a, Show a) => Text -> [a] -> Entry a
+ Tax.FDF: [RadioButtons] :: (Bounded a, Enum a, Eq a, Show a) => Int -> Int -> Text -> [a] -> Entry a
- Tax.FDF: update :: (Apply form, Foldable form) => form FieldConst -> form Maybe -> FDF -> FDF
+ Tax.FDF: update :: (Apply form, Foldable form) => form FieldConst -> form Maybe -> FDF -> Either String FDF
- Tax.Util: totalOf :: [Maybe Centi] -> Maybe Centi
+ Tax.Util: totalOf :: Num a => [Maybe a] -> Maybe a

Files

CHANGELOG.md view
@@ -1,5 +1,18 @@ # Revision history for `canadian-income-tax` +## 2023.0++* Updated for the 2023 tax return forms+* Extended the T1 form support to all provinces and territories+* Accepting the 428 forms for AB, BC, and MB beside the earlier ON support+* Accepting the 479 forms for BC and ON+* Accepting the federal schedule forms 6, 7, 9, and 11+* Streamlined the command-line options+* Allowed working directly with PDFs on the command line, with PDFTk installed+* A simple web server with interactive UI+* Refactored most of the code+* Added test suites+ ## 2022.2.1  * Fixed a duplicate field name@@ -11,7 +24,7 @@ ## 2022.2  * Expanded README and renamed the executable-* Added the Ontario tax form+* Added the Ontario 428 tax form * Added `leastOf` and calculated line 31260 of `T1` * Fixed the credits left out from page 4 of `T1` * Tightened module exports
README.md view
@@ -1,116 +1,116 @@ Canadian Income Tax =================== -## Manual ##--### Use for Canadians outside Ontario ###+This Haskell package consists of a library and a couple of executables to complete the Canadian income tax forms. -This Haskell package consists of a library and executable to fill out the Canadian T1 tax form. The way to-use it is as follows:+## Command line ## -1. Download the fillable PDF form from [the canada.ca Web-site](https://www.canada.ca/en/revenue-agency/services/forms-publications/tax-packages-years/general-income-tax-benefit-package/ontario/5006-r.html).+There's a command-line executable named `complete-canadian-taxes`. The way to use it is as follows: -2. Fill in the downloaded T1 form; don't bother with any fields that are calculated from other fields in the same-form, that part will be performed automatically.+1. Download the fillable PDF forms from [the canada.ca Web+site](https://www.canada.ca/en/revenue-agency/services/forms-publications/tax-packages-years/general-income-tax-benefit-package.html). -3. Save the filled-out PDF form.+2. Fill in the downloaded forms:+   * T1 is supported and mandatory for all provinces and territories.+   * If you're a resident of British Columbia or Ontario, you can also fill in the 428 and 479 forms for the province.+   * If you're a resident of Alberta or Manitoba, you can also fill in the 428 form for the province.+   * For all the other provinces only the T1 form and several federal schedules are getting completed at this time. -4. Run+   In any case, don't bother filling in any fields that are calculated from other fields in the supported forms, that+   part will be performed automatically. You also don't need to fill any fields that don't matter for the rest of the+   form: your name, SIN, and other identifying information fall into this category, except for the birth date and+   marital status which may affect your tax credits. -       pdftk 5006-r-fill-22e.pdf generate_fdf output 5006-r-fill-22e-filled.fdf+3. Save the filled-in PDF form(s). -where `5006-r-fill-22e.pdf` is the file you previously saved and `5006-r-fill-22e-filled.fdf` is the name of the-output file; feel free to change them.+4. Run -5. Run+       complete-canadian-taxes <province code> --t1 50??-r-fill-23e.pdf -o completed/ -       mkdir completed/-       complete-canadian-taxes --t1 5006-r-fill-22e-filled.fdf -o completed/+   where `<province code>` is the two-letter code of the province or territory (AB, BC, QC, etc),+   `50??-r-fill-23e.pdf` is the T1 form file you previously saved and `completed/` is the name of the output+   directory; feel free to change the names. If applicable, you can also supply the 428 and 479 form with the+   command-line options of the same name. For example, to complete all three forms for Ontario (ON) taxes the full+   command line would be -   to complete all the field calculations and store the result in the output file-   `completed/5006-r-fill-22e-filled.fdf`.+       complete-canadian-taxes ON --t1 5006-r-fill-23e.pdf --428 5006-c-fill-23e.pdf --479 5006-tc-fill-23e.pdf -o completed/ -6. Run+   The usual `--help` option will give you the full list of all supported forms. -       pdftk 5006-r-fill-22e.pdf fill_form completed/5006-r-fill-22e-filled.fdf output 5006-r-fill-22e-filled.pdf+At this point my job is done. The rest is all in your hands: -to transfer the FDF field values from the previous step to the new PDF file, `5006-r-fill-22e-filled.pdf`.+5. Carefully examine the completed PDF forms. The executable comes with no warranty and has not been verified by+CRA. The responsibility for the correctness of the tax return is still yours. If you notice any problem in the way the+forms were completed please [report](https://github.com/blamario/canadian-income-tax/issues) the issue. -7. Carefully examine the final PDF. The executable comes with no warranty and has not been verified by CRA. The-reponsibility for the correctness of the tax return is still yours.+   If at any point you find you made a mistake in your initial form entry, or you want to adjust it for any reason,+   you can make the adjustments either on the forms you kept from step #2 or on the final forms, and feed them back in+   step #3. The executable will overwrite all calculated fields with their proper values. -8. Print and sign the tax return, then send it to CRA by mail along with your other documents. At some point they'll-hopefully leave the 19th century and let us digitally file the same information they accept on paper, but their EFILE-protocol is so far not open to the public.+6. Once you're satisfied with the forms: add your ID and print the tax return, sign it, then send it to CRA by mail+along with your other documents. At some point they'll hopefully leave the 19th century and let us digitally file the+same information they accept on paper, but their NETFILE protocol is not open to the public so far. +### Design notes and hints ### -### Use for Ontario tax returns ###+The executable `complete-canadian-taxes` follows the Unix philosophy of doing one well-defined task and no more. It+doesn't attempt to guide you, the user, through the entire process of filing the taxes. It merely performs the task+that is easy to automate, and therefore also the most boring. It's not likely to make the tax-filing process a joy,+but it should at least reduce the drudgery. -1. Download the fillable federal-[(T1)](https://www.canada.ca/en/revenue-agency/services/forms-publications/tax-packages-years/general-income-tax-benefit-package/ontario/5006-r.html)-and provincial-[(ON428)](https://www.canada.ca/en/revenue-agency/services/forms-publications/tax-packages-years/general-income-tax-benefit-package/ontario/5006-c.html)-PDF forms from [the canada.ca Web site](https://www.canada.ca/en/revenue-agency/services/forms-publications/tax-packages-years/general-income-tax-benefit-package/ontario.html)+### Manual FDF mode ### -2. Fill in the two downloaded forms; don't bother with any fields that are copied or calculated from other fields in-the two forms, that part will be performed automatically.+   The executable `complete-canadian-taxes` automatically invokes `pdftk` to convert between PDF and FDF files. It+   needs to be installed and in the executable path. If you'd prefer to handle the conversions manually, you can+   replace step 4 with the following procedure: -3. Save the filled-out PDF forms.+41. Run -4. Run+        pdftk 5006-r-fill-23e.pdf generate_fdf output 5006-r-fill-23e-filled.fdf -       pdftk 5006-r-fill-22e.pdf generate_fdf output 5006-r-fill-22e-filled.fdf-       pdftk 5006-c-fill-22e.pdf generate_fdf output 5006-c-fill-22e-filled.fdf+    where `5006-r-fill-23e.pdf` is the file you previously saved and `5006-r-fill-23e-filled.fdf` is the name of the+    output file; feel free to change them. -where `5006-r-fill-22e.pdf` and `5006-c-fill-22e.pdf` are the two PDFs you previously saved and-`*-filled.fdf` are the names of the output FDF files; feel free to change them.+42. Run -5. Run+        complete-canadian-taxes <province code> --t1 5006-r-fill-23e-filled.fdf -o completed/ -       mkdir completed/-       complete-canadian-taxes --t1 5006-r-fill-22e-filled.fdf --on428 5006-c-fill-22e-filled.fdf -o completed/+    to complete all the field calculations and store the result in the output file+    `completed/5006-r-fill-23e-filled.fdf`. -   to complete all the field calculations and store the result in the output directory `completed/`.+43. Run -6. Run+        pdftk 5006-r-fill-23e.pdf fill_form completed/5006-r-fill-23e-filled.fdf output 5006-r-fill-23e-completed.pdf -       pdftk 5006-r-fill-22e.pdf fill_form completed/5006-r-fill-22e-filled.fdf output completed/5006-r-fill-22e.pdf-       pdftk 5006-c-fill-22e.pdf fill_form completed/5006-c-fill-22e-filled.fdf output completed/5006-c-fill-22e.pdf+    to transfer the FDF field values from the previous step to the new PDF file, `5006-r-fill-23e-completed.pdf`. -to transfer the FDF field values from the previous step to the new PDF files in the `completed/` directory.+The FDF files are almost (but not quite) text files, which makes them `diff`able. You can use this to quickly compare+the effects of different changes without eyeballing through the PDF forms. -7. Carefully examine the final PDF outputs. The executable comes with no warranty and has not been verified by-CRA. The reponsibility for the tax returns' correctness is still yours.+## Web service ## -8. Print the PDFs, sign the tax return, then send it to CRA by mail along with the rest of your documents. At some-point they'll hopefully open a way to digitally file the same information they accept on paper, but their EFILE-protocol is so far not open to the public.+There's also an interactive Web server executable named `serve-canadian-taxes`. Launch the executable, visit+[http://localhost:3000](http://localhost:3000) in your browser, and follow the instructions.  ## Installation ## -As you can see from the above instructions, you'll need to install the free `pdftk` executable to deal with-PDF <-> FDF conversion. See [their instructions](https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/). On-Ubuntu you can simply run+As you can deduce from the above instructions, you'll need to install the free `pdftk` executable to deal with PDF <->+FDF conversion. See [their instructions](https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/). On Ubuntu you can+simply run      sudo apt install pdftk -To install the `complete-canadian-t1-form` executable, you'll need Haskell development tools. The simplest+while on Fedora the invocation is++    sudo dnf install pdftk-java++To install the `complete-canadian-taxes` executable, you'll need Haskell development tools. The simplest procedure overall is to install [`ghcup`](https://www.haskell.org/ghcup/), then use it to install `ghc` (version 9.4 or greater) and `cabal`, then to run      cabal install canadian-income-tax -## Design notes and hints ##--The executable `complete-canadian-taxes` follows the Unix philosphy of doing one well-defined thing. It doesn't-attempt to guide you, the user, through the entire process of filing the taxes. It merely performs the task that is-easy to automate, and therefore also the most boring. It's not likely to make the tax-filing process a joy, but at-least it's going to reduce the drudgery.--If at any point you find you made a mistake in your initial form entry, or you want to adjust it for any reason, you-can make the adjustments either on the forms you kept from step #2 or on the final forms, and feed them back in-step #3. The executable will overwrite all calculated fields with theit proper values.+## Library documentation ## -The FDF files are almost text files, which makes them `diff`able. You can use this to quickly compare the effect of-different changes without eyeballing through the PDF forms.+This is an open-source project licensed under GPL-3, and it comes with a library for easier reuse. The rendered+library documentation is available at [Hackage](https://hackage.haskell.org/package/canadian-income-tax).
app/Main.hs view
@@ -1,5 +1,8 @@+{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-} {-# LANGUAGE OverloadedStrings #-}  module Main where@@ -7,91 +10,128 @@ import Codec.Archive.Tar qualified as Tar import Codec.Archive.Tar.Entry (fileEntry, toTarPath) import Control.Applicative ((<**>), optional)-import Control.Monad (when)-import Control.Monad.Trans.State.Strict (get, put, evalState)+import Control.Arrow ((&&&))+import Control.Monad (unless, void, when)+import Data.ByteString (ByteString) import Data.ByteString qualified as ByteString+import Data.ByteString.Lazy qualified as Lazy import Data.ByteString.Lazy qualified as ByteString.Lazy-import Options.Applicative (Parser, execParser,-                            helper, info, long, metavar, progDesc, short, strArgument, strOption, switch, value)-import System.Directory (doesDirectoryExist)+import Data.CAProvinceCodes qualified as Province+import Data.Char (toUpper)+import Data.Foldable (toList)+import Data.List (intercalate, sortOn)+import Data.Map.Lazy qualified as Map+import Data.Maybe (catMaybes)+import Data.Semigroup (Any (Any))+import Data.Semigroup.Cancellative (isPrefixOf, isSuffixOf)+import Data.Text (Text)+import Options.Applicative (Parser, ReadM, long, metavar, short)+import Options.Applicative qualified as OptsAp+import Rank2 qualified+import System.Directory (createDirectoryIfMissing, doesDirectoryExist, doesFileExist) import System.FilePath (replaceDirectory, takeFileName) import System.IO (hPutStrLn, stderr)-import Text.FDF (parse, serialize)+import Text.FDF (FDF, parse, serialize) +import Tax.Canada (completeForms)+import Tax.FDF (FDFs) import Tax.FDF qualified as FDF-import Tax.Canada (fixOntarioReturns, fixON428, fixT1, on428Fields, t1Fields)+import Tax.PDFtk (fdf2pdf, pdf2fdf)  main :: IO ()-main = execParser (info optionsParser $ progDesc "Update all calculated fields in a Canadian T1 tax form")+main = OptsAp.execParser (OptsAp.info optionsParser+                          $ OptsAp.progDesc "Update all calculated fields in a Canadian T1 tax form")        >>= process  data Options = Options {-   t1InputPath :: Maybe FilePath,-   on428InputPath :: Maybe FilePath,+   province :: Province.Code,+   t1InputPath :: FilePath,+   p428InputPath :: Maybe FilePath,+   p479InputPath :: Maybe FilePath,+   schedule6InputPath :: Maybe FilePath,+   schedule7InputPath :: Maybe FilePath,+   schedule9InputPath :: Maybe FilePath,+   schedule11InputPath :: Maybe FilePath,    outputPath :: FilePath,    verbose :: Bool} - optionsParser :: Parser Options optionsParser =    Options-   <$> optional (strOption (long "t1" <> metavar "<input T1 FDF file>"))-   <*> optional (strOption (long "on428" <> metavar "<input ON428 FDF file>"))-   <*> strOption (short 'o' <> long "output" <> value "-" <> metavar "<output FDF file>")-   <*> switch (short 'v' <> long "verbose")-   <**> helper+   <$> OptsAp.argument readProvince (metavar "<two-letter province code>")+   <*> OptsAp.strOption (long "t1" <> metavar "<input T1 form file>")+   <*> optional (OptsAp.strOption (long "428" <> metavar "<input 428 form file>"))+   <*> optional (OptsAp.strOption (long "479" <> metavar "<input 479 form file>"))+   <*> optional (OptsAp.strOption (long "s6" <> metavar "<input Schedule 6 form file>"))+   <*> optional (OptsAp.strOption (long "s7" <> metavar "<input Schedule 7 form file>"))+   <*> optional (OptsAp.strOption (long "s9" <> metavar "<input Schedule 9 form file>"))+   <*> optional (OptsAp.strOption (long "s11" <> metavar "<input Schedule 11 form file>"))+   <*> OptsAp.strOption (short 'o' <> long "output" <> OptsAp.value "-" <> metavar "<output file or directory>")+   <*> OptsAp.switch (short 'v' <> long "verbose")+   <**> OptsAp.helper +readProvince :: ReadM Province.Code+readProvince = OptsAp.eitherReader (tryRead . map toUpper)+   where tryRead s = case reads s+                     of [(p, "")] -> Right p+                        _ -> Left ("Invalid province code " <> s <> " - expecting one of "+                                   <> intercalate ", " (onLast ("or " <>) $ show <$> Province.all))+         onLast f [x] = [f x]+         onLast f (x:xs) = x : onLast f xs+         onLast _ [] = [] +readFDF :: FilePath -> IO (Bool, Lazy.ByteString)+readFDF inputPath = do+   exists <- doesFileExist inputPath+   unless (inputPath == "-" || exists) (error $ "Input file " <> show inputPath <> " doesn't exist.")+   content <- if inputPath == "-" then ByteString.Lazy.getContents else ByteString.Lazy.readFile inputPath+   if "%FDF-1." `isPrefixOf` content+      then pure (False, content)+      else if "%PDF-1." `isPrefixOf` content+           then either error ((,) True) <$> pdf2fdf content+           else error "Expecting an FDF or PDF file"+ process :: Options -> IO ()-process Options{t1InputPath, on428InputPath, outputPath, verbose} = do-   let read path = if path == "-" then ByteString.getContents else ByteString.readFile path-       writeFrom inputPath content =+process Options{province, t1InputPath, p428InputPath, p479InputPath,+                schedule6InputPath, schedule7InputPath, schedule9InputPath, schedule11InputPath,+                outputPath, verbose} = do+   let inputFiles :: [(Text, FilePath)]+       inputFiles = sortOn fst $+                    catMaybes [(,) "T1"  <$> Just t1InputPath,+                               (,) "428" <$> p428InputPath,+                               (,) "479" <$> p479InputPath,+                               (,) "Schedule6" <$> schedule6InputPath,+                               (,) "Schedule7" <$> schedule7InputPath,+                               (,) "Schedule9" <$> schedule9InputPath,+                               (,) "Schedule11" <$> schedule11InputPath]+   inputs <- traverse (traverse readFDF) inputFiles :: IO [(Text, (Bool, Lazy.ByteString))]+   let writeFrom :: FilePath -> Bool -> ByteString.ByteString -> IO ()+       writeFrom inputPath asPDF content = do+          content' <- (if asPDF then (either error Lazy.toStrict <$>) . fdf2pdf inputPath . Lazy.fromStrict else pure) content           if outputPath == "-"-          then ByteString.putStr content-          else do isDir <- doesDirectoryExist outputPath-                  if isDir-                     then ByteString.writeFile (replaceDirectory inputPath outputPath) content-                     else ByteString.writeFile outputPath content-   case (t1InputPath, on428InputPath) of-      (Nothing, Nothing) -> error "You must specify a T1 form, ON428 form, or both."-      (Just path, Nothing) -> do-         bytes <- read path-         case parse bytes >>= \x-> (,) x <$> FDF.load t1Fields x of-            Left err -> error err-            Right (fdf, form) -> do-               let fdf' = FDF.update t1Fields form' fdf-                   form' = fixT1 form-               when verbose (hPutStrLn stderr $ show form')-               writeFrom path (serialize fdf')-      (Nothing, Just path) -> do-         bytes <- read path-         case parse bytes >>= \x-> (,) x <$> FDF.load on428Fields x of-            Left err -> error err-            Right (fdf, form) -> do-               let fdf' = FDF.update on428Fields form' fdf-                   form' = fixON428 form-               when verbose (hPutStrLn stderr $ show form')-               writeFrom path (serialize fdf')-      (Just pathT1, Just pathON) -> do-         bytesT1 <- read pathT1-         bytesON <- read pathON-         case (,) <$> (parse bytesT1 >>= \x-> (,) x <$> FDF.load t1Fields x)-                  <*> (parse bytesON >>= \x-> (,) x <$> FDF.load on428Fields x) of-            Left err -> error err-            Right ((fdfT1, formT1), (fdfON, formON)) -> do-               let fdf'T1 = serialize $ FDF.update t1Fields form'T1 fdfT1-                   fdf'ON = serialize $ FDF.update on428Fields form'ON fdfON-                   (form'T1, form'ON) = fixOntarioReturns (formT1, formON)-                   fdfEntry path content =-                      (`fileEntry` ByteString.Lazy.fromStrict content) <$> toTarPath False (takeFileName path)-                   tarEntries = sequenceA [fdfEntry pathT1 fdf'T1,-                                           fdfEntry pathON fdf'ON]-                   tarFile = either (error . ("Can't tar: " <>)) (ByteString.Lazy.toStrict . Tar.write) tarEntries -               when verbose (hPutStrLn stderr $ show (form'T1, form'ON))-               if outputPath == "-"-                  then ByteString.putStr tarFile-                  else do isDir <- doesDirectoryExist outputPath-                          if isDir-                             then do writeFrom pathT1 fdf'T1-                                     writeFrom pathON fdf'ON-                             else ByteString.writeFile outputPath tarFile+             then ByteString.putStr content'+             else do+                isDir <- doesDirectoryExist outputPath+                if isDir+                   then ByteString.writeFile (replaceDirectory inputPath outputPath) content'+                   else ByteString.writeFile outputPath content'+       paths = snd <$> inputFiles :: [FilePath]+       arePDFs = fst . snd <$> inputs+       bytesMap = Lazy.toStrict . snd <$> Map.fromAscList inputs+   case traverse parse bytesMap >>= completeForms province of+      Left err -> error err+      Right fixedFDFs -> do+         let bytesMap' = serialize <$> fixedFDFs+             byteses' = toList bytesMap'+             tarEntries = sequenceA (zipWith fdfEntry paths byteses')+             fdfEntry path content =+                (`fileEntry` ByteString.Lazy.fromStrict content) <$> toTarPath False (takeFileName path)+             tarFile = either (error . ("Can't tar: " <>)) (ByteString.Lazy.toStrict . Tar.write) tarEntries+         -- when verbose (hPutStrLn stderr $ show (form'T1, form'ON))+         when ("/" `isSuffixOf` outputPath) (createDirectoryIfMissing True outputPath)+         if outputPath == "-"+            then ByteString.putStr tarFile+            else do isDir <- doesDirectoryExist outputPath+                    if isDir+                       then void $ sequenceA (zipWith3 writeFrom paths arePDFs byteses')+                       else ByteString.writeFile outputPath tarFile
canadian-income-tax.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.4 name:               canadian-income-tax-version:            2022.2.1+version:            2023.0  synopsis: Canadian income tax calculation @@ -16,34 +16,78 @@ author:             Mario Blažević maintainer:         blamario@protonmail.com bug-reports:        https://github.com/blamario/canadian-income-tax/issues-tested-with:        ghc == 9.4.4+tested-with:        ghc == 9.4.4, ghc == 9.6.3 -extra-source-files: CHANGELOG.md, README.md+extra-doc-files:    CHANGELOG.md, README.md+data-dir:           data/+data-files:         **/*.fdf **/*.pdf source-repository head   type:     git   location: https://github.com/blamario/canadian-income-tax  library     exposed-modules:-        Tax.FDF         Tax.Canada-        Tax.Canada.T1.Types-        Tax.Canada.T1.FieldNames-        Tax.Canada.T1.Fix-        Tax.Canada.ON428.Types-        Tax.Canada.ON428.FieldNames-        Tax.Canada.ON428.Fix+        Tax.Canada.Federal+        Tax.Canada.Federal.Schedule6+        Tax.Canada.Federal.Schedule7+        Tax.Canada.Federal.Schedule9+        Tax.Canada.Federal.Schedule11+        Tax.Canada.Province.AB+        Tax.Canada.Province.BC+        Tax.Canada.Province.MB+        Tax.Canada.Province.NB+        Tax.Canada.Province.NL+        Tax.Canada.Province.ON+        Tax.Canada.Province.PE+        Tax.Canada.Province.QC+        Tax.Canada.Territory.NT+        Tax.Canada.Territory.NU+        Tax.Canada.Territory.YT+        Tax.Canada.Shared+        Tax.Canada.T1+        Tax.FDF+        Tax.PDFtk         Tax.Util -    -- Modules included in this library but not exported.-    -- other-modules:+    other-modules:+        Tax.Canada.T1.Types+        Tax.Canada.T1.FieldNames.AB+        Tax.Canada.T1.FieldNames.BC+        Tax.Canada.T1.FieldNames.NB+        Tax.Canada.T1.FieldNames.NL+        Tax.Canada.T1.FieldNames.NT+        Tax.Canada.T1.FieldNames.NU+        Tax.Canada.T1.FieldNames.ON+        Tax.Canada.T1.FieldNames.PE+        Tax.Canada.T1.FieldNames.QC+        Tax.Canada.T1.FieldNames.YT+        Tax.Canada.T1.Fix+        Tax.Canada.Province.AB.AB428.Types+        Tax.Canada.Province.AB.AB428.FieldNames+        Tax.Canada.Province.AB.AB428.Fix+        Tax.Canada.Province.BC.BC428.Types+        Tax.Canada.Province.BC.BC428.FieldNames+        Tax.Canada.Province.BC.BC428.Fix+        Tax.Canada.Province.BC.BC479.Types+        Tax.Canada.Province.BC.BC479.FieldNames+        Tax.Canada.Province.BC.BC479.Fix+        Tax.Canada.Province.MB.MB428.Types+        Tax.Canada.Province.MB.MB428.FieldNames+        Tax.Canada.Province.MB.MB428.Fix+        Tax.Canada.Province.ON.ON428.Types+        Tax.Canada.Province.ON.ON428.FieldNames+        Tax.Canada.Province.ON.ON428.Fix+        Tax.Canada.Province.ON.ON479.Types+        Tax.Canada.Province.ON.ON479.FieldNames+        Tax.Canada.Province.ON.ON479.Fix      -- LANGUAGE extensions used by modules in this package.     -- other-extensions:-    build-depends:    base == 4.*, text >= 1.0 && < 2.1,-                      time == 1.*, containers >= 0.5 && < 0.7,-                      monoid-subclasses == 1.*, rank2classes ^>= 1.5,-                      ca-province-codes == 1.0.*, forms-data-format ^>= 0.2,+    build-depends:    base == 4.*, text >= 1.0 && < 2.2, bytestring >= 0.10.4 && < 1,+                      time == 1.*, containers >= 0.5 && < 0.8, bitwise-enum ^>= 1.0.0, bifunctors ^>= 5.6,+                      monoid-subclasses == 1.*, rank2classes ^>= 1.5.3, deep-transformations ^>= 0.2.2,+                      ca-province-codes == 1.0.*, forms-data-format ^>= 0.2, typed-process >= 0.1 && ^>=0.2,                       template-haskell == 2.*     hs-source-dirs:   src     default-language: Haskell2010@@ -57,10 +101,61 @@     -- LANGUAGE extensions used by modules in this package.     -- other-extensions:     build-depends:-        base == 4.*, text, bytestring >= 0.10.4 && < 1, transformers >= 0.1 && < 0.7,-        rank2classes, optparse-applicative >= 0.15 && < 0.18,+        base == 4.*, text, bytestring, containers,+        monoid-subclasses, rank2classes,+        optparse-applicative >= 0.15 && < 0.19,         filepath >= 1.3 && < 1.5, directory >= 1.2 && < 1.4, tar >= 0.4 && < 0.6,+        ca-province-codes,         forms-data-format, canadian-income-tax      hs-source-dirs:   app     default-language: Haskell2010++executable serve-canadian-taxes+    main-is:          Main.hs+    other-modules:    Paths_canadian_income_tax+    autogen-modules:  Paths_canadian_income_tax++    -- Modules included in this executable, other than Main.+    -- other-modules:++    -- LANGUAGE extensions used by modules in this package.+    -- other-extensions:+    build-depends:+        base == 4.*, text, bytestring, containers, monoid-subclasses,+        filepath >= 1.3 && < 1.5, unix >= 2.6 && < 2.9, directory >= 1.2 && < 1.4,+        time >= 1.9.1 && < 1.13, zip-archive ^>= 0.4,+        http-types ^>= 0.12, scotty ^>= 0.21, wai-extra ^>= 3.1.10, wai-middleware-static ^>= 0.9.1,+        forms-data-format, canadian-income-tax++    hs-source-dirs:   web+    default-language: Haskell2010+    ghc-options: -threaded++test-suite             properties+    type:                exitcode-stdio-1.0+    build-depends:       base >= 4.7 && < 5, bytestring,+                         directory ^>= 1.3, filepath ^>= 1.4,+                         forms-data-format, monoid-subclasses, rank2classes, deep-transformations,+                         text, time >= 1.9.1 && < 1.13, ca-province-codes,+                         tasty >= 0.7, tasty-hedgehog ^>= 1.4, hedgehog ^>= 1.4,+                         canadian-income-tax+    hs-source-dirs:      test+    main-is:             Properties.hs+    other-modules:       Test.Transformations+                         Paths_canadian_income_tax+    autogen-modules:     Paths_canadian_income_tax+    default-language:    Haskell2010++test-suite             regression+    type:                exitcode-stdio-1.0+    build-depends:       base >= 4.7 && < 5, bytestring, containers,+                         directory ^>= 1.3, filepath ^>= 1.4,+                         forms-data-format,+                         rank2classes, deep-transformations,+                         text, time >= 1.9.1 && < 1.13, ca-province-codes,+                         tasty >= 0.7, tasty-golden ^>=2.3,+                         canadian-income-tax+    hs-source-dirs:      test+    main-is:             Regression.hs+    default-language:    Haskell2010
+ data/428/5006-c-fill-23e.fdf view
@@ -0,0 +1,1258 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Line27[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line52[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line54[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line29[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line35[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line50[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Min-Tax-Carryover[0])+/Kids [+<<+/T (Line59[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line58[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line60[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line56[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line61[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line46[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Donations[0])+/Kids [+<<+/T (Line49[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line48[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line47[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>>]+>> +<<+/T (Line44[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line53[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line55[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line51[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Medical-Expenses[0])+/Kids [+<<+/T (Line41[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line39[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line38[0])+/Kids [+<<+/T (Percent_ReadOnly[0])+/V (3%)+>>]+>> +<<+/T (Line36[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line37[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line45[0])+/Kids [+<<+/T (Percent_ReadOnly[0])+/V (5.05%)+>>]+>> +<<+/T (Line43[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line26[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (Line77[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line76[0])+/Kids [+<<+/T (Line_60970[0])+/Kids [+<<+/T (Number[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line80[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line74[0])+/Kids [+<<+/T (Amount[0])+/V (274.00)+>>]+>> +<<+/T (Line75[0])+/Kids [+<<+/T (Line_60969[0])+/Kids [+<<+/T (Number[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line78[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line79[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line73[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line70[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line72[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line71[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line66[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (ON-Surtax[0])+/Kids [+<<+/T (Line65[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line64[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line63[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line68[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line67[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line69[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>>]+>> +<<+/T (Line83[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line82[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line81[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line62[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Chart[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V (11.16%)+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount[0])+/V (6,990.89)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount[0])+/V (98,463.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V (13.16%)+>>]+>> +<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount[0])+/V (21,254.42)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount[0])+/V (220,000.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V (12.16%)+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount[0])+/V (12,742.42)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount[0])+/V (150,000.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V (9.15%)+>>]+>> +<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount[0])+/V (2,486.17)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount[0])+/V (49,231.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V (5.05%)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount[0])+/V (0.00)+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount[0])+/V (0.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Part_B[0])+/Kids [+<<+/T (Employment-Insurance[0])+/Kids [+<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line9[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Eligible-Dependant[0])+/Kids [+<<+/T (Line16[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V (11,082.00)+>>]+>> +<<+/T (Line15[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (CPP-QPP[0])+/Kids [+<<+/T (Line20[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line19[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Spouse-Amount[0])+/Kids [+<<+/T (Line11[0])+/Kids [+<<+/T (Amount[0])+/V (11,082.00)+>>]+>> +<<+/T (Line13[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line18[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line24[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line17[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line23[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Line90[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line89[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line86[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line85[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line87[0])+/Kids [+<<+/T (Line62150[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Amount2[0])+/V ()+>>]+>> +<<+/T (Line88[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (ON_Health_Prenium-worksheet[0])+/Kids [+<<+/T (Chart_ON_Health_Prenium[0])+/Kids [+<<+/T (Taxable_Line8[0])+/Kids [+<<+/T (Amount3[0])+/V ()+>> +<<+/T (Amount4[0])+/V ()+>> +<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Taxable_Line10[0])+/Kids [+<<+/T (Amount4[0])+/V ()+>> +<<+/T (Amount3[0])+/V ()+>> +<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Taxable_Line6[0])+/Kids [+<<+/T (Amount3[0])+/V ()+>> +<<+/T (Amount4[0])+/V ()+>> +<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Taxable_Line4[0])+/Kids [+<<+/T (Amount4[0])+/V ()+>> +<<+/T (Amount3[0])+/V ()+>> +<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Taxable_Line2[0])+/Kids [+<<+/T (Amount3[0])+/V ()+>> +<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/428/5007-c-fill-23e.fdf view
@@ -0,0 +1,898 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line53[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line52[0])+/Kids [+<<+/T (Percent_ReadOnly[0])+/V (10.8%)+>>]+>> +<<+/T (Line54[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line55[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line49[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line35[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line36[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line56[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line50[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line37[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line51[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line38[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line39[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (MedicalExpenses[0])+/Kids [+<<+/T (Line48[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line45[0])+/Kids [+<<+/T (Percent_ReadOnly[0])+/V (3%)+>>]+>> +<<+/T (Line46[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line47[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line44[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (PartC[0])+/Kids [+<<+/T (Line77[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line75[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line79[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line58[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line73[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line71[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line65[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line63[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line67[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line69[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line82[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line61[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line76[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line80[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line74[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line78[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line59[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line70[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line72[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line66[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line64[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line68[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line60[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line81[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line62[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Line28[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Table[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V (17.4%)+>>]+>> +<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount[0])+/V (9,433.77)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount[0])+/V (79,625.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V (10.8%)+>>]+>> +<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount[0])+/V (0.00)+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount[0])+/V (0.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V (12.75%)+>>]+>> +<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount[0])+/V (3,978.94)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount[0])+/V (36,842.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line29[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line9[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line11[0])+/Kids [+<<+/T (Amount[0])+/V (9,134.00)+>>]+>> +<<+/T (Line19[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line18[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line17[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line15[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V (9,134.00)+>>]+>> +<<+/T (Line16[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line25[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line20[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line26[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line24[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (line13[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line23[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/428/5009-c-fill-23e.fdf view
@@ -0,0 +1,942 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (PartB_Page2[0])+/Kids [+<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line29[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line35[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line36[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line50[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line51[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (MedicalExp[0])+/Kids [+<<+/T (Line41[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line39[0])+/Kids [+<<+/T (PercentAmount[0])+/V (3%)+>>]+>> +<<+/T (Line38[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line37[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>>]+>> +<<+/T (DonationGift[0])+/Kids [+<<+/T (Line49[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line48[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>>]+>> +<<+/T (Line45[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line47[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line46[0])+/Kids [+<<+/T (Percent[0])+/V (10%)+>>]+>> +<<+/T (Line43[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line44[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line26[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (PartC[0])+/Kids [+<<+/T (Line53[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line52[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line54[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line55[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line58[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line59[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line56[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (PoliticalCont[0])+/Kids [+<<+/T (Line65[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line66[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line64[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line63[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (UAITC[0])+/Kids [+<<+/T (Line67[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line68[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line69[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line60[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line61[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line62[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Line19to20[0])+/Kids [+<<+/T (Line19[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line20[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line9[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line11to13[0])+/Kids [+<<+/T (Line11[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 21,003.00)+>>]+>> +<<+/T (Line13[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line18[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line17[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14to16[0])+/Kids [+<<+/T (Line16[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 21,003.00)+>>]+>> +<<+/T (Line15[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Chart[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 17,644.28)+>>]+>> +<<+/T (LIne5[0])+/Kids [+<<+/T (Percent[0])+/V ( 13%)+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 170,751.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V ( 15%)+>>]+>> +<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 40,980.25)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 341,502.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V ( 14%)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 25,043.49)+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 227,668.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V ( 10%)+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 0.00)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 0.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Percent[0])+/V ( 12%)+>>]+>> +<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 14,229.20)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount_Fixed[0])+/V ( 142,292.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Line21to22[0])+/Kids [+<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line25[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line24[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line23[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/428/5010-c-fill-23e.fdf view
@@ -0,0 +1,1182 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Line27[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line52[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line54[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line29[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line58[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line35[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line56[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line37[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33[0])+/Kids [+<<+/T (I2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (I1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line31[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line39[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line44[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line53[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line55[0])+/Kids [+<<+/T (PercentAmount_ReadOnly[0])+/V (5.06%)+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line59[0])+/Kids [+<<+/T (Gifts_from_57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line36[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (MedicalExp[0])+/Kids [+<<+/T (Line49[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line48[0])+/Kids [+<<+/T (PercentAmount_ReadOnly[0])+/V (3%)+>>]+>> +<<+/T (Line47[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line46[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line50[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line51[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line41[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line38[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line60[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line45[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line26[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (Line77[0])+/Kids [+<<+/T (PercentAmount_ReadOnly[0])+/V (3.56%)+>>]+>> +<<+/T (Line75[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V ( 23,179.00)+>>]+>> +<<+/T (Line79[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line73[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line71[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line65[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line90[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line63[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line86[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line67[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line69[0])+/Kids [+<<+/T (Line120[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line88[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line61[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line82[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line76[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line80[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line74[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line78[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line70[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line72[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line89[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line91[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line66[0])+/Kids [+<<+/T (Line40427[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line64[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line68[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line85[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line87[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line83[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line81[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line62[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line16[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount_Eligible_Dependant[0])+/Kids [+<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ( 11,285.00)+>>]+>> +<<+/T (Line23[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line22[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Spouse_CPL_Amount[0])+/Kids [+<<+/T (Line20[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line18[0])+/Kids [+<<+/T (Amount[0])+/V ( 11,285.00)+>>]+>> +<<+/T (Line19[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line25[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line24[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line17[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartA[0])+/Kids [+<<+/T (Column7[0])+/Kids [+<<+/T (Line9[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line11[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V (240,716.00)+>>]+>> +<<+/T (Line13[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Percent_Amount[0])+/V (20.5%)+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V (28,109.25)+>>]+>> +<<+/T (Line15[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column3[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line5[0])+/Kids [+<<+/T (Percent_Amount[0])+/V (10.5%)+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V ( 5,825.60)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V ( 91,310.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Column6[0])+/Kids [+<<+/T (Line9[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line11[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V (172,602.00)+>>]+>> +<<+/T (Line13[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Percent_amount[0])+/V (16.8%)+>>]+>> +<<+/T (Line15[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V (16,666.10)+>>]+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line9[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line11[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (LIne15[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V (127,299.00)+>>]+>> +<<+/T (Line13[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Percent_Amount[0])+/V (14.7%)+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V (10,006.56)+>>]+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Percent_Amount[0])+/V (12.29%)+>>]+>> +<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V ( 7,245.73)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V ( 104,835.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Percent_Amount[0])+/V (5.06%)+>>]+>> +<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V ( 0.00)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V ( 0.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line5[0])+/Kids [+<<+/T (Percent_Amount[0])+/V (7.7%)+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V ( 2,310.09)+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V ( 45,654.00)+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/479/5006-tc-fill-23e.fdf view
@@ -0,0 +1,270 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (ON_Political_Contribution[0])+/Kids [+<<+/T (Line16[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line17[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line18[0])+/Kids [+<<+/T (Line63220[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Amount2[0])+/V ()+>>]+>> +<<+/T (Line19[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line20[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (ON_coop_education[0])+/Kids [+<<+/T (Line63265[0])+/Kids [+<<+/T (RadioButtonGroup[0])+/V /+>>]+>> +<<+/T (Line63260[0])+/Kids [+<<+/T (NmbrApprentices[0])+/V ()+>>]+>> +<<+/T (Line63270[0])+/Kids [+<<+/T (BusinessNumber_9_Comb_Bottom_Adv[0])+/Kids [+<<+/T (BusinessNumber[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Line15[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V (35,000.00)+>>]+>> +<<+/T (Line5[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line9[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line11[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Percent_ReadOnly[0])+/V (5%)+>>]+>> +<<+/T (Line13[0])+/Kids [+<<+/T (Line63100[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Percent_ReadOnly[0])+/V (25%)+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/479/5010-tc-fill-23e.fdf view
@@ -0,0 +1,634 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Line16[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (BCMETC[0])+/Kids [+<<+/T (Line24[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line23[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (BCTTC[0])+/Kids [+<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line29[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31[0])+/Kids [+<<+/T (I2[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>>]+>> +<<+/T (I1[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>>]+>> +<<+/T (Line32[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (BCVCTC[0])+/Kids [+<<+/T (Line19[0])+/Kids [+<<+/T (Account_Number_Comb_EN[0])+/Kids [+<<+/T (Account_Number[0])+/V ()+>>]+>>]+>> +<<+/T (Line20[0])+/Kids [+<<+/T (Note1[0])+/V /+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line18[0])+/Kids [+<<+/T (Note1[0])+/V /+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line17[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Account_Number[0])+/V ()+>>]+>> +<<+/T (Line22[0])+/Kids [+<<+/T (I2[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>>]+>> +<<+/T (I1[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (BCCBTC[0])+/Kids [+<<+/T (Line27[0])+/Kids [+<<+/T (I2[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>>]+>> +<<+/T (I1[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>>]+>> +<<+/T (Line25[0])+/Kids [+<<+/T (I1[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>>]+>> +<<+/T (Line26[0])+/Kids [+<<+/T (I1[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (Line41[0])+/Kids [+<<+/T (I2[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>>]+>> +<<+/T (I1[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>>]+>> +<<+/T (Table[0])+/Kids [+<<+/T (Row1[0])+/Kids [+<<+/T (Nameoflandlord[0])+/V ()+>> +<<+/T (Rentaladdress[0])+/V ()+>> +<<+/T (Numberofmonths[0])+/V ()+>> +<<+/T (RentPaid[0])+/V ()+>>]+>> +<<+/T (Headers[0])+/Kids [+<<+/T (Footnote1[0])+/V /+>>]+>> +<<+/T (Row2[0])+/Kids [+<<+/T (Nameoflandlord[0])+/V ()+>> +<<+/T (Rentpaid[0])+/V ()+>> +<<+/T (Rentaladdress[0])+/V ()+>> +<<+/T (Numberofmonths[0])+/V ()+>>]+>>]+>> +<<+/T (Line38[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line39[0])+/Kids [+<<+/T (PercentAmount_ReadOnly[0])+/V (2%)+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line35[0])+/Kids [+<<+/T (Amount_ReadOnly[0])+/V ( 400.00)+>>]+>> +<<+/T (Line36[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line37[0])+/Kids [+<<+/T (AmountRead_Only[0])+/V ( 60,000.00)+>>]+>> +<<+/T (Line42[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40[0])+/Kids [+<<+/T (L1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (L2[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Chart[0])+/Kids [+<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Col2_Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Col2_Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Col2_Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Col2_Amount[0])+/V ()+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Col2_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Col1_Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Col1_Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Col1_Amount[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Col1_Amount[0])+/V ()+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Col1_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Line9[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line11[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (BCSHRTC[0])+/Kids [+<<+/T (Line60890[0])+/Kids [+<<+/T (CheckBox[0])+/V /+>>]+>> +<<+/T (Line15[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Line60480[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line13[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (Background[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (Background[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Background[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/5000-s11-fill-23e.fdf view
@@ -0,0 +1,302 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Transfer_CF[0])+/Kids [+<<+/T (Line25[0])+/Kids [+<<+/T (Amount25[0])+/V ()+>>]+>> +<<+/T (Line20[0])+/Kids [+<<+/T (Amount20[0])+/V ()+>>]+>> +<<+/T (Line18[0])+/Kids [+<<+/T (Amount18[0])+/V ()+>>]+>> +<<+/T (Line19[0])+/Kids [+<<+/T (Amount19[0])+/V ()+>>]+>> +<<+/T (Line24[0])+/Kids [+<<+/T (Amount24[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount21[0])+/V ()+>>]+>> +<<+/T (Line23[0])+/Kids [+<<+/T (Amount22[0])+/V ()+>>]+>> +<<+/T (Line22[0])+/Kids [+<<+/T (Amount22[0])+/V ()+>>]+>>]+>> +<<+/T (Enrolment[0])+/Kids [+<<+/T (Line32020[0])+/Kids [+<<+/T (Fulltime_Months[0])+/V ()+>>]+>> +<<+/T (Line32010[0])+/Kids [+<<+/T (parttime_Months[0])+/V ()+>>]+>> +<<+/T (Line32005[0])+/Kids [+<<+/T (CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (YourTuition[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Amount6[0])+/V ()+>>]+>> +<<+/T (Line8[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount7[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount8[0])+/V ()+>>]+>> +<<+/T (Line9[0])+/Kids [+<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>>]+>> +<<+/T (Line11[0])+/Kids [+<<+/T (Amount11[0])+/V ()+>> +<<+/T (Line11[0])+/Kids [+<<+/T (Amount11[0])+/V ()+>>]+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Amount10[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount5[0])+/V ()+>>]+>> +<<+/T (Line13[0])+/Kids [+<<+/T (Amount13[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount4[0])+/V ()+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Amount12[0])+/V ()+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line17[0])+/Kids [+<<+/T (Amount17[0])+/V ()+>>]+>> +<<+/T (Line15[0])+/Kids [+<<+/T (Amount15[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount14[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line16[0])+/Kids [+<<+/T (Amount16[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/5000-s6-fill-23e.fdf view
@@ -0,0 +1,758 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Step1_tickboxes[0])+/Kids [+<<+/T (Questions[0])+/Kids [+<<+/T (Line38104[0])+/Kids [+<<+/T (Line38104_CheckBoxGroup[0])+/Kids [+<<+/T (Line38104_CheckBox_EN[1])+/V /+>> +<<+/T (Line38104_CheckBox_EN[0])+/V /+>>]+>>]+>> +<<+/T (Line38103[0])+/Kids [+<<+/T (Line38103_CheckBoxGroup[0])+/Kids [+<<+/T (Line38103_CheckBox_EN[1])+/V /+>> +<<+/T (Line38103_CheckBox_EN[0])+/V /+>>]+>>]+>> +<<+/T (Line38101[0])+/Kids [+<<+/T (Line38101_CheckBoxGroup[0])+/Kids [+<<+/T (Line38101_CheckBox_EN[1])+/V /+>> +<<+/T (Line38101_CheckBox_EN[0])+/V /+>>]+>>]+>> +<<+/T (Line38102[0])+/Kids [+<<+/T (Line38102_CheckBoxGroup[0])+/Kids [+<<+/T (Line38102_CheckBox_EN[1])+/V /+>> +<<+/T (Line38102_CheckBox_EN[0])+/V /+>>]+>>]+>> +<<+/T (Line38105[0])+/Kids [+<<+/T (Note1[0])+/V /+>> +<<+/T (Line38105_CheckBoxGroup[0])+/Kids [+<<+/T (Line38105_CheckBox_EN[1])+/V /+>> +<<+/T (Line38105_CheckBox_EN[0])+/V /+>>]+>>]+>> +<<+/T (Line38100[0])+/Kids [+<<+/T (Line38100_CheckBoxGroup[0])+/Kids [+<<+/T (Line38100_CheckBox_EN[1])+/V /+>> +<<+/T (Line38100_CheckBox_EN[0])+/V /+>>]+>>]+>>]+>>]+>> +<<+/T (PartA[0])+/Kids [+<<+/T (Chart[0])+/Kids [+<<+/T (Line5_Sub[0])+/Kids [+<<+/T (Amount2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (line4[0])+/Kids [+<<+/T (Note1[0])+/V /+>> +<<+/T (Amount2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Amount2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Note2[0])+/V /+>> +<<+/T (Amount2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Chart[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line9[0])+/Kids [+<<+/T (Amount2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Amount2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line11[0])+/Kids [+<<+/T (Amount2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Amount2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Line13[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line15[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[4])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page5[0])+/Kids [+<<+/T (Step4[0])+/Kids [+<<+/T (Line49[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line45[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line48[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line46[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line47[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line44[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Step3[0])+/Kids [+<<+/T (Line29[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line35[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line36[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line37[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30[0])+/Kids [+<<+/T (Amount[0])+/V ( 1,150.00)+>>]+>> +<<+/T (Line33[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32[0])+/Kids [+<<+/T (Percent[0])+/V (27%)+>>]+>> +<<+/T (Line41[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line39[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line38[0])+/Kids [+<<+/T (Percent[0])+/V ()+>>]+>> +<<+/T (Line42[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Step2[0])+/Kids [+<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line19[0])+/Kids [+<<+/T (Percent[0])+/V (27%)+>>]+>> +<<+/T (Line18[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line17[0])+/Kids [+<<+/T (Amount[0])+/V ( 3,000.00)+>>]+>> +<<+/T (Line16[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line20[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line26[0])+/Kids [+<<+/T (Percent[0])+/V (15%)+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line24[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line23[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/5000-s7-fill-23e.fdf view
@@ -0,0 +1,334 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (PartA[0])+/Kids [+<<+/T (Line5[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (PartC[0])+/Kids [+<<+/T (Line16[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line11[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line13[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line19[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line18[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line20[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line17[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line15[0])+/Kids [+<<+/T (Note1[0])+/V /+>> +<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>>]+>> +<<+/T (PartB[0])+/Kids [+<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line9[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (PartE[0])+/Kids [+<<+/T (Line28[0])+/Kids [+<<+/T (Box_Line27[0])+/V /+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line26[0])+/Kids [+<<+/T (Box_Line25[0])+/V /+>>]+>>]+>> +<<+/T (PartD[0])+/Kids [+<<+/T (Line24[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line23[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartF[0])+/Kids [+<<+/T (Line29[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/5000-s9-fill-23e.fdf view
@@ -0,0 +1,286 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page1[0])+/Kids [+<<+/T (AmountC[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line8[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line6[0])+/Kids [+<<+/T (AmountA[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (AmountE[0])+/Kids [+<<+/T (Amount_Line14[0])+/V ()+>>]+>> +<<+/T (Line10[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line19[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line17[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line12[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount_Line14[0])+/V ()+>>]+>> +<<+/T (Line16[0])+/Kids [+<<+/T (NumWithoutCurrency[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (AmountG[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line23[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line5[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line7[0])+/Kids [+<<+/T (AmountD[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line9[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (AmountB[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line11[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line13[0])+/Kids [+<<+/T (Amount_Line13[0])+/V ()+>>]+>> +<<+/T (Line3[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line18[0])+/Kids [+<<+/T (Amount[0])+/V ( 235,675.00)+>>]+>> +<<+/T (Line15[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line20[0])+/Kids [+<<+/T (AmountF[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22[0])+/Kids [+<<+/T (AmountH[0])+/Kids [+<<+/T (Amount_Line14[0])+/V ()+>>]+>> +<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/T1/fdf/5001-r-fill-23e.fdf view
@@ -0,0 +1,2206 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Foreign_property[0])+/Kids [+<<+/T (Line26600[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[1])+/V /+>> +<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>>]+>> +<<+/T (Indian_Act[0])+/Kids [+<<+/T (IndianAct_Question[0])+/Kids [+<<+/T (Checkbox[0])+/V /+>>]+>>]+>> +<<+/T (ElectionsCanada[0])+/Kids [+<<+/T (LineA[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>>]+>> +<<+/T (LineB[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (CAI[0])+/Kids [+<<+/T (AB_CAI[0])+/Kids [+<<+/T (Tick_box[0])+/V /+>>]+>>]+>> +<<+/T (ResidencyInformation[0])+/Kids [+<<+/T (Question[0])+/Kids [+<<+/T (Residency_CheckBox[1])+/V /+>> +<<+/T (Residency_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (Return-pg3[0])+/Kids [+<<+/T (Line11410[0])+/Kids [+<<+/T (Line_11410_Amount[0])+/V ()+>>]+>> +<<+/T (Line13700[0])+/Kids [+<<+/T (Line_13700_Amount[0])+/V ()+>> +<<+/T (Line13699[0])+/Kids [+<<+/T (Line_13699_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12000[0])+/Kids [+<<+/T (Line_12000_Amount[0])+/V ()+>>]+>> +<<+/T (Line14500[0])+/Kids [+<<+/T (Line_14500_Amount[0])+/V ()+>>]+>> +<<+/T (Line12600[0])+/Kids [+<<+/T (Line12599[0])+/Kids [+<<+/T (Line_12599_Amount[0])+/V ()+>>]+>> +<<+/T (Line_12600_Amount[0])+/V ()+>>]+>> +<<+/T (Line10130[0])+/Kids [+<<+/T (Line_10130_Amount[0])+/V ()+>>]+>> +<<+/T (Line12900[0])+/Kids [+<<+/T (Line_12900_Amount[0])+/V ()+>>]+>> +<<+/T (Line13010[0])+/Kids [+<<+/T (Line_13010_Amount[0])+/V ()+>>]+>> +<<+/T (Line15000[0])+/Kids [+<<+/T (Line_15000_Amount[0])+/V ()+>>]+>> +<<+/T (Line12010[0])+/Kids [+<<+/T (Line_12010_Amount[0])+/V ()+>>]+>> +<<+/T (Line10400[0])+/Kids [+<<+/T (Line_10400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12905[0])+/Kids [+<<+/T (Line_12905_Amount[0])+/V ()+>>]+>> +<<+/T (Line14300[0])+/Kids [+<<+/T (Line14299[0])+/Kids [+<<+/T (Line_14299_Amount[0])+/V ()+>>]+>> +<<+/T (Line_14300_Amount[0])+/V ()+>>]+>> +<<+/T (Line13500[0])+/Kids [+<<+/T (Line13499[0])+/Kids [+<<+/T (Line_13499_Amount[0])+/V ()+>>]+>> +<<+/T (Line_13500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11500[0])+/Kids [+<<+/T (Line_11500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11701[0])+/Kids [+<<+/T (Line_11701_Amount[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14600[0])+/Kids [+<<+/T (Line_14600_Amount[0])+/V ()+>>]+>> +<<+/T (Line11900[0])+/Kids [+<<+/T (Line_11900_Amount[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14100[0])+/Kids [+<<+/T (Line_14100_Amount[0])+/V ()+>> +<<+/T (Line14099[0])+/Kids [+<<+/T (Line_14099_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line11600[0])+/Kids [+<<+/T (Line_11600_Amount[0])+/V ()+>>]+>> +<<+/T (Line14700[0])+/Kids [+<<+/T (Line_14700_Amount1[0])+/V ()+>> +<<+/T (Line_14700_Amount2[0])+/V ()+>>]+>> +<<+/T (Line14400[0])+/Kids [+<<+/T (Line_14400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12700[0])+/Kids [+<<+/T (Line_12700_Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Line_10100_Amount[0])+/V ()+>>]+>> +<<+/T (Line12100[0])+/Kids [+<<+/T (Line_12100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11300[0])+/Kids [+<<+/T (Line_11300_Amount[0])+/V ()+>>]+>> +<<+/T (Line12800[0])+/Kids [+<<+/T (Line_12800_Amount[0])+/V ()+>> +<<+/T (Line_12799[0])+/Kids [+<<+/T (Line_12799_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line12906[0])+/Kids [+<<+/T (Line_12906_Amount[0])+/V ()+>>]+>> +<<+/T (Line11400[0])+/Kids [+<<+/T (Line_11400_Amount[0])+/V ()+>>]+>> +<<+/T (Line13900[0])+/Kids [+<<+/T (Line_13900_Amount[0])+/V ()+>> +<<+/T (Line13899[0])+/Kids [+<<+/T (Line_13899_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line13000[0])+/Kids [+<<+/T (Line_13000_Amount[0])+/V ()+>> +<<+/T (Line_13000_Specify[0])+/V ()+>>]+>> +<<+/T (Line11905[0])+/Kids [+<<+/T (Line_11905_Amount[0])+/V ()+>>]+>> +<<+/T (Line12200[0])+/Kids [+<<+/T (Line_12200_Amount[0])+/V ()+>>]+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Line_11700_Amount[0])+/V ()+>>]+>> +<<+/T (Line10105[0])+/Kids [+<<+/T (Line_10105_Amount[0])+/V ()+>>]+>> +<<+/T (Line10120[0])+/Kids [+<<+/T (Line_10120_Amount[0])+/V ()+>>]+>> +<<+/T (Line12500[0])+/Kids [+<<+/T (Line_12500_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Return-pg1[0])+/Kids [+<<+/T (Identification[0])+/Kids [+<<+/T (EmailAddress[0])+/V ()+>> +<<+/T (DateDeath_Comb_BordersAll[0])+/Kids [+<<+/T (DateDeath_Comb[0])+/V ()+>>]+>> +<<+/T (PostalCode_Comb_BordersAll[0])+/Kids [+<<+/T (PostalCode[0])+/V ()+>>]+>> +<<+/T (Your_Language[0])+/Kids [+<<+/T (RadioButtonlanguaget[0])+/V /+>>]+>> +<<+/T (ID_City[0])+/V ()+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (ID_LastName[0])+/V ()+>> +<<+/T (DateBirth_Comb_BordersAll[0])+/Kids [+<<+/T (DateBirth_Comb[0])+/V ()+>>]+>> +<<+/T (ID_FirstNameInitial[0])+/V ()+>> +<<+/T (ID_MailingAddress[0])+/V ()+>> +<<+/T (MaritalStatus_Checkbox[0])+/Kids [+<<+/T (MaritalStatus[2])+/V /+>> +<<+/T (MaritalStatus[1])+/V /+>> +<<+/T (MaritalStatus[0])+/V /+>> +<<+/T (MaritalStatus[5])+/V /+>> +<<+/T (MaritalStatus[4])+/V /+>> +<<+/T (MaritalStatus[3])+/V /+>>]+>> +<<+/T (ID_RuralRoute[0])+/V ()+>> +<<+/T (ID_POBox[0])+/V ()+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Residence_Info[0])+/Kids [+<<+/T (Prov_DropDown-Business[0])+/V ()+>> +<<+/T (Prov_DropDown-Residence[0])+/V ()+>> +<<+/T (Date_Departure[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Date_Entry[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Info_Spouse_CLP[0])+/Kids [+<<+/T (Line23600[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Self-employment[0])+/Kids [+<<+/T (Checkbox[0])+/V /+>>]+>> +<<+/T (Spouse_First_Name[0])+/V ()+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[6])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[5])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[4])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[7])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page5[0])+/Kids [+<<+/T (Return-pg5[0])+/Kids [+<<+/T (Step4[0])+/Kids [+<<+/T (Line25500[0])+/Kids [+<<+/T (Line_25500_Amount[0])+/V ()+>>]+>> +<<+/T (Line24900[0])+/Kids [+<<+/T (Line_24900_Amount[0])+/V ()+>>]+>> +<<+/T (Line24400[0])+/Kids [+<<+/T (Line_24400_Amount[0])+/V ()+>>]+>> +<<+/T (Line25200[0])+/Kids [+<<+/T (Line_25200_Amount[0])+/V ()+>>]+>> +<<+/T (Line25600[0])+/Kids [+<<+/T (Line_25600_Specify[0])+/V ()+>> +<<+/T (Line_25600_Amount[0])+/V ()+>>]+>> +<<+/T (Line25100[0])+/Kids [+<<+/T (Line_25100_Amount[0])+/V ()+>>]+>> +<<+/T (Line26000[0])+/Kids [+<<+/T (Line_26000_Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25700[0])+/Kids [+<<+/T (Line_25700_Amount2[0])+/V ()+>> +<<+/T (Line_25700_Amount1[0])+/V ()+>>]+>> +<<+/T (Line25300[0])+/Kids [+<<+/T (Line_25300_Amount[0])+/V ()+>>]+>> +<<+/T (Line25000[0])+/Kids [+<<+/T (Line_25000_Amount[0])+/V ()+>>]+>> +<<+/T (Line25400[0])+/Kids [+<<+/T (Line_25400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartB[0])+/Kids [+<<+/T (Line30100[0])+/Kids [+<<+/T (Line_30100_Amount[0])+/V ()+>>]+>> +<<+/T (Line30400[0])+/Kids [+<<+/T (Line_30400_Amount[0])+/V ()+>>]+>> +<<+/T (Line30300[0])+/Kids [+<<+/T (Line_30300_Amount[0])+/V ()+>>]+>> +<<+/T (Line30425[0])+/Kids [+<<+/T (Line_30425_Amount[0])+/V ()+>>]+>> +<<+/T (Line30450[0])+/Kids [+<<+/T (Line_30450_Amount[0])+/V ()+>>]+>> +<<+/T (Line30500[0])+/Kids [+<<+/T (Line_30500_Amount[0])+/V ()+>> +<<+/T (Line30499[0])+/Kids [+<<+/T (Line_30499_ChildrenNum[0])+/V ()+>>]+>>]+>> +<<+/T (Line83[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30000[0])+/Kids [+<<+/T (Line_30000_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartA[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line42Amount3[0])+/V ()+>> +<<+/T (Line37Amount3[0])+/V ( 106,717.00)+>> +<<+/T (Line39Rate3[0])+/V (26%)+>> +<<+/T (Line41Amount3[0])+/V ( 18,942.24)+>> +<<+/T (Line36Amount3[0])+/V ()+>> +<<+/T (Line40Amount3[0])+/V ()+>> +<<+/T (Line38Amount3[0])+/V ()+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line41Amount5[0])+/V ( 54,578.67)+>> +<<+/T (Line36Amount5[0])+/V ()+>> +<<+/T (Line37Amount5[0])+/V ( 235,675.00)+>> +<<+/T (Line39Rate5[0])+/V (33%)+>> +<<+/T (Line40Amount5[0])+/V ()+>> +<<+/T (Line42Amount5[0])+/V ()+>> +<<+/T (Line38Amount5[0])+/V ()+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line36Amount4[0])+/V ()+>> +<<+/T (Line37Amount4[0])+/V ( 165,430.00)+>> +<<+/T (Line39Rate4[0])+/V (29%)+>> +<<+/T (Line41Amount4[0])+/V ( 34,207.62)+>> +<<+/T (Line40Amount4[0])+/V ()+>> +<<+/T (Line42Amount4[0])+/V ()+>> +<<+/T (Line38Amount4[0])+/V ()+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line37Amount2[0])+/V ( 53,359.00)+>> +<<+/T (Line41Amount2[0])+/V ( 8,003.85)+>> +<<+/T (Line36Amount2[0])+/V ()+>> +<<+/T (Line40Amount2[0])+/V ()+>> +<<+/T (Line39Rate2[0])+/V (20.5%)+>> +<<+/T (Line38Amount2[0])+/V ()+>> +<<+/T (Line42Amount2[0])+/V ()+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line38Amount1[0])+/V ()+>> +<<+/T (Line37Amount1[0])+/V ( 0.00)+>> +<<+/T (Line36Amount1[0])+/V ()+>> +<<+/T (Line39Rate1[0])+/V (15%)+>> +<<+/T (Line40Amount1[0])+/V ()+>> +<<+/T (Line41Amount1[0])+/V ( 0.00)+>> +<<+/T (Line42Amount1[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Return-pg4[0])+/Kids [+<<+/T (Line23400[0])+/Kids [+<<+/T (Line_23400_Amount[0])+/V ()+>>]+>> +<<+/T (Line22000[0])+/Kids [+<<+/T (Line21999[0])+/Kids [+<<+/T (Line_21999_Amount[0])+/V ()+>>]+>> +<<+/T (Line_22000_Amount[0])+/V ()+>>]+>> +<<+/T (Line23100[0])+/Kids [+<<+/T (Line_23100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22900[0])+/Kids [+<<+/T (Line_22900_Amount[0])+/V ()+>>]+>> +<<+/T (Line23200[0])+/Kids [+<<+/T (Line_23200_Amount[0])+/V ()+>> +<<+/T (Line_23200_Specify[0])+/V ()+>>]+>> +<<+/T (Line23500[0])+/Kids [+<<+/T (Line_23500_Amount[0])+/V ()+>>]+>> +<<+/T (Line21500[0])+/Kids [+<<+/T (Line_21500_Amount[0])+/V ()+>>]+>> +<<+/T (Line20700[0])+/Kids [+<<+/T (Line_20700_Amount[0])+/V ()+>>]+>> +<<+/T (Line21200[0])+/Kids [+<<+/T (Line_21200_Amount[0])+/V ()+>>]+>> +<<+/T (Line21000[0])+/Kids [+<<+/T (Line_21000_Amount[0])+/V ()+>>]+>> +<<+/T (Line21900[0])+/Kids [+<<+/T (Line_21900_Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22400[0])+/Kids [+<<+/T (Line_22400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20800[0])+/Kids [+<<+/T (Line_20800_Amount[0])+/V ()+>>]+>> +<<+/T (Line22100[0])+/Kids [+<<+/T (Line_22100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22215[0])+/Kids [+<<+/T (Line_22215_Amount[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Line_21300_Amount[0])+/V ()+>>]+>> +<<+/T (Line22200[0])+/Kids [+<<+/T (Line_22200_Amount[0])+/V ()+>>]+>> +<<+/T (Line20810[0])+/Kids [+<<+/T (Line_20810_Amount[0])+/V ()+>>]+>> +<<+/T (Line23600[0])+/Kids [+<<+/T (Line_23600_Amount[0])+/V ()+>>]+>> +<<+/T (Line20805[0])+/Kids [+<<+/T (Line_20805_Amount[0])+/V ()+>>]+>> +<<+/T (Line21400[0])+/Kids [+<<+/T (Line_21400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20600[0])+/Kids [+<<+/T (Line_20600_Amount[0])+/V ()+>>]+>> +<<+/T (Line23300[0])+/Kids [+<<+/T (Line_23300_Amount2[0])+/V ()+>> +<<+/T (Line_23300_Amount1[0])+/V ()+>>]+>> +<<+/T (Line21700[0])+/Kids [+<<+/T (Line_21700_Amount[0])+/V ()+>> +<<+/T (Line21699[0])+/Kids [+<<+/T (Line_21699_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page7[0])+/Kids [+<<+/T (Return-pg7[0])+/Kids [+<<+/T (Step6[0])+/Kids [+<<+/T (Line42200[0])+/Kids [+<<+/T (Line_42200_Amount[0])+/V ()+>>]+>> +<<+/T (Line43500[0])+/Kids [+<<+/T (Line_43500_Amount[0])+/V ()+>>]+>> +<<+/T (Line42120[0])+/Kids [+<<+/T (Line_42120_Amount[0])+/V ()+>>]+>> +<<+/T (Line42800[0])+/Kids [+<<+/T (Line_42800_Amount[0])+/V ()+>>]+>> +<<+/T (Line42100[0])+/Kids [+<<+/T (Line_42100_Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartC[0])+/Kids [+<<+/T (Line40600[0])+/Kids [+<<+/T (Line_40600_Amount[0])+/V ()+>>]+>> +<<+/T (Line41000[0])+/Kids [+<<+/T (Line_41000_Amount[0])+/V ()+>> +<<+/T (Line40900[0])+/Kids [+<<+/T (Line_40900_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line118[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line124[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line121[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line127[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40427[0])+/Kids [+<<+/T (Line_40427_Amount[0])+/V ()+>>]+>> +<<+/T (Line126[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41600[0])+/Kids [+<<+/T (Line_41600_Amount1[0])+/V ()+>> +<<+/T (Line_41600_Amount2[0])+/V ()+>>]+>> +<<+/T (Line129[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42900[0])+/Kids [+<<+/T (Line_42900_Amount[0])+/V ()+>>]+>> +<<+/T (Line40500[0])+/Kids [+<<+/T (Line_40500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41200[0])+/Kids [+<<+/T (Line_41200_Amount[0])+/V ()+>>]+>> +<<+/T (Line41800[0])+/Kids [+<<+/T (Line_41800_Amount[0])+/V ()+>>]+>> +<<+/T (Line131[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40424[0])+/Kids [+<<+/T (Line_40424_Amount[0])+/V ()+>>]+>> +<<+/T (Line40425[0])+/Kids [+<<+/T (Line_40425_Amount[0])+/V ()+>>]+>> +<<+/T (Line132[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line130[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41500[0])+/Kids [+<<+/T (Line_41500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41400[0])+/Kids [+<<+/T (Line_41400_Amount[0])+/V ()+>> +<<+/T (Line41300[0])+/Kids [+<<+/T (Line_41300_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line42000[0])+/Kids [+<<+/T (Line_42000_Amount[0])+/V ()+>>]+>> +<<+/T (Line40400[0])+/Kids [+<<+/T (Line_40400_Amount[0])+/V ()+>>]+>> +<<+/T (Line41700[0])+/Kids [+<<+/T (Line_41700_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page6[0])+/Kids [+<<+/T (Return-pg6[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line31240[0])+/Kids [+<<+/T (Line_31240_Amount[0])+/V ()+>>]+>> +<<+/T (Line98[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32300[0])+/Kids [+<<+/T (Line_32300_Amount[0])+/V ()+>>]+>> +<<+/T (Line96[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31217[0])+/Kids [+<<+/T (Line_31217_Amount[0])+/V ()+>>]+>> +<<+/T (Line32600[0])+/Kids [+<<+/T (Line_32600_Amount[0])+/V ()+>>]+>> +<<+/T (Line35000[0])+/Kids [+<<+/T (Line_35000_Amount[0])+/V ()+>>]+>> +<<+/T (Line110[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line108[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31800[0])+/Kids [+<<+/T (Line_31800_Amount[0])+/V ()+>>]+>> +<<+/T (Line106[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33099[0])+/Kids [+<<+/T (Line_33099_Amount[0])+/V ()+>>]+>> +<<+/T (Line114[0])+/Kids [+<<+/T (Percent[0])+/V (15%)+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33500[0])+/Kids [+<<+/T (Line_33500_Amount[0])+/V ()+>>]+>> +<<+/T (Line33800[0])+/Kids [+<<+/T (Line_33800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31200[0])+/Kids [+<<+/T (Line_31200_Amount[0])+/V ()+>>]+>> +<<+/T (Line34900[0])+/Kids [+<<+/T (Line_34900_Amount[0])+/V ()+>>]+>> +<<+/T (Line31000[0])+/Kids [+<<+/T (Line_31000_Amount[0])+/V ()+>>]+>> +<<+/T (Line31600[0])+/Kids [+<<+/T (Line_31600_Amount[0])+/V ()+>>]+>> +<<+/T (Line31350[0])+/Kids [+<<+/T (Line_31350_Amount[0])+/V ()+>>]+>> +<<+/T (Line31900[0])+/Kids [+<<+/T (Line_31900_Amount[0])+/V ()+>>]+>> +<<+/T (Line32400[0])+/Kids [+<<+/T (Line_32400_Amount[0])+/V ()+>>]+>> +<<+/T (Line33199[0])+/Kids [+<<+/T (Line_33199_Amount[0])+/V ()+>>]+>> +<<+/T (Line101[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31260[0])+/Kids [+<<+/T (Line_31260_Amount[0])+/V ()+>>]+>> +<<+/T (Line33200[0])+/Kids [+<<+/T (Line_33200_Amount2[0])+/V ()+>> +<<+/T (Line_33200_Amount1[0])+/V ()+>>]+>> +<<+/T (Line30800[0])+/Kids [+<<+/T (Line_30800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31285[0])+/Kids [+<<+/T (Line_31285_Amount[0])+/V ()+>>]+>> +<<+/T (Line31300[0])+/Kids [+<<+/T (Line_31300_Amount[0])+/V ()+>>]+>> +<<+/T (Line109[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31270[0])+/Kids [+<<+/T (Line_31270_Amount[0])+/V ()+>>]+>> +<<+/T (Line31220[0])+/Kids [+<<+/T (Line_31220_Amount[0])+/V ()+>>]+>> +<<+/T (Line31400[0])+/Kids [+<<+/T (Line_31400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page8[0])+/Kids [+<<+/T (Return-pg8[0])+/Kids [+<<+/T (Step6-Cont[0])+/Kids [+<<+/T (Line44800[0])+/Kids [+<<+/T (Line_44800_Amount[0])+/V ()+>>]+>> +<<+/T (Line45355[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line46900[0])+/Kids [+<<+/T (Line_46900_Amount[0])+/V ()+>> +<<+/T (Line46800[0])+/Kids [+<<+/T (Line_46800_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line47600[0])+/Kids [+<<+/T (Line_47600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45200[0])+/Kids [+<<+/T (Line_45200_Amount[0])+/V ()+>>]+>> +<<+/T (Line45600[0])+/Kids [+<<+/T (Line_45600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45350[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45300[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45000[0])+/Kids [+<<+/T (Line_45000_Amount[0])+/V ()+>>]+>> +<<+/T (Line47900[0])+/Kids [+<<+/T (Line_47900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47557[0])+/Kids [+<<+/T (Line_47557_Amount[0])+/V ()+>>]+>> +<<+/T (Line47556[0])+/Kids [+<<+/T (Line_47556_Amount[0])+/V ()+>>]+>> +<<+/T (Line47555[0])+/Kids [+<<+/T (Line_47555_Amount[0])+/V ()+>>]+>> +<<+/T (Line167[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43700[0])+/Kids [+<<+/T (Line_43700_Amount[0])+/V ()+>>]+>> +<<+/T (Line148[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line48200[0])+/Kids [+<<+/T (Line_48200_Amount1[0])+/V ()+>> +<<+/T (Line_48200_Amount2[0])+/V ()+>>]+>> +<<+/T (Line45700[0])+/Kids [+<<+/T (Line_45700_Amount[0])+/V ()+>>]+>> +<<+/T (Line44000[0])+/Kids [+<<+/T (Line_44000_Amount[0])+/V ()+>>]+>> +<<+/T (Line45400[0])+/Kids [+<<+/T (Line_45400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Certification[0])+/Kids [+<<+/T (Date[0])+/V ()+>> +<<+/T (Telephone[0])+/V ()+>>]+>> +<<+/T (Efile[0])+/Kids [+<<+/T (Line48900[0])+/Kids [+<<+/T (EFile[0])+/V ()+>>]+>> +<<+/T (TelephoneOfPreparer[0])+/V ()+>> +<<+/T (NameOfPreparer[0])+/V ()+>> +<<+/T (Line49000[0])+/Kids [+<<+/T (Line49000_CheckBoxGroup[0])+/Kids [+<<+/T (Line49000_CheckBox_EN[0])+/V /+>> +<<+/T (Line49000_CheckBox_EN[1])+/V /+>>]+>>]+>>]+>> +<<+/T (Refund_or_Balance-owing[0])+/Kids [+<<+/T (Line48500[0])+/Kids [+<<+/T (Line_48500_Amount[0])+/V ()+>>]+>> +<<+/T (Line48400[0])+/Kids [+<<+/T (Line_48400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/T1/fdf/5002-r-fill-23e.fdf view
@@ -0,0 +1,2190 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Return-pg2[0])+/Kids [+<<+/T (Tax_exempt[0])+/Kids [+<<+/T (Exempt[0])+/Kids [+<<+/T (Spouse_SelfEmployed[0])+/V /+>>]+>>]+>> +<<+/T (Foreign_property[0])+/Kids [+<<+/T (Line26600[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (ElectionsCanada[0])+/Kids [+<<+/T (LineA[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>>]+>> +<<+/T (LineB[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>>]+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (Return-pg3[0])+/Kids [+<<+/T (Line11410[0])+/Kids [+<<+/T (Line_11410_Amount[0])+/V ()+>>]+>> +<<+/T (Line13700[0])+/Kids [+<<+/T (Line_13700_Amount[0])+/V ()+>> +<<+/T (Line13699[0])+/Kids [+<<+/T (Line_13699_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12000[0])+/Kids [+<<+/T (Line_12000_Amount[0])+/V ()+>>]+>> +<<+/T (Line14500[0])+/Kids [+<<+/T (Line_14500_Amount[0])+/V ()+>>]+>> +<<+/T (Line12600[0])+/Kids [+<<+/T (Line12599[0])+/Kids [+<<+/T (Line_12599_Amount[0])+/V ()+>>]+>> +<<+/T (Line_12600_Amount[0])+/V ()+>>]+>> +<<+/T (Line10130[0])+/Kids [+<<+/T (Line_10130_Amount[0])+/V ()+>>]+>> +<<+/T (Line12900[0])+/Kids [+<<+/T (Line_12900_Amount[0])+/V ()+>>]+>> +<<+/T (Line13010[0])+/Kids [+<<+/T (Line_13010_Amount[0])+/V ()+>>]+>> +<<+/T (Line15000[0])+/Kids [+<<+/T (Line_15000_Amount[0])+/V ()+>>]+>> +<<+/T (Line12010[0])+/Kids [+<<+/T (Line_12010_Amount[0])+/V ()+>>]+>> +<<+/T (Line10400[0])+/Kids [+<<+/T (Line_10400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12905[0])+/Kids [+<<+/T (Line_12905_Amount[0])+/V ()+>>]+>> +<<+/T (Line14300[0])+/Kids [+<<+/T (Line14299[0])+/Kids [+<<+/T (Line_14299_Amount[0])+/V ()+>>]+>> +<<+/T (Line_14300_Amount[0])+/V ()+>>]+>> +<<+/T (Line13500[0])+/Kids [+<<+/T (Line13499[0])+/Kids [+<<+/T (Line_13499_Amount[0])+/V ()+>>]+>> +<<+/T (Line_13500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11500[0])+/Kids [+<<+/T (Line_11500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11701[0])+/Kids [+<<+/T (Line_11701_Amount[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14600[0])+/Kids [+<<+/T (Line_14600_Amount[0])+/V ()+>>]+>> +<<+/T (Line11900[0])+/Kids [+<<+/T (Line_11900_Amount[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14100[0])+/Kids [+<<+/T (Line_14100_Amount[0])+/V ()+>> +<<+/T (Line14099[0])+/Kids [+<<+/T (Line_14099_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line11600[0])+/Kids [+<<+/T (Line_11600_Amount[0])+/V ()+>>]+>> +<<+/T (Line14700[0])+/Kids [+<<+/T (Line_14700_Amount1[0])+/V ()+>> +<<+/T (Line_14700_Amount2[0])+/V ()+>>]+>> +<<+/T (Line14400[0])+/Kids [+<<+/T (Line_14400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12700[0])+/Kids [+<<+/T (Line_12700_Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Line_10100_Amount[0])+/V ()+>>]+>> +<<+/T (Line12100[0])+/Kids [+<<+/T (Line_12100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11300[0])+/Kids [+<<+/T (Line_11300_Amount[0])+/V ()+>>]+>> +<<+/T (Line12800[0])+/Kids [+<<+/T (Line_12800_Amount[0])+/V ()+>> +<<+/T (Line_12799[0])+/Kids [+<<+/T (Line_12799_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line12906[0])+/Kids [+<<+/T (Line_12906_Amount[0])+/V ()+>>]+>> +<<+/T (Line11400[0])+/Kids [+<<+/T (Line_11400_Amount[0])+/V ()+>>]+>> +<<+/T (Line13900[0])+/Kids [+<<+/T (Line_13900_Amount[0])+/V ()+>> +<<+/T (Line13899[0])+/Kids [+<<+/T (Line_13899_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line13000[0])+/Kids [+<<+/T (Line_13000_Amount[0])+/V ()+>> +<<+/T (Line_13000_Specify[0])+/V ()+>>]+>> +<<+/T (Line11905[0])+/Kids [+<<+/T (Line_11905_Amount[0])+/V ()+>>]+>> +<<+/T (Line12200[0])+/Kids [+<<+/T (Line_12200_Amount[0])+/V ()+>>]+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Line_11700_Amount[0])+/V ()+>>]+>> +<<+/T (Line10105[0])+/Kids [+<<+/T (Line_10105_Amount[0])+/V ()+>>]+>> +<<+/T (Line10120[0])+/Kids [+<<+/T (Line_10120_Amount[0])+/V ()+>>]+>> +<<+/T (Line12500[0])+/Kids [+<<+/T (Line_12500_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Return-pg1[0])+/Kids [+<<+/T (Identification[0])+/Kids [+<<+/T (EmailAddress[0])+/V ()+>> +<<+/T (DateDeath_Comb_BordersAll[0])+/Kids [+<<+/T (DateDeath_Comb[0])+/V ()+>>]+>> +<<+/T (PostalCode_Comb_BordersAll[0])+/Kids [+<<+/T (PostalCode[0])+/V ()+>>]+>> +<<+/T (Your_Language[0])+/Kids [+<<+/T (RadioButtonlanguaget[0])+/V /+>>]+>> +<<+/T (ID_City[0])+/V ()+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (ID_LastName[0])+/V ()+>> +<<+/T (DateBirth_Comb_BordersAll[0])+/Kids [+<<+/T (DateBirth_Comb[0])+/V ()+>>]+>> +<<+/T (ID_FirstNameInitial[0])+/V ()+>> +<<+/T (ID_MailingAddress[0])+/V ()+>> +<<+/T (MaritalStatus_Checkbox[0])+/Kids [+<<+/T (MaritalStatus[2])+/V /+>> +<<+/T (MaritalStatus[1])+/V /+>> +<<+/T (MaritalStatus[0])+/V /+>> +<<+/T (MaritalStatus[5])+/V /+>> +<<+/T (MaritalStatus[4])+/V /+>> +<<+/T (MaritalStatus[3])+/V /+>>]+>> +<<+/T (ID_RuralRoute[0])+/V ()+>> +<<+/T (ID_POBox[0])+/V ()+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Residence_Info[0])+/Kids [+<<+/T (Prov_DropDown-Business[0])+/V ()+>> +<<+/T (Prov_DropDown-Residence[0])+/V ()+>> +<<+/T (Date_Departure[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Date_Entry[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Info_Spouse_CLP[0])+/Kids [+<<+/T (Line23600[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Self-employment[0])+/Kids [+<<+/T (Checkbox[0])+/V /+>>]+>> +<<+/T (Spouse_First_Name[0])+/V ()+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[6])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[5])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[4])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[7])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page5[0])+/Kids [+<<+/T (Return-pg5[0])+/Kids [+<<+/T (Step4[0])+/Kids [+<<+/T (Line25500[0])+/Kids [+<<+/T (Line_25500_Amount[0])+/V ()+>>]+>> +<<+/T (Line24900[0])+/Kids [+<<+/T (Line_24900_Amount[0])+/V ()+>>]+>> +<<+/T (Line24400[0])+/Kids [+<<+/T (Line_24400_Amount[0])+/V ()+>>]+>> +<<+/T (Line25200[0])+/Kids [+<<+/T (Line_25200_Amount[0])+/V ()+>>]+>> +<<+/T (Line25600[0])+/Kids [+<<+/T (Line_25600_Specify[0])+/V ()+>> +<<+/T (Line_25600_Amount[0])+/V ()+>>]+>> +<<+/T (Line25100[0])+/Kids [+<<+/T (Line_25100_Amount[0])+/V ()+>>]+>> +<<+/T (Line26000[0])+/Kids [+<<+/T (Line_26000_Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25700[0])+/Kids [+<<+/T (Line_25700_Amount2[0])+/V ()+>> +<<+/T (Line_25700_Amount1[0])+/V ()+>>]+>> +<<+/T (Line25300[0])+/Kids [+<<+/T (Line_25300_Amount[0])+/V ()+>>]+>> +<<+/T (Line25000[0])+/Kids [+<<+/T (Line_25000_Amount[0])+/V ()+>>]+>> +<<+/T (Line25400[0])+/Kids [+<<+/T (Line_25400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartB[0])+/Kids [+<<+/T (Line30100[0])+/Kids [+<<+/T (Line_30100_Amount[0])+/V ()+>>]+>> +<<+/T (Line30400[0])+/Kids [+<<+/T (Line_30400_Amount[0])+/V ()+>>]+>> +<<+/T (Line30300[0])+/Kids [+<<+/T (Line_30300_Amount[0])+/V ()+>>]+>> +<<+/T (Line30425[0])+/Kids [+<<+/T (Line_30425_Amount[0])+/V ()+>>]+>> +<<+/T (Line30450[0])+/Kids [+<<+/T (Line_30450_Amount[0])+/V ()+>>]+>> +<<+/T (Line30500[0])+/Kids [+<<+/T (Line_30500_Amount[0])+/V ()+>> +<<+/T (Line30499[0])+/Kids [+<<+/T (Line_30499_ChildrenNum[0])+/V ()+>>]+>>]+>> +<<+/T (Line83[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30000[0])+/Kids [+<<+/T (Line_30000_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartA[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line42Amount3[0])+/V ()+>> +<<+/T (Line37Amount3[0])+/V ( 106,717.00)+>> +<<+/T (Line39Rate3[0])+/V (26%)+>> +<<+/T (Line41Amount3[0])+/V ( 18,942.24)+>> +<<+/T (Line36Amount3[0])+/V ()+>> +<<+/T (Line40Amount3[0])+/V ()+>> +<<+/T (Line38Amount3[0])+/V ()+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line41Amount5[0])+/V ( 54,578.67)+>> +<<+/T (Line36Amount5[0])+/V ()+>> +<<+/T (Line37Amount5[0])+/V ( 235,675.00)+>> +<<+/T (Line39Rate5[0])+/V (33%)+>> +<<+/T (Line40Amount5[0])+/V ()+>> +<<+/T (Line42Amount5[0])+/V ()+>> +<<+/T (Line38Amount5[0])+/V ()+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line36Amount4[0])+/V ()+>> +<<+/T (Line37Amount4[0])+/V ( 165,430.00)+>> +<<+/T (Line39Rate4[0])+/V (29%)+>> +<<+/T (Line41Amount4[0])+/V ( 34,207.62)+>> +<<+/T (Line40Amount4[0])+/V ()+>> +<<+/T (Line42Amount4[0])+/V ()+>> +<<+/T (Line38Amount4[0])+/V ()+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line37Amount2[0])+/V ( 53,359.00)+>> +<<+/T (Line41Amount2[0])+/V ( 8,003.85)+>> +<<+/T (Line36Amount2[0])+/V ()+>> +<<+/T (Line40Amount2[0])+/V ()+>> +<<+/T (Line39Rate2[0])+/V (20.5%)+>> +<<+/T (Line38Amount2[0])+/V ()+>> +<<+/T (Line42Amount2[0])+/V ()+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line38Amount1[0])+/V ()+>> +<<+/T (Line37Amount1[0])+/V ( 0.00)+>> +<<+/T (Line36Amount1[0])+/V ()+>> +<<+/T (Line39Rate1[0])+/V (15%)+>> +<<+/T (Line40Amount1[0])+/V ()+>> +<<+/T (Line41Amount1[0])+/V ( 0.00)+>> +<<+/T (Line42Amount1[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Return-pg4[0])+/Kids [+<<+/T (Line23400[0])+/Kids [+<<+/T (Line_23400_Amount[0])+/V ()+>>]+>> +<<+/T (Line22000[0])+/Kids [+<<+/T (Line21999[0])+/Kids [+<<+/T (Line_21999_Amount[0])+/V ()+>>]+>> +<<+/T (Line_22000_Amount[0])+/V ()+>>]+>> +<<+/T (Line23100[0])+/Kids [+<<+/T (Line_23100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22900[0])+/Kids [+<<+/T (Line_22900_Amount[0])+/V ()+>>]+>> +<<+/T (Line23200[0])+/Kids [+<<+/T (Line_23200_Amount[0])+/V ()+>> +<<+/T (Line_23200_Specify[0])+/V ()+>>]+>> +<<+/T (Line23500[0])+/Kids [+<<+/T (Line_23500_Amount[0])+/V ()+>>]+>> +<<+/T (Line21500[0])+/Kids [+<<+/T (Line_21500_Amount[0])+/V ()+>>]+>> +<<+/T (Line20700[0])+/Kids [+<<+/T (Line_20700_Amount[0])+/V ()+>>]+>> +<<+/T (Line21200[0])+/Kids [+<<+/T (Line_21200_Amount[0])+/V ()+>>]+>> +<<+/T (Line21000[0])+/Kids [+<<+/T (Line_21000_Amount[0])+/V ()+>>]+>> +<<+/T (Line21900[0])+/Kids [+<<+/T (Line_21900_Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22400[0])+/Kids [+<<+/T (Line_22400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20800[0])+/Kids [+<<+/T (Line_20800_Amount[0])+/V ()+>>]+>> +<<+/T (Line22100[0])+/Kids [+<<+/T (Line_22100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22215[0])+/Kids [+<<+/T (Line_22215_Amount[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Line_21300_Amount[0])+/V ()+>>]+>> +<<+/T (Line22200[0])+/Kids [+<<+/T (Line_22200_Amount[0])+/V ()+>>]+>> +<<+/T (Line20810[0])+/Kids [+<<+/T (Line_20810_Amount[0])+/V ()+>>]+>> +<<+/T (Line23600[0])+/Kids [+<<+/T (Line_23600_Amount[0])+/V ()+>>]+>> +<<+/T (Line20805[0])+/Kids [+<<+/T (Line_20805_Amount[0])+/V ()+>>]+>> +<<+/T (Line21400[0])+/Kids [+<<+/T (Line_21400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20600[0])+/Kids [+<<+/T (Line_20600_Amount[0])+/V ()+>>]+>> +<<+/T (Line23300[0])+/Kids [+<<+/T (Line_23300_Amount2[0])+/V ()+>> +<<+/T (Line_23300_Amount1[0])+/V ()+>>]+>> +<<+/T (Line21700[0])+/Kids [+<<+/T (Line_21700_Amount[0])+/V ()+>> +<<+/T (Line21699[0])+/Kids [+<<+/T (Line_21699_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page7[0])+/Kids [+<<+/T (Return-pg7[0])+/Kids [+<<+/T (Step6[0])+/Kids [+<<+/T (Line42200[0])+/Kids [+<<+/T (Line_42200_Amount[0])+/V ()+>>]+>> +<<+/T (Line43500[0])+/Kids [+<<+/T (Line_43500_Amount[0])+/V ()+>>]+>> +<<+/T (Line42120[0])+/Kids [+<<+/T (Line_42120_Amount[0])+/V ()+>>]+>> +<<+/T (Line42800[0])+/Kids [+<<+/T (Line_42800_Amount[0])+/V ()+>>]+>> +<<+/T (Line42100[0])+/Kids [+<<+/T (Line_42100_Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartC[0])+/Kids [+<<+/T (Line40600[0])+/Kids [+<<+/T (Line_40600_Amount[0])+/V ()+>>]+>> +<<+/T (Line41000[0])+/Kids [+<<+/T (Line_41000_Amount[0])+/V ()+>> +<<+/T (Line40900[0])+/Kids [+<<+/T (Line_40900_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line118[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line124[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line121[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line127[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40427[0])+/Kids [+<<+/T (Line_40427_Amount[0])+/V ()+>>]+>> +<<+/T (Line126[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41600[0])+/Kids [+<<+/T (Line_41600_Amount1[0])+/V ()+>> +<<+/T (Line_41600_Amount2[0])+/V ()+>>]+>> +<<+/T (Line129[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42900[0])+/Kids [+<<+/T (Line_42900_Amount[0])+/V ()+>>]+>> +<<+/T (Line40500[0])+/Kids [+<<+/T (Line_40500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41200[0])+/Kids [+<<+/T (Line_41200_Amount[0])+/V ()+>>]+>> +<<+/T (Line41800[0])+/Kids [+<<+/T (Line_41800_Amount[0])+/V ()+>>]+>> +<<+/T (Line131[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40424[0])+/Kids [+<<+/T (Line_40424_Amount[0])+/V ()+>>]+>> +<<+/T (Line40425[0])+/Kids [+<<+/T (Line_40425_Amount[0])+/V ()+>>]+>> +<<+/T (Line132[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line130[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41500[0])+/Kids [+<<+/T (Line_41500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41400[0])+/Kids [+<<+/T (Line_41400_Amount[0])+/V ()+>> +<<+/T (Line41300[0])+/Kids [+<<+/T (Line_41300_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line42000[0])+/Kids [+<<+/T (Line_42000_Amount[0])+/V ()+>>]+>> +<<+/T (Line40400[0])+/Kids [+<<+/T (Line_40400_Amount[0])+/V ()+>>]+>> +<<+/T (Line41700[0])+/Kids [+<<+/T (Line_41700_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page6[0])+/Kids [+<<+/T (Return-pg6[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line31240[0])+/Kids [+<<+/T (Line_31240_Amount[0])+/V ()+>>]+>> +<<+/T (Line98[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32300[0])+/Kids [+<<+/T (Line_32300_Amount[0])+/V ()+>>]+>> +<<+/T (Line96[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31217[0])+/Kids [+<<+/T (Line_31217_Amount[0])+/V ()+>>]+>> +<<+/T (Line32600[0])+/Kids [+<<+/T (Line_32600_Amount[0])+/V ()+>>]+>> +<<+/T (Line35000[0])+/Kids [+<<+/T (Line_35000_Amount[0])+/V ()+>>]+>> +<<+/T (Line110[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line108[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31800[0])+/Kids [+<<+/T (Line_31800_Amount[0])+/V ()+>>]+>> +<<+/T (Line106[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33099[0])+/Kids [+<<+/T (Line_33099_Amount[0])+/V ()+>>]+>> +<<+/T (Line114[0])+/Kids [+<<+/T (Percent[0])+/V (15%)+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33500[0])+/Kids [+<<+/T (Line_33500_Amount[0])+/V ()+>>]+>> +<<+/T (Line33800[0])+/Kids [+<<+/T (Line_33800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31200[0])+/Kids [+<<+/T (Line_31200_Amount[0])+/V ()+>>]+>> +<<+/T (Line34900[0])+/Kids [+<<+/T (Line_34900_Amount[0])+/V ()+>>]+>> +<<+/T (Line31000[0])+/Kids [+<<+/T (Line_31000_Amount[0])+/V ()+>>]+>> +<<+/T (Line31600[0])+/Kids [+<<+/T (Line_31600_Amount[0])+/V ()+>>]+>> +<<+/T (Line31350[0])+/Kids [+<<+/T (Line_31350_Amount[0])+/V ()+>>]+>> +<<+/T (Line31900[0])+/Kids [+<<+/T (Line_31900_Amount[0])+/V ()+>>]+>> +<<+/T (Line32400[0])+/Kids [+<<+/T (Line_32400_Amount[0])+/V ()+>>]+>> +<<+/T (Line33199[0])+/Kids [+<<+/T (Line_33199_Amount[0])+/V ()+>>]+>> +<<+/T (Line101[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31260[0])+/Kids [+<<+/T (Line_31260_Amount[0])+/V ()+>>]+>> +<<+/T (Line33200[0])+/Kids [+<<+/T (Line_33200_Amount2[0])+/V ()+>> +<<+/T (Line_33200_Amount1[0])+/V ()+>>]+>> +<<+/T (Line30800[0])+/Kids [+<<+/T (Line_30800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31285[0])+/Kids [+<<+/T (Line_31285_Amount[0])+/V ()+>>]+>> +<<+/T (Line31300[0])+/Kids [+<<+/T (Line_31300_Amount[0])+/V ()+>>]+>> +<<+/T (Line109[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31270[0])+/Kids [+<<+/T (Line_31270_Amount[0])+/V ()+>>]+>> +<<+/T (Line31220[0])+/Kids [+<<+/T (Line_31220_Amount[0])+/V ()+>>]+>> +<<+/T (Line31400[0])+/Kids [+<<+/T (Line_31400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page8[0])+/Kids [+<<+/T (Return-pg8[0])+/Kids [+<<+/T (Step6-Continued[0])+/Kids [+<<+/T (Line44800[0])+/Kids [+<<+/T (Line_44800_Amount[0])+/V ()+>>]+>> +<<+/T (Line45355[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line46900[0])+/Kids [+<<+/T (Line46800[0])+/Kids [+<<+/T (Line_46800_Amount[0])+/V ()+>>]+>> +<<+/T (Line_46900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47600[0])+/Kids [+<<+/T (Line_47600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45200[0])+/Kids [+<<+/T (Line_45200_Amount[0])+/V ()+>>]+>> +<<+/T (Line45350[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45600[0])+/Kids [+<<+/T (Line_45600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45300[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45000[0])+/Kids [+<<+/T (Line_45000_Amount[0])+/V ()+>>]+>> +<<+/T (Line47557[0])+/Kids [+<<+/T (Line_47557_Amount[0])+/V ()+>>]+>> +<<+/T (Line47900[0])+/Kids [+<<+/T (Line_47900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47556[0])+/Kids [+<<+/T (Line_47556_Amount[0])+/V ()+>>]+>> +<<+/T (Line47555[0])+/Kids [+<<+/T (Line_47555_Amount[0])+/V ()+>>]+>> +<<+/T (Line167[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line148[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43700[0])+/Kids [+<<+/T (Line_43700_Amount[0])+/V ()+>>]+>> +<<+/T (Line48200[0])+/Kids [+<<+/T (Line_48200_Amount1[0])+/V ()+>> +<<+/T (Line_48200_Amount2[0])+/V ()+>>]+>> +<<+/T (Line45700[0])+/Kids [+<<+/T (Line_45700_Amount[0])+/V ()+>>]+>> +<<+/T (Line44000[0])+/Kids [+<<+/T (Line_44000_Amount[0])+/V ()+>>]+>> +<<+/T (Line45400[0])+/Kids [+<<+/T (Line_45400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Certification[0])+/Kids [+<<+/T (Date[0])+/V ()+>> +<<+/T (Telephone[0])+/V ()+>>]+>> +<<+/T (Efile[0])+/Kids [+<<+/T (Line48900[0])+/Kids [+<<+/T (EFile[0])+/V ()+>>]+>> +<<+/T (TelephoneOfPreparer[0])+/V ()+>> +<<+/T (NameOfPreparer[0])+/V ()+>> +<<+/T (Line49000[0])+/Kids [+<<+/T (Line49000_CheckBoxGroup[0])+/Kids [+<<+/T (Line49000_CheckBox_EN[0])+/V /+>> +<<+/T (Line49000_CheckBox_EN[1])+/V /+>>]+>>]+>>]+>> +<<+/T (Refund_or_Balance-owing[0])+/Kids [+<<+/T (Line48500[0])+/Kids [+<<+/T (Line_48500_Amount[0])+/V ()+>>]+>> +<<+/T (Line48400[0])+/Kids [+<<+/T (Line_48400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/T1/fdf/5004-r-fill-23e.fdf view
@@ -0,0 +1,2206 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page3[0])+/Kids [+<<+/T (Return-pg3[0])+/Kids [+<<+/T (Line11410[0])+/Kids [+<<+/T (Line_11410_Amount[0])+/V ()+>>]+>> +<<+/T (Line13700[0])+/Kids [+<<+/T (Line_13700_Amount[0])+/V ()+>> +<<+/T (Line13699[0])+/Kids [+<<+/T (Line_13699_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12000[0])+/Kids [+<<+/T (Line_12000_Amount[0])+/V ()+>>]+>> +<<+/T (Line14500[0])+/Kids [+<<+/T (Line_14500_Amount[0])+/V ()+>>]+>> +<<+/T (Line12600[0])+/Kids [+<<+/T (Line12599[0])+/Kids [+<<+/T (Line_12599_Amount[0])+/V ()+>>]+>> +<<+/T (Line_12600_Amount[0])+/V ()+>>]+>> +<<+/T (Line10130[0])+/Kids [+<<+/T (Line_10130_Amount[0])+/V ()+>>]+>> +<<+/T (Line12900[0])+/Kids [+<<+/T (Line_12900_Amount[0])+/V ()+>>]+>> +<<+/T (Line13010[0])+/Kids [+<<+/T (Line_13010_Amount[0])+/V ()+>>]+>> +<<+/T (Line15000[0])+/Kids [+<<+/T (Line_15000_Amount[0])+/V ()+>>]+>> +<<+/T (Line12010[0])+/Kids [+<<+/T (Line_12010_Amount[0])+/V ()+>>]+>> +<<+/T (Line10400[0])+/Kids [+<<+/T (Line_10400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12905[0])+/Kids [+<<+/T (Line_12905_Amount[0])+/V ()+>>]+>> +<<+/T (Line14300[0])+/Kids [+<<+/T (Line14299[0])+/Kids [+<<+/T (Line_14299_Amount[0])+/V ()+>>]+>> +<<+/T (Line_14300_Amount[0])+/V ()+>>]+>> +<<+/T (Line13500[0])+/Kids [+<<+/T (Line13499[0])+/Kids [+<<+/T (Line_13499_Amount[0])+/V ()+>>]+>> +<<+/T (Line_13500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11500[0])+/Kids [+<<+/T (Line_11500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11701[0])+/Kids [+<<+/T (Line_11701_Amount[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14600[0])+/Kids [+<<+/T (Line_14600_Amount[0])+/V ()+>>]+>> +<<+/T (Line11900[0])+/Kids [+<<+/T (Line_11900_Amount[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14100[0])+/Kids [+<<+/T (Line_14100_Amount[0])+/V ()+>> +<<+/T (Line14099[0])+/Kids [+<<+/T (Line_14099_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line11600[0])+/Kids [+<<+/T (Line_11600_Amount[0])+/V ()+>>]+>> +<<+/T (Line14700[0])+/Kids [+<<+/T (Line_14700_Amount1[0])+/V ()+>> +<<+/T (Line_14700_Amount2[0])+/V ()+>>]+>> +<<+/T (Line14400[0])+/Kids [+<<+/T (Line_14400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12700[0])+/Kids [+<<+/T (Line_12700_Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Line_10100_Amount[0])+/V ()+>>]+>> +<<+/T (Line12100[0])+/Kids [+<<+/T (Line_12100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11300[0])+/Kids [+<<+/T (Line_11300_Amount[0])+/V ()+>>]+>> +<<+/T (Line12800[0])+/Kids [+<<+/T (Line_12800_Amount[0])+/V ()+>> +<<+/T (Line_12799[0])+/Kids [+<<+/T (Line_12799_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line12906[0])+/Kids [+<<+/T (Line_12906_Amount[0])+/V ()+>>]+>> +<<+/T (Line11400[0])+/Kids [+<<+/T (Line_11400_Amount[0])+/V ()+>>]+>> +<<+/T (Line13900[0])+/Kids [+<<+/T (Line_13900_Amount[0])+/V ()+>> +<<+/T (Line13899[0])+/Kids [+<<+/T (Line_13899_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line13000[0])+/Kids [+<<+/T (Line_13000_Amount[0])+/V ()+>> +<<+/T (Line_13000_Specify[0])+/V ()+>>]+>> +<<+/T (Line11905[0])+/Kids [+<<+/T (Line_11905_Amount[0])+/V ()+>>]+>> +<<+/T (Line12200[0])+/Kids [+<<+/T (Line_12200_Amount[0])+/V ()+>>]+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Line_11700_Amount[0])+/V ()+>>]+>> +<<+/T (Line10105[0])+/Kids [+<<+/T (Line_10105_Amount[0])+/V ()+>>]+>> +<<+/T (Line10120[0])+/Kids [+<<+/T (Line_10120_Amount[0])+/V ()+>>]+>> +<<+/T (Line12500[0])+/Kids [+<<+/T (Line_12500_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page2[0])+/Kids [+<<+/T (Foreign_property[0])+/Kids [+<<+/T (Line26600[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (Tax_exempt[0])+/Kids [+<<+/T (Exempt[0])+/Kids [+<<+/T (Spouse_SelfEmployed[0])+/V /+>>]+>>]+>> +<<+/T (ElectionsCanada[0])+/Kids [+<<+/T (LineA[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>>]+>> +<<+/T (LineB[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (CAI[0])+/Kids [+<<+/T (CAI-2023[0])+/Kids [+<<+/T (Tick_box[0])+/V /+>>]+>> +<<+/T (CAI_2024[0])+/Kids [+<<+/T (Tick_box[0])+/V /+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Return-pg1[0])+/Kids [+<<+/T (Identification[0])+/Kids [+<<+/T (EmailAddress[0])+/V ()+>> +<<+/T (DateDeath_Comb_BordersAll[0])+/Kids [+<<+/T (DateDeath_Comb[0])+/V ()+>>]+>> +<<+/T (PostalCode_Comb_BordersAll[0])+/Kids [+<<+/T (PostalCode[0])+/V ()+>>]+>> +<<+/T (Your_Language[0])+/Kids [+<<+/T (RadioButtonlanguaget[0])+/V /+>>]+>> +<<+/T (ID_City[0])+/V ()+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (ID_LastName[0])+/V ()+>> +<<+/T (DateBirth_Comb_BordersAll[0])+/Kids [+<<+/T (DateBirth_Comb[0])+/V ()+>>]+>> +<<+/T (ID_FirstNameInitial[0])+/V ()+>> +<<+/T (ID_MailingAddress[0])+/V ()+>> +<<+/T (MaritalStatus_Checkbox[0])+/Kids [+<<+/T (MaritalStatus[2])+/V /+>> +<<+/T (MaritalStatus[1])+/V /+>> +<<+/T (MaritalStatus[0])+/V /+>> +<<+/T (MaritalStatus[5])+/V /+>> +<<+/T (MaritalStatus[4])+/V /+>> +<<+/T (MaritalStatus[3])+/V /+>>]+>> +<<+/T (ID_RuralRoute[0])+/V ()+>> +<<+/T (ID_POBox[0])+/V ()+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Residence_Info[0])+/Kids [+<<+/T (Prov_DropDown-Business[0])+/V ()+>> +<<+/T (Prov_DropDown-Residence[0])+/V ()+>> +<<+/T (Date_Departure[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Date_Entry[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Info_Spouse_CLP[0])+/Kids [+<<+/T (Line23600[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Self-employment[0])+/Kids [+<<+/T (Checkbox[0])+/V /+>>]+>> +<<+/T (Spouse_First_Name[0])+/V ()+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[6])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[5])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[4])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[7])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page5[0])+/Kids [+<<+/T (Return-pg5[0])+/Kids [+<<+/T (Step4[0])+/Kids [+<<+/T (Line25500[0])+/Kids [+<<+/T (Line_25500_Amount[0])+/V ()+>>]+>> +<<+/T (Line24900[0])+/Kids [+<<+/T (Line_24900_Amount[0])+/V ()+>>]+>> +<<+/T (Line24400[0])+/Kids [+<<+/T (Line_24400_Amount[0])+/V ()+>>]+>> +<<+/T (Line25200[0])+/Kids [+<<+/T (Line_25200_Amount[0])+/V ()+>>]+>> +<<+/T (Line25600[0])+/Kids [+<<+/T (Line_25600_Specify[0])+/V ()+>> +<<+/T (Line_25600_Amount[0])+/V ()+>>]+>> +<<+/T (Line25100[0])+/Kids [+<<+/T (Line_25100_Amount[0])+/V ()+>>]+>> +<<+/T (Line26000[0])+/Kids [+<<+/T (Line_26000_Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25700[0])+/Kids [+<<+/T (Line_25700_Amount2[0])+/V ()+>> +<<+/T (Line_25700_Amount1[0])+/V ()+>>]+>> +<<+/T (Line25300[0])+/Kids [+<<+/T (Line_25300_Amount[0])+/V ()+>>]+>> +<<+/T (Line25000[0])+/Kids [+<<+/T (Line_25000_Amount[0])+/V ()+>>]+>> +<<+/T (Line25400[0])+/Kids [+<<+/T (Line_25400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartB[0])+/Kids [+<<+/T (Line30100[0])+/Kids [+<<+/T (Line_30100_Amount[0])+/V ()+>>]+>> +<<+/T (Line30400[0])+/Kids [+<<+/T (Line_30400_Amount[0])+/V ()+>>]+>> +<<+/T (Line30300[0])+/Kids [+<<+/T (Line_30300_Amount[0])+/V ()+>>]+>> +<<+/T (Line30425[0])+/Kids [+<<+/T (Line_30425_Amount[0])+/V ()+>>]+>> +<<+/T (Line30450[0])+/Kids [+<<+/T (Line_30450_Amount[0])+/V ()+>>]+>> +<<+/T (Line30500[0])+/Kids [+<<+/T (Line_30500_Amount[0])+/V ()+>> +<<+/T (Line30499[0])+/Kids [+<<+/T (Line_30499_ChildrenNum[0])+/V ()+>>]+>>]+>> +<<+/T (Line83[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30000[0])+/Kids [+<<+/T (Line_30000_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartA[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line42Amount3[0])+/V ()+>> +<<+/T (Line37Amount3[0])+/V ( 106,717.00)+>> +<<+/T (Line39Rate3[0])+/V (26%)+>> +<<+/T (Line41Amount3[0])+/V ( 18,942.24)+>> +<<+/T (Line36Amount3[0])+/V ()+>> +<<+/T (Line40Amount3[0])+/V ()+>> +<<+/T (Line38Amount3[0])+/V ()+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line41Amount5[0])+/V ( 54,578.67)+>> +<<+/T (Line36Amount5[0])+/V ()+>> +<<+/T (Line37Amount5[0])+/V ( 235,675.00)+>> +<<+/T (Line39Rate5[0])+/V (33%)+>> +<<+/T (Line40Amount5[0])+/V ()+>> +<<+/T (Line42Amount5[0])+/V ()+>> +<<+/T (Line38Amount5[0])+/V ()+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line36Amount4[0])+/V ()+>> +<<+/T (Line37Amount4[0])+/V ( 165,430.00)+>> +<<+/T (Line39Rate4[0])+/V (29%)+>> +<<+/T (Line41Amount4[0])+/V ( 34,207.62)+>> +<<+/T (Line40Amount4[0])+/V ()+>> +<<+/T (Line42Amount4[0])+/V ()+>> +<<+/T (Line38Amount4[0])+/V ()+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line37Amount2[0])+/V ( 53,359.00)+>> +<<+/T (Line41Amount2[0])+/V ( 8,003.85)+>> +<<+/T (Line36Amount2[0])+/V ()+>> +<<+/T (Line40Amount2[0])+/V ()+>> +<<+/T (Line39Rate2[0])+/V (20.5%)+>> +<<+/T (Line38Amount2[0])+/V ()+>> +<<+/T (Line42Amount2[0])+/V ()+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line38Amount1[0])+/V ()+>> +<<+/T (Line37Amount1[0])+/V ( 0.00)+>> +<<+/T (Line36Amount1[0])+/V ()+>> +<<+/T (Line39Rate1[0])+/V (15%)+>> +<<+/T (Line40Amount1[0])+/V ()+>> +<<+/T (Line41Amount1[0])+/V ( 0.00)+>> +<<+/T (Line42Amount1[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Return-pg4[0])+/Kids [+<<+/T (Line23400[0])+/Kids [+<<+/T (Line_23400_Amount[0])+/V ()+>>]+>> +<<+/T (Line22000[0])+/Kids [+<<+/T (Line21999[0])+/Kids [+<<+/T (Line_21999_Amount[0])+/V ()+>>]+>> +<<+/T (Line_22000_Amount[0])+/V ()+>>]+>> +<<+/T (Line23100[0])+/Kids [+<<+/T (Line_23100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22900[0])+/Kids [+<<+/T (Line_22900_Amount[0])+/V ()+>>]+>> +<<+/T (Line23200[0])+/Kids [+<<+/T (Line_23200_Amount[0])+/V ()+>> +<<+/T (Line_23200_Specify[0])+/V ()+>>]+>> +<<+/T (Line23500[0])+/Kids [+<<+/T (Line_23500_Amount[0])+/V ()+>>]+>> +<<+/T (Line21500[0])+/Kids [+<<+/T (Line_21500_Amount[0])+/V ()+>>]+>> +<<+/T (Line20700[0])+/Kids [+<<+/T (Line_20700_Amount[0])+/V ()+>>]+>> +<<+/T (Line21200[0])+/Kids [+<<+/T (Line_21200_Amount[0])+/V ()+>>]+>> +<<+/T (Line21000[0])+/Kids [+<<+/T (Line_21000_Amount[0])+/V ()+>>]+>> +<<+/T (Line21900[0])+/Kids [+<<+/T (Line_21900_Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22400[0])+/Kids [+<<+/T (Line_22400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20800[0])+/Kids [+<<+/T (Line_20800_Amount[0])+/V ()+>>]+>> +<<+/T (Line22100[0])+/Kids [+<<+/T (Line_22100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22215[0])+/Kids [+<<+/T (Line_22215_Amount[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Line_21300_Amount[0])+/V ()+>>]+>> +<<+/T (Line22200[0])+/Kids [+<<+/T (Line_22200_Amount[0])+/V ()+>>]+>> +<<+/T (Line20810[0])+/Kids [+<<+/T (Line_20810_Amount[0])+/V ()+>>]+>> +<<+/T (Line23600[0])+/Kids [+<<+/T (Line_23600_Amount[0])+/V ()+>>]+>> +<<+/T (Line20805[0])+/Kids [+<<+/T (Line_20805_Amount[0])+/V ()+>>]+>> +<<+/T (Line21400[0])+/Kids [+<<+/T (Line_21400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20600[0])+/Kids [+<<+/T (Line_20600_Amount[0])+/V ()+>>]+>> +<<+/T (Line23300[0])+/Kids [+<<+/T (Line_23300_Amount2[0])+/V ()+>> +<<+/T (Line_23300_Amount1[0])+/V ()+>>]+>> +<<+/T (Line21700[0])+/Kids [+<<+/T (Line_21700_Amount[0])+/V ()+>> +<<+/T (Line21699[0])+/Kids [+<<+/T (Line_21699_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page7[0])+/Kids [+<<+/T (Return-pg7[0])+/Kids [+<<+/T (Step6[0])+/Kids [+<<+/T (Line42200[0])+/Kids [+<<+/T (Line_42200_Amount[0])+/V ()+>>]+>> +<<+/T (Line43500[0])+/Kids [+<<+/T (Line_43500_Amount[0])+/V ()+>>]+>> +<<+/T (Line42120[0])+/Kids [+<<+/T (Line_42120_Amount[0])+/V ()+>>]+>> +<<+/T (Line42800[0])+/Kids [+<<+/T (Line_42800_Amount[0])+/V ()+>>]+>> +<<+/T (Line42100[0])+/Kids [+<<+/T (Line_42100_Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartC[0])+/Kids [+<<+/T (Line40600[0])+/Kids [+<<+/T (Line_40600_Amount[0])+/V ()+>>]+>> +<<+/T (Line41000[0])+/Kids [+<<+/T (Line_41000_Amount[0])+/V ()+>> +<<+/T (Line40900[0])+/Kids [+<<+/T (Line_40900_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line118[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line124[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line121[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line127[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40427[0])+/Kids [+<<+/T (Line_40427_Amount[0])+/V ()+>>]+>> +<<+/T (Line126[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41600[0])+/Kids [+<<+/T (Line_41600_Amount1[0])+/V ()+>> +<<+/T (Line_41600_Amount2[0])+/V ()+>>]+>> +<<+/T (Line129[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42900[0])+/Kids [+<<+/T (Line_42900_Amount[0])+/V ()+>>]+>> +<<+/T (Line40500[0])+/Kids [+<<+/T (Line_40500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41200[0])+/Kids [+<<+/T (Line_41200_Amount[0])+/V ()+>>]+>> +<<+/T (Line41800[0])+/Kids [+<<+/T (Line_41800_Amount[0])+/V ()+>>]+>> +<<+/T (Line131[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40424[0])+/Kids [+<<+/T (Line_40424_Amount[0])+/V ()+>>]+>> +<<+/T (Line40425[0])+/Kids [+<<+/T (Line_40425_Amount[0])+/V ()+>>]+>> +<<+/T (Line132[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line130[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41500[0])+/Kids [+<<+/T (Line_41500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41400[0])+/Kids [+<<+/T (Line_41400_Amount[0])+/V ()+>> +<<+/T (Line41300[0])+/Kids [+<<+/T (Line_41300_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line42000[0])+/Kids [+<<+/T (Line_42000_Amount[0])+/V ()+>>]+>> +<<+/T (Line40400[0])+/Kids [+<<+/T (Line_40400_Amount[0])+/V ()+>>]+>> +<<+/T (Line41700[0])+/Kids [+<<+/T (Line_41700_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page6[0])+/Kids [+<<+/T (Return-pg6[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line31240[0])+/Kids [+<<+/T (Line_31240_Amount[0])+/V ()+>>]+>> +<<+/T (Line98[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32300[0])+/Kids [+<<+/T (Line_32300_Amount[0])+/V ()+>>]+>> +<<+/T (Line96[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31217[0])+/Kids [+<<+/T (Line_31217_Amount[0])+/V ()+>>]+>> +<<+/T (Line32600[0])+/Kids [+<<+/T (Line_32600_Amount[0])+/V ()+>>]+>> +<<+/T (Line35000[0])+/Kids [+<<+/T (Line_35000_Amount[0])+/V ()+>>]+>> +<<+/T (Line110[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line108[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31800[0])+/Kids [+<<+/T (Line_31800_Amount[0])+/V ()+>>]+>> +<<+/T (Line106[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33099[0])+/Kids [+<<+/T (Line_33099_Amount[0])+/V ()+>>]+>> +<<+/T (Line114[0])+/Kids [+<<+/T (Percent[0])+/V (15%)+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33500[0])+/Kids [+<<+/T (Line_33500_Amount[0])+/V ()+>>]+>> +<<+/T (Line33800[0])+/Kids [+<<+/T (Line_33800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31200[0])+/Kids [+<<+/T (Line_31200_Amount[0])+/V ()+>>]+>> +<<+/T (Line34900[0])+/Kids [+<<+/T (Line_34900_Amount[0])+/V ()+>>]+>> +<<+/T (Line31000[0])+/Kids [+<<+/T (Line_31000_Amount[0])+/V ()+>>]+>> +<<+/T (Line31600[0])+/Kids [+<<+/T (Line_31600_Amount[0])+/V ()+>>]+>> +<<+/T (Line31350[0])+/Kids [+<<+/T (Line_31350_Amount[0])+/V ()+>>]+>> +<<+/T (Line31900[0])+/Kids [+<<+/T (Line_31900_Amount[0])+/V ()+>>]+>> +<<+/T (Line32400[0])+/Kids [+<<+/T (Line_32400_Amount[0])+/V ()+>>]+>> +<<+/T (Line33199[0])+/Kids [+<<+/T (Line_33199_Amount[0])+/V ()+>>]+>> +<<+/T (Line101[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31260[0])+/Kids [+<<+/T (Line_31260_Amount[0])+/V ()+>>]+>> +<<+/T (Line33200[0])+/Kids [+<<+/T (Line_33200_Amount2[0])+/V ()+>> +<<+/T (Line_33200_Amount1[0])+/V ()+>>]+>> +<<+/T (Line30800[0])+/Kids [+<<+/T (Line_30800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31285[0])+/Kids [+<<+/T (Line_31285_Amount[0])+/V ()+>>]+>> +<<+/T (Line31300[0])+/Kids [+<<+/T (Line_31300_Amount[0])+/V ()+>>]+>> +<<+/T (Line109[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31270[0])+/Kids [+<<+/T (Line_31270_Amount[0])+/V ()+>>]+>> +<<+/T (Line31220[0])+/Kids [+<<+/T (Line_31220_Amount[0])+/V ()+>>]+>> +<<+/T (Line31400[0])+/Kids [+<<+/T (Line_31400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page8[0])+/Kids [+<<+/T (Return-pg8[0])+/Kids [+<<+/T (Refund_or_Balance-Owing[0])+/Kids [+<<+/T (Line48500[0])+/Kids [+<<+/T (Line_48500_Amount[0])+/V ()+>>]+>> +<<+/T (Line48400[0])+/Kids [+<<+/T (Line_48400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Step6-Continued[0])+/Kids [+<<+/T (Line44800[0])+/Kids [+<<+/T (Line_44800_Amount[0])+/V ()+>>]+>> +<<+/T (Line45355[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line46900[0])+/Kids [+<<+/T (Line46800[0])+/Kids [+<<+/T (Line_46800_Amount[0])+/V ()+>>]+>> +<<+/T (Line_46900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47600[0])+/Kids [+<<+/T (Line_47600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45200[0])+/Kids [+<<+/T (Line_45200_Amount[0])+/V ()+>>]+>> +<<+/T (Line45350[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45600[0])+/Kids [+<<+/T (Line_45600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45300[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45000[0])+/Kids [+<<+/T (Line_45000_Amount[0])+/V ()+>>]+>> +<<+/T (Line47557[0])+/Kids [+<<+/T (Line_47557_Amount[0])+/V ()+>>]+>> +<<+/T (Line47900[0])+/Kids [+<<+/T (Line_47900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47556[0])+/Kids [+<<+/T (Line_47556_Amount[0])+/V ()+>>]+>> +<<+/T (Line47555[0])+/Kids [+<<+/T (Line_47555_Amount[0])+/V ()+>>]+>> +<<+/T (Line167[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line148[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43700[0])+/Kids [+<<+/T (Line_43700_Amount[0])+/V ()+>>]+>> +<<+/T (Line48200[0])+/Kids [+<<+/T (Line_48200_Amount1[0])+/V ()+>> +<<+/T (Line_48200_Amount2[0])+/V ()+>>]+>> +<<+/T (Line45700[0])+/Kids [+<<+/T (Line_45700_Amount[0])+/V ()+>>]+>> +<<+/T (Line44000[0])+/Kids [+<<+/T (Line_44000_Amount[0])+/V ()+>>]+>> +<<+/T (Line45400[0])+/Kids [+<<+/T (Line_45400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Certification[0])+/Kids [+<<+/T (Date[0])+/V ()+>> +<<+/T (Telephone[0])+/V ()+>>]+>> +<<+/T (Efile[0])+/Kids [+<<+/T (Line48900[0])+/Kids [+<<+/T (EFile[0])+/V ()+>>]+>> +<<+/T (TelephoneOfPreparer[0])+/V ()+>> +<<+/T (NameOfPreparer[0])+/V ()+>> +<<+/T (Line49000[0])+/Kids [+<<+/T (Line49000_CheckBoxGroup[0])+/Kids [+<<+/T (Line49000_CheckBox_EN[0])+/V /+>> +<<+/T (Line49000_CheckBox_EN[1])+/V /+>>]+>>]+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/T1/fdf/5005-r-fill-23e.fdf view
@@ -0,0 +1,2222 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Return-pg2[0])+/Kids [+<<+/T (Tax_exempt[0])+/Kids [+<<+/T (Exempt[0])+/Kids [+<<+/T (Spouse_SelfEmployed[0])+/V /+>>]+>>]+>> +<<+/T (Foreign_property[0])+/Kids [+<<+/T (Line26600[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (ElectionsCanada[0])+/Kids [+<<+/T (LineA[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>>]+>> +<<+/T (LineB[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>>]+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (Return-pg3[0])+/Kids [+<<+/T (Line11410[0])+/Kids [+<<+/T (Line_11410_Amount[0])+/V ()+>>]+>> +<<+/T (Line13700[0])+/Kids [+<<+/T (Line_13700_Amount[0])+/V ()+>> +<<+/T (Line13699[0])+/Kids [+<<+/T (Line_13699_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12000[0])+/Kids [+<<+/T (Line_12000_Amount[0])+/V ()+>>]+>> +<<+/T (Line14500[0])+/Kids [+<<+/T (Line_14500_Amount[0])+/V ()+>>]+>> +<<+/T (Line12600[0])+/Kids [+<<+/T (Line12599[0])+/Kids [+<<+/T (Line_12599_Amount[0])+/V ()+>>]+>> +<<+/T (Line_12600_Amount[0])+/V ()+>>]+>> +<<+/T (Line10130[0])+/Kids [+<<+/T (Line_10130_Amount[0])+/V ()+>>]+>> +<<+/T (Line12900[0])+/Kids [+<<+/T (Line_12900_Amount[0])+/V ()+>>]+>> +<<+/T (Line13010[0])+/Kids [+<<+/T (Line_13010_Amount[0])+/V ()+>>]+>> +<<+/T (Line15000[0])+/Kids [+<<+/T (Line_15000_Amount[0])+/V ()+>>]+>> +<<+/T (Line12010[0])+/Kids [+<<+/T (Line_12010_Amount[0])+/V ()+>>]+>> +<<+/T (Line10400[0])+/Kids [+<<+/T (Line_10400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12905[0])+/Kids [+<<+/T (Line_12905_Amount[0])+/V ()+>>]+>> +<<+/T (Line14300[0])+/Kids [+<<+/T (Line14299[0])+/Kids [+<<+/T (Line_14299_Amount[0])+/V ()+>>]+>> +<<+/T (Line_14300_Amount[0])+/V ()+>>]+>> +<<+/T (Line13500[0])+/Kids [+<<+/T (Line13499[0])+/Kids [+<<+/T (Line_13499_Amount[0])+/V ()+>>]+>> +<<+/T (Line_13500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11500[0])+/Kids [+<<+/T (Line_11500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11701[0])+/Kids [+<<+/T (Line_11701_Amount[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14600[0])+/Kids [+<<+/T (Line_14600_Amount[0])+/V ()+>>]+>> +<<+/T (Line11900[0])+/Kids [+<<+/T (Line_11900_Amount[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14100[0])+/Kids [+<<+/T (Line_14100_Amount[0])+/V ()+>> +<<+/T (Line14099[0])+/Kids [+<<+/T (Line_14099_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line11600[0])+/Kids [+<<+/T (Line_11600_Amount[0])+/V ()+>>]+>> +<<+/T (Line14700[0])+/Kids [+<<+/T (Line_14700_Amount1[0])+/V ()+>> +<<+/T (Line_14700_Amount2[0])+/V ()+>>]+>> +<<+/T (Line14400[0])+/Kids [+<<+/T (Line_14400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12700[0])+/Kids [+<<+/T (Line_12700_Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Line_10100_Amount[0])+/V ()+>>]+>> +<<+/T (Line12100[0])+/Kids [+<<+/T (Line_12100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11300[0])+/Kids [+<<+/T (Line_11300_Amount[0])+/V ()+>>]+>> +<<+/T (Line12800[0])+/Kids [+<<+/T (Line_12800_Amount[0])+/V ()+>> +<<+/T (Line_12799[0])+/Kids [+<<+/T (Line_12799_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line12906[0])+/Kids [+<<+/T (Line_12906_Amount[0])+/V ()+>>]+>> +<<+/T (Line11400[0])+/Kids [+<<+/T (Line_11400_Amount[0])+/V ()+>>]+>> +<<+/T (Line13900[0])+/Kids [+<<+/T (Line_13900_Amount[0])+/V ()+>> +<<+/T (Line13899[0])+/Kids [+<<+/T (Line_13899_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line13000[0])+/Kids [+<<+/T (Line_13000_Amount[0])+/V ()+>> +<<+/T (Line_13000_Specify[0])+/V ()+>>]+>> +<<+/T (Line11905[0])+/Kids [+<<+/T (Line_11905_Amount[0])+/V ()+>>]+>> +<<+/T (Line12200[0])+/Kids [+<<+/T (Line_12200_Amount[0])+/V ()+>>]+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Line_11700_Amount[0])+/V ()+>>]+>> +<<+/T (Line10105[0])+/Kids [+<<+/T (Line_10105_Amount[0])+/V ()+>>]+>> +<<+/T (Line10120[0])+/Kids [+<<+/T (Line_10120_Amount[0])+/V ()+>>]+>> +<<+/T (Line12500[0])+/Kids [+<<+/T (Line_12500_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Return-pg1[0])+/Kids [+<<+/T (Identification[0])+/Kids [+<<+/T (EmailAddress[0])+/V ()+>> +<<+/T (DateDeath_Comb_BordersAll[0])+/Kids [+<<+/T (DateDeath_Comb[0])+/V ()+>>]+>> +<<+/T (PostalCode_Comb_BordersAll[0])+/Kids [+<<+/T (PostalCode[0])+/V ()+>>]+>> +<<+/T (Your_Language[0])+/Kids [+<<+/T (RadioButtonlanguaget[0])+/V /+>>]+>> +<<+/T (ID_City[0])+/V ()+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (ID_LastName[0])+/V ()+>> +<<+/T (DateBirth_Comb_BordersAll[0])+/Kids [+<<+/T (DateBirth_Comb[0])+/V ()+>>]+>> +<<+/T (ID_FirstNameInitial[0])+/V ()+>> +<<+/T (ID_MailingAddress[0])+/V ()+>> +<<+/T (MaritalStatus_Checkbox[0])+/Kids [+<<+/T (MaritalStatus[2])+/V /+>> +<<+/T (MaritalStatus[1])+/V /+>> +<<+/T (MaritalStatus[0])+/V /+>> +<<+/T (MaritalStatus[5])+/V /+>> +<<+/T (MaritalStatus[4])+/V /+>> +<<+/T (MaritalStatus[3])+/V /+>>]+>> +<<+/T (ID_RuralRoute[0])+/V ()+>> +<<+/T (ID_POBox[0])+/V ()+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Residence_Info[0])+/Kids [+<<+/T (Prov_DropDown-Business[0])+/V ()+>> +<<+/T (Prov_DropDown-Residence[0])+/V ()+>> +<<+/T (Date_Departure[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Date_Entry[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Info_Spouse_CLP[0])+/Kids [+<<+/T (Line23600[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Self-employment[0])+/Kids [+<<+/T (Checkbox[0])+/V /+>>]+>> +<<+/T (Spouse_First_Name[0])+/V ()+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[6])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[5])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[4])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[7])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page5[0])+/Kids [+<<+/T (Step4[0])+/Kids [+<<+/T (Line25500[0])+/Kids [+<<+/T (Line_25500_Amount[0])+/V ()+>>]+>> +<<+/T (Line24900[0])+/Kids [+<<+/T (Line_24900_Amount[0])+/V ()+>>]+>> +<<+/T (Line24400[0])+/Kids [+<<+/T (Line_24400_Amount[0])+/V ()+>>]+>> +<<+/T (Line25600[0])+/Kids [+<<+/T (Line_25600_Amount[0])+/V ()+>> +<<+/T (Line_25600_Specify[0])+/V ()+>>]+>> +<<+/T (Line25200[0])+/Kids [+<<+/T (Line_25200_Amount[0])+/V ()+>>]+>> +<<+/T (Line26000[0])+/Kids [+<<+/T (Line_26000_Amount[0])+/V ()+>>]+>> +<<+/T (Line25100[0])+/Kids [+<<+/T (Line_25100_Amount[0])+/V ()+>>]+>> +<<+/T (Line58[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25700[0])+/Kids [+<<+/T (Line_25700_Amount2[0])+/V ()+>> +<<+/T (Line_25700_Amount1[0])+/V ()+>>]+>> +<<+/T (Line25300[0])+/Kids [+<<+/T (Line_25300_Amount[0])+/V ()+>>]+>> +<<+/T (Line25000[0])+/Kids [+<<+/T (Line_25000_Amount[0])+/V ()+>>]+>> +<<+/T (Line25400[0])+/Kids [+<<+/T (Line_25400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Part_A[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Amount_Line77[0])+/V ()+>> +<<+/T (Amount_Line76[0])+/V ( 18,942.24)+>> +<<+/T (Amount_Line75[0])+/V ()+>> +<<+/T (Percent_Line74[0])+/V (26%)+>> +<<+/T (Amount_Line71[0])+/V ()+>> +<<+/T (Amount_Line72[0])+/V ( 106,717.00)+>> +<<+/T (Amount_Line73[0])+/V ()+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line41Amount5[0])+/V ()+>> +<<+/T (Line42Rate5[0])+/V (33%)+>> +<<+/T (Line44Amount5[0])+/V ( 54,578.67)+>> +<<+/T (Line39Amount5[0])+/V ()+>> +<<+/T (Line43Amount5[0])+/V ()+>> +<<+/T (Line40Amount5[0])+/V ( 235,675.00)+>> +<<+/T (Line45Amount5[0])+/V ()+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line42Rate4[0])+/V (29%)+>> +<<+/T (Line41Amount4[0])+/V ()+>> +<<+/T (Line44Amount4[0])+/V ( 34,207.62)+>> +<<+/T (Amount_Line71[0])+/V ()+>> +<<+/T (Amount_Line72[0])+/V ( 165,430.00)+>> +<<+/T (Line43Amount4[0])+/V ()+>> +<<+/T (Line45Amount4[0])+/V ()+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Amount_Line77[0])+/V ()+>> +<<+/T (Amount_Line76[0])+/V ( 0.00)+>> +<<+/T (Amount_Line75[0])+/V ()+>> +<<+/T (Percent_Line74[0])+/V (15%)+>> +<<+/T (Amount_Line71[0])+/V ()+>> +<<+/T (Amount_Line72[0])+/V ( 0.00)+>> +<<+/T (Amount_Line73[0])+/V ()+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Amount_Line77[0])+/V ()+>> +<<+/T (Amount_Line75[0])+/V ()+>> +<<+/T (Amount_Line76[0])+/V ( 8,003.85)+>> +<<+/T (Percent_Line74[0])+/V (20.5%)+>> +<<+/T (Amount_Line71[0])+/V ()+>> +<<+/T (Amount_Line72[0])+/V ( 53,359.00)+>> +<<+/T (Amount_Line73[0])+/V ()+>>]+>>]+>> +<<+/T (Part_B[0])+/Kids [+<<+/T (Line30100[0])+/Kids [+<<+/T (Line_30100_Amount[0])+/V ()+>>]+>> +<<+/T (Line30400[0])+/Kids [+<<+/T (Line_30400_Amount[0])+/V ()+>>]+>> +<<+/T (Line30300[0])+/Kids [+<<+/T (Line_30300_Amount[0])+/V ()+>>]+>> +<<+/T (Line30425[0])+/Kids [+<<+/T (Line_30425_Amount[0])+/V ()+>>]+>> +<<+/T (Line30450[0])+/Kids [+<<+/T (Line_30450_Amount[0])+/V ()+>>]+>> +<<+/T (Line30500[0])+/Kids [+<<+/T (Line_30499_Amount[0])+/V ()+>> +<<+/T (Line30499[0])+/Kids [+<<+/T (Line_30499_Number[0])+/V ()+>>]+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30000[0])+/Kids [+<<+/T (Line_30000_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Step3[0])+/Kids [+<<+/T (Line23400[0])+/Kids [+<<+/T (Line_23400_Amount[0])+/V ()+>>]+>> +<<+/T (Line22000[0])+/Kids [+<<+/T (Line21999[0])+/Kids [+<<+/T (Line_21999_Amount[0])+/V ()+>>]+>> +<<+/T (Line_22000_Amount[0])+/V ()+>>]+>> +<<+/T (Line22300[0])+/Kids [+<<+/T (Line_22300_Amount[0])+/V ()+>>]+>> +<<+/T (Line23100[0])+/Kids [+<<+/T (Line_23100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22900[0])+/Kids [+<<+/T (Line_22900_Amount[0])+/V ()+>>]+>> +<<+/T (Line23200[0])+/Kids [+<<+/T (Line_23200_Amount[0])+/V ()+>> +<<+/T (Line_23200_Specify[0])+/V ()+>>]+>> +<<+/T (Line23500[0])+/Kids [+<<+/T (Line_23500_Amount[0])+/V ()+>>]+>> +<<+/T (Line20700[0])+/Kids [+<<+/T (Line_20700_Amount[0])+/V ()+>>]+>> +<<+/T (Line21500[0])+/Kids [+<<+/T (Line_21500_Amount[0])+/V ()+>>]+>> +<<+/T (Line21200[0])+/Kids [+<<+/T (Line_21200_Amount[0])+/V ()+>>]+>> +<<+/T (Line21000[0])+/Kids [+<<+/T (Line_21000_Amount[0])+/V ()+>>]+>> +<<+/T (Line21900[0])+/Kids [+<<+/T (Line_21900_Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22400[0])+/Kids [+<<+/T (Line_22400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20800[0])+/Kids [+<<+/T (Line_20800_Amount[0])+/V ()+>>]+>> +<<+/T (Line22215[0])+/Kids [+<<+/T (Line_22215_Amount[0])+/V ()+>>]+>> +<<+/T (Line22100[0])+/Kids [+<<+/T (Line_22100_Amount[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Line_21300_Amount[0])+/V ()+>>]+>> +<<+/T (Line22200[0])+/Kids [+<<+/T (Line_22200_Amount[0])+/V ()+>>]+>> +<<+/T (Line20810[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line23600[0])+/Kids [+<<+/T (Line_23600_Amount[0])+/V ()+>>]+>> +<<+/T (Line20805[0])+/Kids [+<<+/T (Line_20805_Amount[0])+/V ()+>>]+>> +<<+/T (Line20600[0])+/Kids [+<<+/T (Line_20600_Amount[0])+/V ()+>>]+>> +<<+/T (Line21400[0])+/Kids [+<<+/T (Line_21400_Amount[0])+/V ()+>>]+>> +<<+/T (Line23300[0])+/Kids [+<<+/T (Line_23300_Amount2[0])+/V ()+>> +<<+/T (Line_23300_Amount1[0])+/V ()+>>]+>> +<<+/T (Line21700[0])+/Kids [+<<+/T (Line_21700_Amount[0])+/V ()+>> +<<+/T (Line21699[0])+/Kids [+<<+/T (Line_21699_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page6[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line31240[0])+/Kids [+<<+/T (Line_31240_Amount[0])+/V ()+>>]+>> +<<+/T (Line31215[0])+/Kids [+<<+/T (Line_31215_Amount[0])+/V ()+>>]+>> +<<+/T (Line100[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line102[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31217[0])+/Kids [+<<+/T (Line_31217_Amount[0])+/V ()+>>]+>> +<<+/T (Line32300[0])+/Kids [+<<+/T (Line_32300_Amount[0])+/V ()+>>]+>> +<<+/T (Line32600[0])+/Kids [+<<+/T (Line_32600_Amount[0])+/V ()+>>]+>> +<<+/T (Line35000[0])+/Kids [+<<+/T (Line_35000_Amount[0])+/V ()+>>]+>> +<<+/T (Line110[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31800[0])+/Kids [+<<+/T (Line_31800_Amount[0])+/V ()+>>]+>> +<<+/T (Line33099[0])+/Kids [+<<+/T (Line_33099_Amount[0])+/V ()+>>]+>> +<<+/T (Line114[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line112[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line33500[0])+/Kids [+<<+/T (Line_33500_Amount[0])+/V ()+>>]+>> +<<+/T (Line33800[0])+/Kids [+<<+/T (Line_33800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31200[0])+/Kids [+<<+/T (Line_31200_Amount[0])+/V ()+>>]+>> +<<+/T (Line34900[0])+/Kids [+<<+/T (Line_34900_Amount[0])+/V ()+>>]+>> +<<+/T (Line31000[0])+/Kids [+<<+/T (Line_31000_Amount[0])+/V ()+>>]+>> +<<+/T (Line31600[0])+/Kids [+<<+/T (Line_31600_mount[0])+/V ()+>>]+>> +<<+/T (Line31350[0])+/Kids [+<<+/T (Line_31350_Amount[0])+/V ()+>>]+>> +<<+/T (Line118[0])+/Kids [+<<+/T (Percent[0])+/V (15%)+>>]+>> +<<+/T (Line32400[0])+/Kids [+<<+/T (Line_32400_Amount[0])+/V ()+>>]+>> +<<+/T (Line31900[0])+/Kids [+<<+/T (Line_31900_Amount[0])+/V ()+>>]+>> +<<+/T (Line33199[0])+/Kids [+<<+/T (Line_33199_Amount[0])+/V ()+>>]+>> +<<+/T (Line31260[0])+/Kids [+<<+/T (Line_31260_Amount[0])+/V ()+>>]+>> +<<+/T (Line33200[0])+/Kids [+<<+/T (Line_33200_Amount1[0])+/V ()+>> +<<+/T (Line_33200_Line32Amount2[0])+/V ()+>>]+>> +<<+/T (Line30800[0])+/Kids [+<<+/T (Line_30800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31210[0])+/Kids [+<<+/T (Line_31210_Amount[0])+/V ()+>>]+>> +<<+/T (Line31285[0])+/Kids [+<<+/T (Line_31285_Amount[0])+/V ()+>>]+>> +<<+/T (Line31300[0])+/Kids [+<<+/T (Line_31300_Amount[0])+/V ()+>>]+>> +<<+/T (Line31205[0])+/Kids [+<<+/T (Line_31205_Amount[0])+/V ()+>>]+>> +<<+/T (Line85[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line105[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line113[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31270[0])+/Kids [+<<+/T (Line_31270_Amount[0])+/V ()+>>]+>> +<<+/T (Line31220[0])+/Kids [+<<+/T (Line_31220_Amount[0])+/V ()+>>]+>> +<<+/T (Line31400[0])+/Kids [+<<+/T (Line_31400_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page7[0])+/Kids [+<<+/T (Step6[0])+/Kids [+<<+/T (Line146[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42200[0])+/Kids [+<<+/T (Line_42200_Amount[0])+/V ()+>>]+>> +<<+/T (Line43500[0])+/Kids [+<<+/T (Line_43500_Amount[0])+/V ()+>>]+>> +<<+/T (Line42120[0])+/Kids [+<<+/T (Line_42120_Amount[0])+/V ()+>>]+>> +<<+/T (Line42800[0])+/Kids [+<<+/T (Line_42800_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartC[0])+/Kids [+<<+/T (Line40600[0])+/Kids [+<<+/T (Line_40600_Amount[0])+/V ()+>>]+>> +<<+/T (Line122[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41000[0])+/Kids [+<<+/T (Line_41000_Amount[0])+/V ()+>> +<<+/T (Line40900[0])+/Kids [+<<+/T (Line_40900_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line125[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40427[0])+/Kids [+<<+/T (Line_40427_Amount[0])+/V ()+>>]+>> +<<+/T (Line41600[0])+/Kids [+<<+/T (Line_41600_Amount1[0])+/V ()+>> +<<+/T (Line_41600_Amount2[0])+/V ()+>>]+>> +<<+/T (Line128[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line42900[0])+/Kids [+<<+/T (Line_42900_Amount[0])+/V ()+>>]+>> +<<+/T (Line40500[0])+/Kids [+<<+/T (Line_40500_Amount[0])+/V ()+>>]+>> +<<+/T (Line134[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line133[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41200[0])+/Kids [+<<+/T (Line_41200_Amount[0])+/V ()+>>]+>> +<<+/T (Line135[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41800[0])+/Kids [+<<+/T (Line_41800_Amount[0])+/V ()+>>]+>> +<<+/T (Line136[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line131[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40424[0])+/Kids [+<<+/T (Line_40424_Amount[0])+/V ()+>>]+>> +<<+/T (Line40425[0])+/Kids [+<<+/T (Line_40425_Amount[0])+/V ()+>>]+>> +<<+/T (Line130[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41500[0])+/Kids [+<<+/T (Line_41500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41400[0])+/Kids [+<<+/T (Line_41400_Amount[0])+/V ()+>> +<<+/T (Line41300[0])+/Kids [+<<+/T (Line_41300_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line42000[0])+/Kids [+<<+/T (Line_42000_Amount[0])+/V ()+>>]+>> +<<+/T (Line40400[0])+/Kids [+<<+/T (Line_40400_Amount[0])+/V ()+>>]+>> +<<+/T (Line41700[0])+/Kids [+<<+/T (Line_41700_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page8[0])+/Kids [+<<+/T (Line_49000_IfFeeWasCharged[0])+/Kids [+<<+/T (TelephoneOfPreparer[0])+/V ()+>> +<<+/T (NameOfPreparer[0])+/V ()+>> +<<+/T (EFileNumber_Comb[0])+/Kids [+<<+/T (EFile[0])+/V ()+>>]+>> +<<+/T (Line49000_CheckBoxGroup[0])+/Kids [+<<+/T (Line49000_CheckBox_EN[0])+/V /+>> +<<+/T (Line49000_CheckBox_EN[1])+/V /+>>]+>>]+>> +<<+/T (Step6-Continued[0])+/Kids [+<<+/T (Line45355[0])+/Kids [+<<+/T (Line_45355_Amount[0])+/V ()+>>]+>> +<<+/T (Line172[0])+/Kids [+<<+/T (Refund_or_BalanceOwing_Amount[0])+/V ()+>>]+>> +<<+/T (Line46900[0])+/Kids [+<<+/T (Line46800[0])+/Kids [+<<+/T (Line_46800_Amount[0])+/V ()+>>]+>> +<<+/T (Line_46900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47600[0])+/Kids [+<<+/T (Line_47600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45200[0])+/Kids [+<<+/T (Line_45200_Amount[0])+/V ()+>>]+>> +<<+/T (Line45600[0])+/Kids [+<<+/T (Line_45600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45350[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45300[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45000[0])+/Kids [+<<+/T (Line_45000_Amount[0])+/V ()+>>]+>> +<<+/T (Line47557[0])+/Kids [+<<+/T (Line_47557_Amount[0])+/V ()+>>]+>> +<<+/T (Line47556[0])+/Kids [+<<+/T (Line_47556_Amount[0])+/V ()+>>]+>> +<<+/T (Line47555[0])+/Kids [+<<+/T (Line_47555_Amount[0])+/V ()+>>]+>> +<<+/T (Line43700[0])+/Kids [+<<+/T (Line_43700_Amount[0])+/V ()+>>]+>> +<<+/T (Line48200[0])+/Kids [+<<+/T (Line_48200_Amount1[0])+/V ()+>> +<<+/T (Line_48200_Amount2[0])+/V ()+>>]+>> +<<+/T (Line45700[0])+/Kids [+<<+/T (Line_45700_Amount[0])+/V ()+>>]+>> +<<+/T (Line43900[0])+/Kids [+<<+/T (Line_43900_Amount1[0])+/V ()+>> +<<+/T (Line_43900_Amount2[0])+/V ()+>>]+>> +<<+/T (Line157[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line44000[0])+/Kids [+<<+/T (Line_44000_Amount2[0])+/V ()+>> +<<+/T (Line_44000_Amount1[0])+/V ()+>>]+>> +<<+/T (Line45100[0])+/Kids [+<<+/T (Line_45100_Amount1[0])+/V ()+>> +<<+/T (Line_45100_Amount2[0])+/V ()+>>]+>> +<<+/T (Line151[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43800[0])+/Kids [+<<+/T (Line_43800_Amount[0])+/V ()+>>]+>> +<<+/T (Line45400[0])+/Kids [+<<+/T (Line_45400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Certification[0])+/Kids [+<<+/T (Date[0])+/V ()+>> +<<+/T (Telephone[0])+/V ()+>>]+>> +<<+/T (Refund_or_Balancing-owing[0])+/Kids [+<<+/T (Line48500[0])+/Kids [+<<+/T (Line_48500_Amount[0])+/V ()+>>]+>> +<<+/T (Line48400[0])+/Kids [+<<+/T (Line_48400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/T1/fdf/5006-r-fill-23e.fdf view
@@ -0,0 +1,2242 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page3[0])+/Kids [+<<+/T (Return-pg3[0])+/Kids [+<<+/T (Line11410[0])+/Kids [+<<+/T (Line_11410_Amount[0])+/V ()+>>]+>> +<<+/T (Line13700[0])+/Kids [+<<+/T (Line_13700_Amount[0])+/V ()+>> +<<+/T (Line13699[0])+/Kids [+<<+/T (Line_13699_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12000[0])+/Kids [+<<+/T (Line_12000_Amount[0])+/V ()+>>]+>> +<<+/T (Line14500[0])+/Kids [+<<+/T (Line_14500_Amount[0])+/V ()+>>]+>> +<<+/T (Line12600[0])+/Kids [+<<+/T (Line12599[0])+/Kids [+<<+/T (Line_12599_Amount[0])+/V ()+>>]+>> +<<+/T (Line_12600_Amount[0])+/V ()+>>]+>> +<<+/T (Line10130[0])+/Kids [+<<+/T (Line_10130_Amount[0])+/V ()+>>]+>> +<<+/T (Line12900[0])+/Kids [+<<+/T (Line_12900_Amount[0])+/V ()+>>]+>> +<<+/T (Line13010[0])+/Kids [+<<+/T (Line_13010_Amount[0])+/V ()+>>]+>> +<<+/T (Line15000[0])+/Kids [+<<+/T (Line_15000_Amount[0])+/V ()+>>]+>> +<<+/T (Line12010[0])+/Kids [+<<+/T (Line_12010_Amount[0])+/V ()+>>]+>> +<<+/T (Line10400[0])+/Kids [+<<+/T (Line_10400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12905[0])+/Kids [+<<+/T (Line_12905_Amount[0])+/V ()+>>]+>> +<<+/T (Line14300[0])+/Kids [+<<+/T (Line14299[0])+/Kids [+<<+/T (Line_14299_Amount[0])+/V ()+>>]+>> +<<+/T (Line_14300_Amount[0])+/V ()+>>]+>> +<<+/T (Line13500[0])+/Kids [+<<+/T (Line13499[0])+/Kids [+<<+/T (Line_13499_Amount[0])+/V ()+>>]+>> +<<+/T (Line_13500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11500[0])+/Kids [+<<+/T (Line_11500_Amount[0])+/V ()+>>]+>> +<<+/T (Line10100[0])+/Kids [+<<+/T (Line_10100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11701[0])+/Kids [+<<+/T (Line_11701_Amount[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14600[0])+/Kids [+<<+/T (Line_14600_Amount[0])+/V ()+>>]+>> +<<+/T (Line11900[0])+/Kids [+<<+/T (Line_11900_Amount[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14100[0])+/Kids [+<<+/T (Line_14100_Amount[0])+/V ()+>> +<<+/T (Line14099[0])+/Kids [+<<+/T (Line_14099_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line11600[0])+/Kids [+<<+/T (Line_11600_Amount[0])+/V ()+>>]+>> +<<+/T (Line14700[0])+/Kids [+<<+/T (Line_14700_Amount1[0])+/V ()+>> +<<+/T (Line_14700_Amount2[0])+/V ()+>>]+>> +<<+/T (Line14400[0])+/Kids [+<<+/T (Line_14400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12700[0])+/Kids [+<<+/T (Line_12700_Amount[0])+/V ()+>>]+>> +<<+/T (Line12100[0])+/Kids [+<<+/T (Line_12100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11300[0])+/Kids [+<<+/T (Line_11300_Amount[0])+/V ()+>>]+>> +<<+/T (Line12800[0])+/Kids [+<<+/T (Line_12800_Amount[0])+/V ()+>> +<<+/T (Line_12799[0])+/Kids [+<<+/T (Line_12799_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line12906[0])+/Kids [+<<+/T (Line_12906_Amount[0])+/V ()+>>]+>> +<<+/T (Line11400[0])+/Kids [+<<+/T (Line_11400_Amount[0])+/V ()+>>]+>> +<<+/T (Line13900[0])+/Kids [+<<+/T (Line_13900_Amount[0])+/V ()+>> +<<+/T (Line13899[0])+/Kids [+<<+/T (Line_13899_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line13000[0])+/Kids [+<<+/T (Line_13000_Amount[0])+/V ()+>> +<<+/T (Line_13000_Specify[0])+/V ()+>>]+>> +<<+/T (Line11905[0])+/Kids [+<<+/T (Line_11905_Amount[0])+/V ()+>>]+>> +<<+/T (Line12200[0])+/Kids [+<<+/T (Line_12200_Amount[0])+/V ()+>>]+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Line_11700_Amount[0])+/V ()+>>]+>> +<<+/T (Line10105[0])+/Kids [+<<+/T (Line_10105_Amount[0])+/V ()+>>]+>> +<<+/T (Line10120[0])+/Kids [+<<+/T (Line_10120_Amount[0])+/V ()+>>]+>> +<<+/T (Line12500[0])+/Kids [+<<+/T (Line_12500_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page2[0])+/Kids [+<<+/T (Foreign_property[0])+/Kids [+<<+/T (Line26600[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (Tax_exempt[0])+/Kids [+<<+/T (Exempt[0])+/Kids [+<<+/T (Spouse_SelfEmployed[0])+/V /+>>]+>>]+>> +<<+/T (ElectionsCanada[0])+/Kids [+<<+/T (LineA[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>>]+>> +<<+/T (LineB[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (CAI[0])+/Kids [+<<+/T (CAI_ON[0])+/Kids [+<<+/T (Tick_box[0])+/V /+>>]+>>]+>> +<<+/T (Organ_donor[0])+/Kids [+<<+/T (Question[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (OrganDonor_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (OrganDonor_CheckBox[0])+/V /+>>]+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Return-pg1[0])+/Kids [+<<+/T (Identification[0])+/Kids [+<<+/T (EmailAddress[0])+/V ()+>> +<<+/T (DateDeath_Comb_BordersAll[0])+/Kids [+<<+/T (DateDeath_Comb[0])+/V ()+>>]+>> +<<+/T (PostalCode_Comb_BordersAll[0])+/Kids [+<<+/T (PostalCode[0])+/V ()+>>]+>> +<<+/T (Your_Language[0])+/Kids [+<<+/T (RadioButtonlanguaget[0])+/V /+>>]+>> +<<+/T (ID_City[0])+/V ()+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (ID_LastName[0])+/V ()+>> +<<+/T (DateBirth_Comb_BordersAll[0])+/Kids [+<<+/T (DateBirth_Comb[0])+/V ()+>>]+>> +<<+/T (ID_FirstNameInitial[0])+/V ()+>> +<<+/T (ID_MailingAddress[0])+/V ()+>> +<<+/T (MaritalStatus_Checkbox[0])+/Kids [+<<+/T (MaritalStatus[2])+/V /+>> +<<+/T (MaritalStatus[1])+/V /+>> +<<+/T (MaritalStatus[0])+/V /+>> +<<+/T (MaritalStatus[5])+/V /+>> +<<+/T (MaritalStatus[4])+/V /+>> +<<+/T (MaritalStatus[3])+/V /+>>]+>> +<<+/T (ID_RuralRoute[0])+/V ()+>> +<<+/T (ID_POBox[0])+/V ()+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Residence_Info[0])+/Kids [+<<+/T (Prov_DropDown-Business[0])+/V ()+>> +<<+/T (Prov_DropDown-Residence[0])+/V ()+>> +<<+/T (Date_Departure[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Date_Entry[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Info_Spouse_CLP[0])+/Kids [+<<+/T (Line23600[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Self-employment[0])+/Kids [+<<+/T (Checkbox[0])+/V /+>>]+>> +<<+/T (Spouse_First_Name[0])+/V ()+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[6])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[5])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[4])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[7])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page5[0])+/Kids [+<<+/T (Return-pg5[0])+/Kids [+<<+/T (Step4[0])+/Kids [+<<+/T (Line25500[0])+/Kids [+<<+/T (Line_25500_Amount[0])+/V ()+>>]+>> +<<+/T (Line24900[0])+/Kids [+<<+/T (Line_24900_Amount[0])+/V ()+>>]+>> +<<+/T (Line24400[0])+/Kids [+<<+/T (Line_24400_Amount[0])+/V ()+>>]+>> +<<+/T (Line25200[0])+/Kids [+<<+/T (Line_25200_Amount[0])+/V ()+>>]+>> +<<+/T (Line25600[0])+/Kids [+<<+/T (Line_25600_Specify[0])+/V ()+>> +<<+/T (Line_25600_Amount[0])+/V ()+>>]+>> +<<+/T (Line25100[0])+/Kids [+<<+/T (Line_25100_Amount[0])+/V ()+>>]+>> +<<+/T (Line26000[0])+/Kids [+<<+/T (Line_26000_Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25700[0])+/Kids [+<<+/T (Line_25700_Amount2[0])+/V ()+>> +<<+/T (Line_25700_Amount1[0])+/V ()+>>]+>> +<<+/T (Line25300[0])+/Kids [+<<+/T (Line_25300_Amount[0])+/V ()+>>]+>> +<<+/T (Line25000[0])+/Kids [+<<+/T (Line_25000_Amount[0])+/V ()+>>]+>> +<<+/T (Line25400[0])+/Kids [+<<+/T (Line_25400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartB[0])+/Kids [+<<+/T (Line30100[0])+/Kids [+<<+/T (Line_30100_Amount[0])+/V ()+>>]+>> +<<+/T (Line30400[0])+/Kids [+<<+/T (Line_30400_Amount[0])+/V ()+>>]+>> +<<+/T (Line30300[0])+/Kids [+<<+/T (Line_30300_Amount[0])+/V ()+>>]+>> +<<+/T (Line30425[0])+/Kids [+<<+/T (Line_30425_Amount[0])+/V ()+>>]+>> +<<+/T (Line30450[0])+/Kids [+<<+/T (Line_30450_Amount[0])+/V ()+>>]+>> +<<+/T (Line30500[0])+/Kids [+<<+/T (Line_30500_Amount[0])+/V ()+>> +<<+/T (Line30499[0])+/Kids [+<<+/T (Line_30499_ChildrenNum[0])+/V ()+>>]+>>]+>> +<<+/T (Line83[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30000[0])+/Kids [+<<+/T (Line_30000_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartA[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line42Amount3[0])+/V ()+>> +<<+/T (Line37Amount3[0])+/V ( 106,717.00)+>> +<<+/T (Line39Rate3[0])+/V (26%)+>> +<<+/T (Line41Amount3[0])+/V ( 18,942.24)+>> +<<+/T (Line36Amount3[0])+/V ()+>> +<<+/T (Line40Amount3[0])+/V ()+>> +<<+/T (Line38Amount3[0])+/V ()+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line41Amount5[0])+/V ( 54,578.67)+>> +<<+/T (Line36Amount5[0])+/V ()+>> +<<+/T (Line37Amount5[0])+/V ( 235,675.00)+>> +<<+/T (Line39Rate5[0])+/V (33%)+>> +<<+/T (Line40Amount5[0])+/V ()+>> +<<+/T (Line42Amount5[0])+/V ()+>> +<<+/T (Line38Amount5[0])+/V ()+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line36Amount4[0])+/V ()+>> +<<+/T (Line37Amount4[0])+/V ( 165,430.00)+>> +<<+/T (Line39Rate4[0])+/V (29%)+>> +<<+/T (Line41Amount4[0])+/V ( 34,207.62)+>> +<<+/T (Line40Amount4[0])+/V ()+>> +<<+/T (Line42Amount4[0])+/V ()+>> +<<+/T (Line38Amount4[0])+/V ()+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line37Amount2[0])+/V ( 53,359.00)+>> +<<+/T (Line41Amount2[0])+/V ( 8,003.85)+>> +<<+/T (Line36Amount2[0])+/V ()+>> +<<+/T (Line40Amount2[0])+/V ()+>> +<<+/T (Line39Rate2[0])+/V (20.5%)+>> +<<+/T (Line38Amount2[0])+/V ()+>> +<<+/T (Line42Amount2[0])+/V ()+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line38Amount1[0])+/V ()+>> +<<+/T (Line37Amount1[0])+/V ( 0.00)+>> +<<+/T (Line36Amount1[0])+/V ()+>> +<<+/T (Line39Rate1[0])+/V (15%)+>> +<<+/T (Line40Amount1[0])+/V ()+>> +<<+/T (Line41Amount1[0])+/V ( 0.00)+>> +<<+/T (Line42Amount1[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Return-pg4[0])+/Kids [+<<+/T (Line23400[0])+/Kids [+<<+/T (Line_23400_Amount[0])+/V ()+>>]+>> +<<+/T (Line22000[0])+/Kids [+<<+/T (Line21999[0])+/Kids [+<<+/T (Line_21999_Amount[0])+/V ()+>>]+>> +<<+/T (Line_22000_Amount[0])+/V ()+>>]+>> +<<+/T (Line23100[0])+/Kids [+<<+/T (Line_23100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22900[0])+/Kids [+<<+/T (Line_22900_Amount[0])+/V ()+>>]+>> +<<+/T (Line23200[0])+/Kids [+<<+/T (Line_23200_Amount[0])+/V ()+>> +<<+/T (Line_23200_Specify[0])+/V ()+>>]+>> +<<+/T (Line23500[0])+/Kids [+<<+/T (Line_23500_Amount[0])+/V ()+>>]+>> +<<+/T (Line21500[0])+/Kids [+<<+/T (Line_21500_Amount[0])+/V ()+>>]+>> +<<+/T (Line20700[0])+/Kids [+<<+/T (Line_20700_Amount[0])+/V ()+>>]+>> +<<+/T (Line21200[0])+/Kids [+<<+/T (Line_21200_Amount[0])+/V ()+>>]+>> +<<+/T (Line21000[0])+/Kids [+<<+/T (Line_21000_Amount[0])+/V ()+>>]+>> +<<+/T (Line21900[0])+/Kids [+<<+/T (Line_21900_Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22400[0])+/Kids [+<<+/T (Line_22400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20800[0])+/Kids [+<<+/T (Line_20800_Amount[0])+/V ()+>>]+>> +<<+/T (Line22100[0])+/Kids [+<<+/T (Line_22100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22215[0])+/Kids [+<<+/T (Line_22215_Amount[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Line_21300_Amount[0])+/V ()+>>]+>> +<<+/T (Line22200[0])+/Kids [+<<+/T (Line_22200_Amount[0])+/V ()+>>]+>> +<<+/T (Line20810[0])+/Kids [+<<+/T (Line_20810_Amount[0])+/V ()+>>]+>> +<<+/T (Line23600[0])+/Kids [+<<+/T (Line_23600_Amount[0])+/V ()+>>]+>> +<<+/T (Line20805[0])+/Kids [+<<+/T (Line_20805_Amount[0])+/V ()+>>]+>> +<<+/T (Line21400[0])+/Kids [+<<+/T (Line_21400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20600[0])+/Kids [+<<+/T (Line_20600_Amount[0])+/V ()+>>]+>> +<<+/T (Line23300[0])+/Kids [+<<+/T (Line_23300_Amount2[0])+/V ()+>> +<<+/T (Line_23300_Amount1[0])+/V ()+>>]+>> +<<+/T (Line21700[0])+/Kids [+<<+/T (Line_21700_Amount[0])+/V ()+>> +<<+/T (Line21699[0])+/Kids [+<<+/T (Line_21699_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page7[0])+/Kids [+<<+/T (Return-pg7[0])+/Kids [+<<+/T (Step6[0])+/Kids [+<<+/T (Line42200[0])+/Kids [+<<+/T (Line_42200_Amount[0])+/V ()+>>]+>> +<<+/T (Line43500[0])+/Kids [+<<+/T (Line_43500_Amount[0])+/V ()+>>]+>> +<<+/T (Line42120[0])+/Kids [+<<+/T (Line_42120_Amount[0])+/V ()+>>]+>> +<<+/T (Line42800[0])+/Kids [+<<+/T (Line_42800_Amount[0])+/V ()+>>]+>> +<<+/T (Line42100[0])+/Kids [+<<+/T (Line_42100_Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartC[0])+/Kids [+<<+/T (Line40600[0])+/Kids [+<<+/T (Line_40600_Amount[0])+/V ()+>>]+>> +<<+/T (Line41000[0])+/Kids [+<<+/T (Line_41000_Amount[0])+/V ()+>> +<<+/T (Line40900[0])+/Kids [+<<+/T (Line_40900_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line118[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line124[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line121[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line127[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40427[0])+/Kids [+<<+/T (Line_40427_Amount[0])+/V ()+>>]+>> +<<+/T (Line126[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41600[0])+/Kids [+<<+/T (Line_41600_Amount1[0])+/V ()+>> +<<+/T (Line_41600_Amount2[0])+/V ()+>>]+>> +<<+/T (Line129[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42900[0])+/Kids [+<<+/T (Line_42900_Amount[0])+/V ()+>>]+>> +<<+/T (Line40500[0])+/Kids [+<<+/T (Line_40500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41200[0])+/Kids [+<<+/T (Line_41200_Amount[0])+/V ()+>>]+>> +<<+/T (Line41800[0])+/Kids [+<<+/T (Line_41800_Amount[0])+/V ()+>>]+>> +<<+/T (Line131[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40424[0])+/Kids [+<<+/T (Line_40424_Amount[0])+/V ()+>>]+>> +<<+/T (Line40425[0])+/Kids [+<<+/T (Line_40425_Amount[0])+/V ()+>>]+>> +<<+/T (Line132[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line130[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41500[0])+/Kids [+<<+/T (Line_41500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41400[0])+/Kids [+<<+/T (Line_41400_Amount[0])+/V ()+>> +<<+/T (Line41300[0])+/Kids [+<<+/T (Line_41300_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line42000[0])+/Kids [+<<+/T (Line_42000_Amount[0])+/V ()+>>]+>> +<<+/T (Line40400[0])+/Kids [+<<+/T (Line_40400_Amount[0])+/V ()+>>]+>> +<<+/T (Line41700[0])+/Kids [+<<+/T (Line_41700_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page6[0])+/Kids [+<<+/T (Return-pg6[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line31240[0])+/Kids [+<<+/T (Line_31240_Amount[0])+/V ()+>>]+>> +<<+/T (Line98[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32300[0])+/Kids [+<<+/T (Line_32300_Amount[0])+/V ()+>>]+>> +<<+/T (Line96[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31217[0])+/Kids [+<<+/T (Line_31217_Amount[0])+/V ()+>>]+>> +<<+/T (Line32600[0])+/Kids [+<<+/T (Line_32600_Amount[0])+/V ()+>>]+>> +<<+/T (Line35000[0])+/Kids [+<<+/T (Line_35000_Amount[0])+/V ()+>>]+>> +<<+/T (Line110[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line108[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31800[0])+/Kids [+<<+/T (Line_31800_Amount[0])+/V ()+>>]+>> +<<+/T (Line106[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33099[0])+/Kids [+<<+/T (Line_33099_Amount[0])+/V ()+>>]+>> +<<+/T (Line114[0])+/Kids [+<<+/T (Percent[0])+/V (15%)+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33500[0])+/Kids [+<<+/T (Line_33500_Amount[0])+/V ()+>>]+>> +<<+/T (Line33800[0])+/Kids [+<<+/T (Line_33800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31200[0])+/Kids [+<<+/T (Line_31200_Amount[0])+/V ()+>>]+>> +<<+/T (Line34900[0])+/Kids [+<<+/T (Line_34900_Amount[0])+/V ()+>>]+>> +<<+/T (Line31000[0])+/Kids [+<<+/T (Line_31000_Amount[0])+/V ()+>>]+>> +<<+/T (Line31600[0])+/Kids [+<<+/T (Line_31600_Amount[0])+/V ()+>>]+>> +<<+/T (Line31350[0])+/Kids [+<<+/T (Line_31350_Amount[0])+/V ()+>>]+>> +<<+/T (Line31900[0])+/Kids [+<<+/T (Line_31900_Amount[0])+/V ()+>>]+>> +<<+/T (Line32400[0])+/Kids [+<<+/T (Line_32400_Amount[0])+/V ()+>>]+>> +<<+/T (Line33199[0])+/Kids [+<<+/T (Line_33199_Amount[0])+/V ()+>>]+>> +<<+/T (Line101[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31260[0])+/Kids [+<<+/T (Line_31260_Amount[0])+/V ()+>>]+>> +<<+/T (Line33200[0])+/Kids [+<<+/T (Line_33200_Amount2[0])+/V ()+>> +<<+/T (Line_33200_Amount1[0])+/V ()+>>]+>> +<<+/T (Line30800[0])+/Kids [+<<+/T (Line_30800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31285[0])+/Kids [+<<+/T (Line_31285_Amount[0])+/V ()+>>]+>> +<<+/T (Line31300[0])+/Kids [+<<+/T (Line_31300_Amount[0])+/V ()+>>]+>> +<<+/T (Line109[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31270[0])+/Kids [+<<+/T (Line_31270_Amount[0])+/V ()+>>]+>> +<<+/T (Line31220[0])+/Kids [+<<+/T (Line_31220_Amount[0])+/V ()+>>]+>> +<<+/T (Line31400[0])+/Kids [+<<+/T (Line_31400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page8[0])+/Kids [+<<+/T (Line_49000_IfFeeWasCharged[0])+/Kids [+<<+/T (TelephoneOfPreparer[0])+/V ()+>> +<<+/T (NameOfPreparer[0])+/V ()+>> +<<+/T (EFileNumber_Comb[0])+/Kids [+<<+/T (EFile[0])+/V ()+>>]+>> +<<+/T (Line49000_CheckBoxGroup[0])+/Kids [+<<+/T (Line49000_CheckBox_EN[0])+/V /+>> +<<+/T (Line49000_CheckBox_EN[1])+/V /+>>]+>>]+>> +<<+/T (Step6-Continued[0])+/Kids [+<<+/T (Line44800[0])+/Kids [+<<+/T (Line_44800_Amount[0])+/V ()+>>]+>> +<<+/T (Line45355[0])+/Kids [+<<+/T (Line_45355_Amount[0])+/V ()+>>]+>> +<<+/T (Line46900[0])+/Kids [+<<+/T (Line46800[0])+/Kids [+<<+/T (Line_46800_Amount[0])+/V ()+>>]+>> +<<+/T (Line_46900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47600[0])+/Kids [+<<+/T (Line_47600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45200[0])+/Kids [+<<+/T (Line_45200_Amount[0])+/V ()+>>]+>> +<<+/T (Line45600[0])+/Kids [+<<+/T (Line_45600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45350[0])+/Kids [+<<+/T (Line_45350_Amount[0])+/V ()+>>]+>> +<<+/T (Line45300[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45000[0])+/Kids [+<<+/T (Line_45000_Amount[0])+/V ()+>>]+>> +<<+/T (Line47557[0])+/Kids [+<<+/T (Line_47557_Amount[0])+/V ()+>>]+>> +<<+/T (Line47900[0])+/Kids [+<<+/T (Line_47900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47556[0])+/Kids [+<<+/T (Line_47556_Amount[0])+/V ()+>>]+>> +<<+/T (Line47555[0])+/Kids [+<<+/T (Line_47600_Amount[0])+/V ()+>>]+>> +<<+/T (Line167[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line148[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43700[0])+/Kids [+<<+/T (Line_43700_Amount[0])+/V ()+>>]+>> +<<+/T (Line48200[0])+/Kids [+<<+/T (Line_48200_Amount1[0])+/V ()+>> +<<+/T (Line_48200_Amount2[0])+/V ()+>>]+>> +<<+/T (Line45700[0])+/Kids [+<<+/T (Line_45700_Amount[0])+/V ()+>>]+>> +<<+/T (Line44000[0])+/Kids [+<<+/T (Line_44000_Amount[0])+/V ()+>>]+>> +<<+/T (Line45400[0])+/Kids [+<<+/T (Line_45400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Certification[0])+/Kids [+<<+/T (Date[0])+/V ()+>> +<<+/T (Telephone[0])+/V ()+>>]+>> +<<+/T (ONOpportunitiesFund2[0])+/Kids [+<<+/T (Line_3[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line_2[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line_1[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Refund_or_Balance-owing[0])+/Kids [+<<+/T (Line48500[0])+/Kids [+<<+/T (Line_48500_Amount[0])+/V ()+>>]+>> +<<+/T (Line48400[0])+/Kids [+<<+/T (Line_48400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/T1/fdf/5010-r-fill-23e.fdf view
@@ -0,0 +1,2234 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Foreign_property[0])+/Kids [+<<+/T (Line26600[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (Tax_exempt[0])+/Kids [+<<+/T (Exempt[0])+/Kids [+<<+/T (Spouse_SelfEmployed[0])+/V /+>>]+>>]+>> +<<+/T (ElectionsCanada[0])+/Kids [+<<+/T (LineA[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>>]+>> +<<+/T (LineB[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (ResidencyInformation[0])+/Kids [+<<+/T (Question1[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (Residency_CheckBox1[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (Residency_CheckBox1[0])+/V /+>>]+>>]+>> +<<+/T (Question2[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (Residency_CheckBox2[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (Residency_CheckBox2[0])+/V /+>>]+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (Return-pg3[0])+/Kids [+<<+/T (Line11410[0])+/Kids [+<<+/T (Line_11410_Amount[0])+/V ()+>>]+>> +<<+/T (Line13700[0])+/Kids [+<<+/T (Line_13700_Amount[0])+/V ()+>> +<<+/T (Line13699[0])+/Kids [+<<+/T (Line_13699_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12000[0])+/Kids [+<<+/T (Line_12000_Amount[0])+/V ()+>>]+>> +<<+/T (Line14500[0])+/Kids [+<<+/T (Line_14500_Amount[0])+/V ()+>>]+>> +<<+/T (Line12600[0])+/Kids [+<<+/T (Line12599[0])+/Kids [+<<+/T (Line_12599_Amount[0])+/V ()+>>]+>> +<<+/T (Line_12600_Amount[0])+/V ()+>>]+>> +<<+/T (Line10130[0])+/Kids [+<<+/T (Line_10130_Amount[0])+/V ()+>>]+>> +<<+/T (Line12900[0])+/Kids [+<<+/T (Line_12900_Amount[0])+/V ()+>>]+>> +<<+/T (Line13010[0])+/Kids [+<<+/T (Line_13010_Amount[0])+/V ()+>>]+>> +<<+/T (Line15000[0])+/Kids [+<<+/T (Line_15000_Amount[0])+/V ()+>>]+>> +<<+/T (Line12010[0])+/Kids [+<<+/T (Line_12010_Amount[0])+/V ()+>>]+>> +<<+/T (Line10400[0])+/Kids [+<<+/T (Line_10400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12905[0])+/Kids [+<<+/T (Line_12905_Amount[0])+/V ()+>>]+>> +<<+/T (Line14300[0])+/Kids [+<<+/T (Line14299[0])+/Kids [+<<+/T (Line_14299_Amount[0])+/V ()+>>]+>> +<<+/T (Line_14300_Amount[0])+/V ()+>>]+>> +<<+/T (Line13500[0])+/Kids [+<<+/T (Line13499[0])+/Kids [+<<+/T (Line_13499_Amount[0])+/V ()+>>]+>> +<<+/T (Line_13500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11500[0])+/Kids [+<<+/T (Line_11500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11701[0])+/Kids [+<<+/T (Line_11701_Amount[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14600[0])+/Kids [+<<+/T (Line_14600_Amount[0])+/V ()+>>]+>> +<<+/T (Line11900[0])+/Kids [+<<+/T (Line_11900_Amount[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14100[0])+/Kids [+<<+/T (Line_14100_Amount[0])+/V ()+>> +<<+/T (Line14099[0])+/Kids [+<<+/T (Line_14099_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line11600[0])+/Kids [+<<+/T (Line_11600_Amount[0])+/V ()+>>]+>> +<<+/T (Line14700[0])+/Kids [+<<+/T (Line_14700_Amount1[0])+/V ()+>> +<<+/T (Line_14700_Amount2[0])+/V ()+>>]+>> +<<+/T (Line14400[0])+/Kids [+<<+/T (Line_14400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12700[0])+/Kids [+<<+/T (Line_12700_Amount[0])+/V ()+>>]+>> +<<+/T (Line1[0])+/Kids [+<<+/T (Line_10100_Amount[0])+/V ()+>>]+>> +<<+/T (Line12100[0])+/Kids [+<<+/T (Line_12100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11300[0])+/Kids [+<<+/T (Line_11300_Amount[0])+/V ()+>>]+>> +<<+/T (Line12800[0])+/Kids [+<<+/T (Line_12800_Amount[0])+/V ()+>> +<<+/T (Line_12799[0])+/Kids [+<<+/T (Line_12799_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line12906[0])+/Kids [+<<+/T (Line_12906_Amount[0])+/V ()+>>]+>> +<<+/T (Line11400[0])+/Kids [+<<+/T (Line_11400_Amount[0])+/V ()+>>]+>> +<<+/T (Line13900[0])+/Kids [+<<+/T (Line_13900_Amount[0])+/V ()+>> +<<+/T (Line13899[0])+/Kids [+<<+/T (Line_13899_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line13000[0])+/Kids [+<<+/T (Line_13000_Amount[0])+/V ()+>> +<<+/T (Line_13000_Specify[0])+/V ()+>>]+>> +<<+/T (Line11905[0])+/Kids [+<<+/T (Line_11905_Amount[0])+/V ()+>>]+>> +<<+/T (Line12200[0])+/Kids [+<<+/T (Line_12200_Amount[0])+/V ()+>>]+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Line_11700_Amount[0])+/V ()+>>]+>> +<<+/T (Line10105[0])+/Kids [+<<+/T (Line_10105_Amount[0])+/V ()+>>]+>> +<<+/T (Line10120[0])+/Kids [+<<+/T (Line_10120_Amount[0])+/V ()+>>]+>> +<<+/T (Line12500[0])+/Kids [+<<+/T (Line_12500_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Return-pg1[0])+/Kids [+<<+/T (Identification[0])+/Kids [+<<+/T (EmailAddress[0])+/V ()+>> +<<+/T (DateDeath_Comb_BordersAll[0])+/Kids [+<<+/T (DateDeath_Comb[0])+/V ()+>>]+>> +<<+/T (PostalCode_Comb_BordersAll[0])+/Kids [+<<+/T (PostalCode[0])+/V ()+>>]+>> +<<+/T (Your_Language[0])+/Kids [+<<+/T (RadioButtonlanguaget[0])+/V /+>>]+>> +<<+/T (ID_City[0])+/V ()+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (ID_LastName[0])+/V ()+>> +<<+/T (DateBirth_Comb_BordersAll[0])+/Kids [+<<+/T (DateBirth_Comb[0])+/V ()+>>]+>> +<<+/T (ID_FirstNameInitial[0])+/V ()+>> +<<+/T (ID_MailingAddress[0])+/V ()+>> +<<+/T (MaritalStatus_Checkbox[0])+/Kids [+<<+/T (MaritalStatus[2])+/V /+>> +<<+/T (MaritalStatus[1])+/V /+>> +<<+/T (MaritalStatus[0])+/V /+>> +<<+/T (MaritalStatus[5])+/V /+>> +<<+/T (MaritalStatus[4])+/V /+>> +<<+/T (MaritalStatus[3])+/V /+>>]+>> +<<+/T (ID_RuralRoute[0])+/V ()+>> +<<+/T (ID_POBox[0])+/V ()+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Residence_Info[0])+/Kids [+<<+/T (Prov_DropDown-Business[0])+/V ()+>> +<<+/T (Prov_DropDown-Residence[0])+/V ()+>> +<<+/T (Date_Departure[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Date_Entry[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Info_Spouse_CLP[0])+/Kids [+<<+/T (Line23600[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Self-employment[0])+/Kids [+<<+/T (Checkbox[0])+/V /+>>]+>> +<<+/T (Spouse_First_Name[0])+/V ()+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[6])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[5])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[4])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[7])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page5[0])+/Kids [+<<+/T (Return-pg5[0])+/Kids [+<<+/T (Step4[0])+/Kids [+<<+/T (Line25500[0])+/Kids [+<<+/T (Line_25500_Amount[0])+/V ()+>>]+>> +<<+/T (Line24900[0])+/Kids [+<<+/T (Line_24900_Amount[0])+/V ()+>>]+>> +<<+/T (Line24400[0])+/Kids [+<<+/T (Line_24400_Amount[0])+/V ()+>>]+>> +<<+/T (Line25200[0])+/Kids [+<<+/T (Line_25200_Amount[0])+/V ()+>>]+>> +<<+/T (Line25600[0])+/Kids [+<<+/T (Line_25600_Specify[0])+/V ()+>> +<<+/T (Line_25600_Amount[0])+/V ()+>>]+>> +<<+/T (Line25100[0])+/Kids [+<<+/T (Line_25100_Amount[0])+/V ()+>>]+>> +<<+/T (Line26000[0])+/Kids [+<<+/T (Line_26000_Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25700[0])+/Kids [+<<+/T (Line_25700_Amount2[0])+/V ()+>> +<<+/T (Line_25700_Amount1[0])+/V ()+>>]+>> +<<+/T (Line25300[0])+/Kids [+<<+/T (Line_25300_Amount[0])+/V ()+>>]+>> +<<+/T (Line25000[0])+/Kids [+<<+/T (Line_25000_Amount[0])+/V ()+>>]+>> +<<+/T (Line25400[0])+/Kids [+<<+/T (Line_25400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartB[0])+/Kids [+<<+/T (Line30100[0])+/Kids [+<<+/T (Line_30100_Amount[0])+/V ()+>>]+>> +<<+/T (Line30400[0])+/Kids [+<<+/T (Line_30400_Amount[0])+/V ()+>>]+>> +<<+/T (Line30300[0])+/Kids [+<<+/T (Line_30300_Amount[0])+/V ()+>>]+>> +<<+/T (Line30425[0])+/Kids [+<<+/T (Line_30425_Amount[0])+/V ()+>>]+>> +<<+/T (Line30450[0])+/Kids [+<<+/T (Line_30450_Amount[0])+/V ()+>>]+>> +<<+/T (Line30500[0])+/Kids [+<<+/T (Line_30500_Amount[0])+/V ()+>> +<<+/T (Line30499[0])+/Kids [+<<+/T (Line_30499_ChildrenNum[0])+/V ()+>>]+>>]+>> +<<+/T (Line83[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30000[0])+/Kids [+<<+/T (Line_30000_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartA[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line42Amount3[0])+/V ()+>> +<<+/T (Line37Amount3[0])+/V ( 106,717.00)+>> +<<+/T (Line39Rate3[0])+/V (26%)+>> +<<+/T (Line41Amount3[0])+/V ( 18,942.24)+>> +<<+/T (Line36Amount3[0])+/V ()+>> +<<+/T (Line40Amount3[0])+/V ()+>> +<<+/T (Line38Amount3[0])+/V ()+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line41Amount5[0])+/V ( 54,578.67)+>> +<<+/T (Line36Amount5[0])+/V ()+>> +<<+/T (Line37Amount5[0])+/V ( 235,675.00)+>> +<<+/T (Line39Rate5[0])+/V (33%)+>> +<<+/T (Line40Amount5[0])+/V ()+>> +<<+/T (Line42Amount5[0])+/V ()+>> +<<+/T (Line38Amount5[0])+/V ()+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line36Amount4[0])+/V ()+>> +<<+/T (Line37Amount4[0])+/V ( 165,430.00)+>> +<<+/T (Line39Rate4[0])+/V (29%)+>> +<<+/T (Line41Amount4[0])+/V ( 34,207.62)+>> +<<+/T (Line40Amount4[0])+/V ()+>> +<<+/T (Line42Amount4[0])+/V ()+>> +<<+/T (Line38Amount4[0])+/V ()+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line37Amount2[0])+/V ( 53,359.00)+>> +<<+/T (Line41Amount2[0])+/V ( 8,003.85)+>> +<<+/T (Line36Amount2[0])+/V ()+>> +<<+/T (Line40Amount2[0])+/V ()+>> +<<+/T (Line39Rate2[0])+/V (20.5%)+>> +<<+/T (Line38Amount2[0])+/V ()+>> +<<+/T (Line42Amount2[0])+/V ()+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line38Amount1[0])+/V ()+>> +<<+/T (Line37Amount1[0])+/V ( 0.00)+>> +<<+/T (Line36Amount1[0])+/V ()+>> +<<+/T (Line39Rate1[0])+/V (15%)+>> +<<+/T (Line40Amount1[0])+/V ()+>> +<<+/T (Line41Amount1[0])+/V ( 0.00)+>> +<<+/T (Line42Amount1[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Return-pg4[0])+/Kids [+<<+/T (Step3[0])+/Kids [+<<+/T (Line23400[0])+/Kids [+<<+/T (Line_23400_Amount[0])+/V ()+>>]+>> +<<+/T (Line22000[0])+/Kids [+<<+/T (Line21999[0])+/Kids [+<<+/T (Line_21999_Amount[0])+/V ()+>>]+>> +<<+/T (Line_22000_Amount[0])+/V ()+>>]+>> +<<+/T (Line23100[0])+/Kids [+<<+/T (Line_23100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22900[0])+/Kids [+<<+/T (Line_22900_Amount[0])+/V ()+>>]+>> +<<+/T (Line23200[0])+/Kids [+<<+/T (Line_23200_Amount[0])+/V ()+>> +<<+/T (Line_23200_Specify[0])+/V ()+>>]+>> +<<+/T (Line23500[0])+/Kids [+<<+/T (Line_23500_Amount[0])+/V ()+>>]+>> +<<+/T (Line21500[0])+/Kids [+<<+/T (Line_21500_Amount[0])+/V ()+>>]+>> +<<+/T (Line20700[0])+/Kids [+<<+/T (Line_20700_Amount[0])+/V ()+>>]+>> +<<+/T (Line21200[0])+/Kids [+<<+/T (Line_21200_Amount[0])+/V ()+>>]+>> +<<+/T (Line21000[0])+/Kids [+<<+/T (Line_21000_Amount[0])+/V ()+>>]+>> +<<+/T (Line21900[0])+/Kids [+<<+/T (Line_21900_Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22400[0])+/Kids [+<<+/T (Line_22400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20800[0])+/Kids [+<<+/T (Line_20800_Amount[0])+/V ()+>>]+>> +<<+/T (Line22215[0])+/Kids [+<<+/T (Line_22215_Amount[0])+/V ()+>>]+>> +<<+/T (Line22100[0])+/Kids [+<<+/T (Line_22100_Amount[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Line_21300_Amount[0])+/V ()+>>]+>> +<<+/T (Line22200[0])+/Kids [+<<+/T (Line_22200_Amount[0])+/V ()+>>]+>> +<<+/T (Line20810[0])+/Kids [+<<+/T (Line_20810_Amount[0])+/V ()+>>]+>> +<<+/T (Line23600[0])+/Kids [+<<+/T (Line_23600_Amount[0])+/V ()+>>]+>> +<<+/T (Line20805[0])+/Kids [+<<+/T (Line_20805_Amount[0])+/V ()+>>]+>> +<<+/T (Line21400[0])+/Kids [+<<+/T (Line_21400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20600[0])+/Kids [+<<+/T (Line_20600_Amount[0])+/V ()+>>]+>> +<<+/T (Line23300[0])+/Kids [+<<+/T (Line_23300_Amount2[0])+/V ()+>> +<<+/T (Line_23300_Amount1[0])+/V ()+>>]+>> +<<+/T (Line21700[0])+/Kids [+<<+/T (Line_21700_Amount[0])+/V ()+>> +<<+/T (Line21699[0])+/Kids [+<<+/T (Line_21699_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>> +<<+/T (Page7[0])+/Kids [+<<+/T (Return-pg7[0])+/Kids [+<<+/T (Step6[0])+/Kids [+<<+/T (Line42200[0])+/Kids [+<<+/T (Line_42200_Amount[0])+/V ()+>>]+>> +<<+/T (Line43500[0])+/Kids [+<<+/T (Line_43500_Amount[0])+/V ()+>>]+>> +<<+/T (Line42120[0])+/Kids [+<<+/T (Line_42120_Amount[0])+/V ()+>>]+>> +<<+/T (Line42800[0])+/Kids [+<<+/T (Line_42800_Amount[0])+/V ()+>>]+>> +<<+/T (Line42100[0])+/Kids [+<<+/T (Line_42100_Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartC[0])+/Kids [+<<+/T (Line40600[0])+/Kids [+<<+/T (Line_40600_Amount[0])+/V ()+>>]+>> +<<+/T (Line41000[0])+/Kids [+<<+/T (Line_41000_Amount[0])+/V ()+>> +<<+/T (Line40900[0])+/Kids [+<<+/T (Line_40900_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line118[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line124[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line121[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line127[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40427[0])+/Kids [+<<+/T (Line_40427_Amount[0])+/V ()+>>]+>> +<<+/T (Line126[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41600[0])+/Kids [+<<+/T (Line_41600_Amount1[0])+/V ()+>> +<<+/T (Line_41600_Amount2[0])+/V ()+>>]+>> +<<+/T (Line129[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42900[0])+/Kids [+<<+/T (Line_42900_Amount[0])+/V ()+>>]+>> +<<+/T (Line40500[0])+/Kids [+<<+/T (Line_40500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41200[0])+/Kids [+<<+/T (Line_41200_Amount[0])+/V ()+>>]+>> +<<+/T (Line41800[0])+/Kids [+<<+/T (Line_41800_Amount[0])+/V ()+>>]+>> +<<+/T (Line131[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40424[0])+/Kids [+<<+/T (Line_40424_Amount[0])+/V ()+>>]+>> +<<+/T (Line40425[0])+/Kids [+<<+/T (Line_40425_Amount[0])+/V ()+>>]+>> +<<+/T (Line132[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line130[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41500[0])+/Kids [+<<+/T (Line_41500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41400[0])+/Kids [+<<+/T (Line_41400_Amount[0])+/V ()+>> +<<+/T (Line41300[0])+/Kids [+<<+/T (Line_41300_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line42000[0])+/Kids [+<<+/T (Line_42000_Amount[0])+/V ()+>>]+>> +<<+/T (Line40400[0])+/Kids [+<<+/T (Line_40400_Amount[0])+/V ()+>>]+>> +<<+/T (Line41700[0])+/Kids [+<<+/T (Line_41700_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page6[0])+/Kids [+<<+/T (Return-pg6[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line31240[0])+/Kids [+<<+/T (Line_31240_Amount[0])+/V ()+>>]+>> +<<+/T (Line98[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32300[0])+/Kids [+<<+/T (Line_32300_Amount[0])+/V ()+>>]+>> +<<+/T (Line96[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31217[0])+/Kids [+<<+/T (Line_31217_Amount[0])+/V ()+>>]+>> +<<+/T (Line32600[0])+/Kids [+<<+/T (Line_32600_Amount[0])+/V ()+>>]+>> +<<+/T (Line35000[0])+/Kids [+<<+/T (Line_35000_Amount[0])+/V ()+>>]+>> +<<+/T (Line110[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line108[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31800[0])+/Kids [+<<+/T (Line_31800_Amount[0])+/V ()+>>]+>> +<<+/T (Line106[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33099[0])+/Kids [+<<+/T (Line_33099_Amount[0])+/V ()+>>]+>> +<<+/T (Line114[0])+/Kids [+<<+/T (Percent[0])+/V (15%)+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33500[0])+/Kids [+<<+/T (Line_33500_Amount[0])+/V ()+>>]+>> +<<+/T (Line33800[0])+/Kids [+<<+/T (Line_33800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31200[0])+/Kids [+<<+/T (Line_31200_Amount[0])+/V ()+>>]+>> +<<+/T (Line34900[0])+/Kids [+<<+/T (Line_34900_Amount[0])+/V ()+>>]+>> +<<+/T (Line31000[0])+/Kids [+<<+/T (Line_31000_Amount[0])+/V ()+>>]+>> +<<+/T (Line31600[0])+/Kids [+<<+/T (Line_31600_Amount[0])+/V ()+>>]+>> +<<+/T (Line31350[0])+/Kids [+<<+/T (Line_31350_Amount[0])+/V ()+>>]+>> +<<+/T (Line31900[0])+/Kids [+<<+/T (Line_31900_Amount[0])+/V ()+>>]+>> +<<+/T (Line32400[0])+/Kids [+<<+/T (Line_32400_Amount[0])+/V ()+>>]+>> +<<+/T (Line33199[0])+/Kids [+<<+/T (Line_33199_Amount[0])+/V ()+>>]+>> +<<+/T (Line101[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31260[0])+/Kids [+<<+/T (Line_31260_Amount[0])+/V ()+>>]+>> +<<+/T (Line33200[0])+/Kids [+<<+/T (Line_33200_Amount2[0])+/V ()+>> +<<+/T (Line_33200_Amount1[0])+/V ()+>>]+>> +<<+/T (Line30800[0])+/Kids [+<<+/T (Line_30800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31285[0])+/Kids [+<<+/T (Line_31285_Amount[0])+/V ()+>>]+>> +<<+/T (Line31300[0])+/Kids [+<<+/T (Line_31300_Amount[0])+/V ()+>>]+>> +<<+/T (Line109[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31270[0])+/Kids [+<<+/T (Line_31270_Amount[0])+/V ()+>>]+>> +<<+/T (Line31220[0])+/Kids [+<<+/T (Line_31220_Amount[0])+/V ()+>>]+>> +<<+/T (Line31400[0])+/Kids [+<<+/T (Line_31400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page8[0])+/Kids [+<<+/T (Return-pg8[0])+/Kids [+<<+/T (Step6-Continued[0])+/Kids [+<<+/T (Line44800[0])+/Kids [+<<+/T (Line_44800_Amount[0])+/V ()+>>]+>> +<<+/T (Line45355[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line46900[0])+/Kids [+<<+/T (Line46800[0])+/Kids [+<<+/T (Line_46800_Amount[0])+/V ()+>>]+>> +<<+/T (Line_46900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47600[0])+/Kids [+<<+/T (Line_47600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45200[0])+/Kids [+<<+/T (Line_45200_Amount[0])+/V ()+>>]+>> +<<+/T (Line45350[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45600[0])+/Kids [+<<+/T (Line_45600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45300[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45000[0])+/Kids [+<<+/T (Line_45000_Amount[0])+/V ()+>>]+>> +<<+/T (Line47557[0])+/Kids [+<<+/T (Line_47557_Amount[0])+/V ()+>>]+>> +<<+/T (Line47900[0])+/Kids [+<<+/T (Line_47900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47556[0])+/Kids [+<<+/T (Line_47556_Amount[0])+/V ()+>>]+>> +<<+/T (Line47555[0])+/Kids [+<<+/T (Line_47555_Amount[0])+/V ()+>>]+>> +<<+/T (Line167[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line148[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43700[0])+/Kids [+<<+/T (Line_43700_Amount[0])+/V ()+>>]+>> +<<+/T (Line48200[0])+/Kids [+<<+/T (Line_48200_Amount1[0])+/V ()+>> +<<+/T (Line_48200_Amount2[0])+/V ()+>>]+>> +<<+/T (Line45700[0])+/Kids [+<<+/T (Line_45700_Amount[0])+/V ()+>>]+>> +<<+/T (Line44000[0])+/Kids [+<<+/T (Line_44000_Amount[0])+/V ()+>>]+>> +<<+/T (Line45400[0])+/Kids [+<<+/T (Line_45400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Certification[0])+/Kids [+<<+/T (Date[0])+/V ()+>> +<<+/T (Telephone[0])+/V ()+>>]+>> +<<+/T (Efile[0])+/Kids [+<<+/T (Line48900[0])+/Kids [+<<+/T (EFile[0])+/V ()+>>]+>> +<<+/T (TelephoneOfPreparer[0])+/V ()+>> +<<+/T (NameOfPreparer[0])+/V ()+>> +<<+/T (Line49000[0])+/Kids [+<<+/T (Line49000_CheckBoxGroup[0])+/Kids [+<<+/T (Line49000_CheckBox_EN[0])+/V /+>> +<<+/T (Line49000_CheckBox_EN[1])+/V /+>>]+>>]+>>]+>> +<<+/T (Refund_or_Balance-owing[0])+/Kids [+<<+/T (Line48500[0])+/Kids [+<<+/T (Line_48500_Amount[0])+/V ()+>>]+>> +<<+/T (Line48400[0])+/Kids [+<<+/T (Line_48400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/T1/fdf/5011-r-fill-23e.fdf view
@@ -0,0 +1,2242 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Step1-Continued[0])+/Kids [+<<+/T (Foreign_property[0])+/Kids [+<<+/T (Line26600[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (Tax_exempt[0])+/Kids [+<<+/T (Exempt[0])+/Kids [+<<+/T (Spouse_SelfEmployed[0])+/V /+>>]+>>]+>> +<<+/T (ElectionsCanada[0])+/Kids [+<<+/T (LineA[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>>]+>> +<<+/T (LineB[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (ResidencyInformation[0])+/Kids [+<<+/T (Question1[0])+/Kids [+<<+/T (Residency_CheckBox[1])+/V /+>> +<<+/T (Residency_CheckBox[0])+/V /+>>]+>> +<<+/T (QuestionB[0])+/Kids [+<<+/T (B_CheckBox[1])+/V /+>> +<<+/T (B_CheckBox[0])+/V /+>>]+>> +<<+/T (QuestionA[0])+/Kids [+<<+/T (A_Self_Governing_Field[0])+/V ()+>> +<<+/T (A_IdentificationNumber[0])+/Kids [+<<+/T (IdentificationNum[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (Return-pg3[0])+/Kids [+<<+/T (Line11410[0])+/Kids [+<<+/T (Line_11410_Amount[0])+/V ()+>>]+>> +<<+/T (Line13700[0])+/Kids [+<<+/T (Line_13700_Amount[0])+/V ()+>> +<<+/T (Line13699[0])+/Kids [+<<+/T (Line_13699_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12000[0])+/Kids [+<<+/T (Line_12000_Amount[0])+/V ()+>>]+>> +<<+/T (Line14500[0])+/Kids [+<<+/T (Line_14500_Amount[0])+/V ()+>>]+>> +<<+/T (Line12600[0])+/Kids [+<<+/T (Line12599[0])+/Kids [+<<+/T (Line_12599_Amount[0])+/V ()+>>]+>> +<<+/T (Line_12600_Amount[0])+/V ()+>>]+>> +<<+/T (Line10130[0])+/Kids [+<<+/T (Line_10130_Amount[0])+/V ()+>>]+>> +<<+/T (Line12900[0])+/Kids [+<<+/T (Line_12900_Amount[0])+/V ()+>>]+>> +<<+/T (Line13010[0])+/Kids [+<<+/T (Line_13010_Amount[0])+/V ()+>>]+>> +<<+/T (Line15000[0])+/Kids [+<<+/T (Line_15000_Amount[0])+/V ()+>>]+>> +<<+/T (Line12010[0])+/Kids [+<<+/T (Line_12010_Amount[0])+/V ()+>>]+>> +<<+/T (Line10400[0])+/Kids [+<<+/T (Line_10400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12905[0])+/Kids [+<<+/T (Line_12905_Amount[0])+/V ()+>>]+>> +<<+/T (Line14300[0])+/Kids [+<<+/T (Line14299[0])+/Kids [+<<+/T (Line_14299_Amount[0])+/V ()+>>]+>> +<<+/T (Line_14300_Amount[0])+/V ()+>>]+>> +<<+/T (Line13500[0])+/Kids [+<<+/T (Line13499[0])+/Kids [+<<+/T (Line_13499_Amount[0])+/V ()+>>]+>> +<<+/T (Line_13500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11500[0])+/Kids [+<<+/T (Line_11500_Amount[0])+/V ()+>>]+>> +<<+/T (Line10100[0])+/Kids [+<<+/T (Line_10100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11701[0])+/Kids [+<<+/T (Line_11701_Amount[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14600[0])+/Kids [+<<+/T (Line_14600_Amount[0])+/V ()+>>]+>> +<<+/T (Line11900[0])+/Kids [+<<+/T (Line_11900_Amount[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14100[0])+/Kids [+<<+/T (Line_14100_Amount[0])+/V ()+>> +<<+/T (Line14099[0])+/Kids [+<<+/T (Line_14099_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line11600[0])+/Kids [+<<+/T (Line_11600_Amount[0])+/V ()+>>]+>> +<<+/T (Line14700[0])+/Kids [+<<+/T (Line_14700_Amount1[0])+/V ()+>> +<<+/T (Line_14700_Amount2[0])+/V ()+>>]+>> +<<+/T (Line14400[0])+/Kids [+<<+/T (Line_14400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12700[0])+/Kids [+<<+/T (Line_12700_Amount[0])+/V ()+>>]+>> +<<+/T (Line12100[0])+/Kids [+<<+/T (Line_12100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11300[0])+/Kids [+<<+/T (Line_11300_Amount[0])+/V ()+>>]+>> +<<+/T (Line12800[0])+/Kids [+<<+/T (Line_12800_Amount[0])+/V ()+>> +<<+/T (Line_12799[0])+/Kids [+<<+/T (Line_12799_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line12906[0])+/Kids [+<<+/T (Line_12906_Amount[0])+/V ()+>>]+>> +<<+/T (Line11400[0])+/Kids [+<<+/T (Line_11400_Amount[0])+/V ()+>>]+>> +<<+/T (Line13900[0])+/Kids [+<<+/T (Line_13900_Amount[0])+/V ()+>> +<<+/T (Line13899[0])+/Kids [+<<+/T (Line_13899_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line13000[0])+/Kids [+<<+/T (Line_13000_Amount[0])+/V ()+>> +<<+/T (Line_13000_Specify[0])+/V ()+>>]+>> +<<+/T (Line11905[0])+/Kids [+<<+/T (Line_11905_Amount[0])+/V ()+>>]+>> +<<+/T (Line12200[0])+/Kids [+<<+/T (Line_12200_Amount[0])+/V ()+>>]+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Line_11700_Amount[0])+/V ()+>>]+>> +<<+/T (Line10105[0])+/Kids [+<<+/T (Line_10105_Amount[0])+/V ()+>>]+>> +<<+/T (Line10120[0])+/Kids [+<<+/T (Line_10120_Amount[0])+/V ()+>>]+>> +<<+/T (Line12500[0])+/Kids [+<<+/T (Line_12500_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Return-pg1[0])+/Kids [+<<+/T (Identification[0])+/Kids [+<<+/T (EmailAddress[0])+/V ()+>> +<<+/T (DateDeath_Comb_BordersAll[0])+/Kids [+<<+/T (DateDeath_Comb[0])+/V ()+>>]+>> +<<+/T (PostalCode_Comb_BordersAll[0])+/Kids [+<<+/T (PostalCode[0])+/V ()+>>]+>> +<<+/T (Your_Language[0])+/Kids [+<<+/T (RadioButtonlanguaget[0])+/V /+>>]+>> +<<+/T (ID_City[0])+/V ()+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (ID_LastName[0])+/V ()+>> +<<+/T (DateBirth_Comb_BordersAll[0])+/Kids [+<<+/T (DateBirth_Comb[0])+/V ()+>>]+>> +<<+/T (ID_FirstNameInitial[0])+/V ()+>> +<<+/T (ID_MailingAddress[0])+/V ()+>> +<<+/T (MaritalStatus_Checkbox[0])+/Kids [+<<+/T (MaritalStatus[2])+/V /+>> +<<+/T (MaritalStatus[1])+/V /+>> +<<+/T (MaritalStatus[0])+/V /+>> +<<+/T (MaritalStatus[5])+/V /+>> +<<+/T (MaritalStatus[4])+/V /+>> +<<+/T (MaritalStatus[3])+/V /+>>]+>> +<<+/T (ID_RuralRoute[0])+/V ()+>> +<<+/T (ID_POBox[0])+/V ()+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Residence_Info[0])+/Kids [+<<+/T (Prov_DropDown-Business[0])+/V ()+>> +<<+/T (Prov_DropDown-Residence[0])+/V ()+>> +<<+/T (Date_Departure[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Date_Entry[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Info_Spouse_CLP[0])+/Kids [+<<+/T (Line23600[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Self-employment[0])+/Kids [+<<+/T (Checkbox[0])+/V /+>>]+>> +<<+/T (Spouse_First_Name[0])+/V ()+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[6])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[5])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[4])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[7])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page5[0])+/Kids [+<<+/T (Return-pg5[0])+/Kids [+<<+/T (Step4[0])+/Kids [+<<+/T (Line25500[0])+/Kids [+<<+/T (Line_25500_Amount[0])+/V ()+>>]+>> +<<+/T (Line24900[0])+/Kids [+<<+/T (Line_24900_Amount[0])+/V ()+>>]+>> +<<+/T (Line24400[0])+/Kids [+<<+/T (Line_24400_Amount[0])+/V ()+>>]+>> +<<+/T (Line25200[0])+/Kids [+<<+/T (Line_25200_Amount[0])+/V ()+>>]+>> +<<+/T (Line25600[0])+/Kids [+<<+/T (Line_25600_Specify[0])+/V ()+>> +<<+/T (Line_25600_Amount[0])+/V ()+>>]+>> +<<+/T (Line25100[0])+/Kids [+<<+/T (Line_25100_Amount[0])+/V ()+>>]+>> +<<+/T (Line26000[0])+/Kids [+<<+/T (Line_26000_Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25700[0])+/Kids [+<<+/T (Line_25700_Amount2[0])+/V ()+>> +<<+/T (Line_25700_Amount1[0])+/V ()+>>]+>> +<<+/T (Line25300[0])+/Kids [+<<+/T (Line_25300_Amount[0])+/V ()+>>]+>> +<<+/T (Line25000[0])+/Kids [+<<+/T (Line_25000_Amount[0])+/V ()+>>]+>> +<<+/T (Line25400[0])+/Kids [+<<+/T (Line_25400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartB[0])+/Kids [+<<+/T (Line30100[0])+/Kids [+<<+/T (Line_30100_Amount[0])+/V ()+>>]+>> +<<+/T (Line30400[0])+/Kids [+<<+/T (Line_30400_Amount[0])+/V ()+>>]+>> +<<+/T (Line30300[0])+/Kids [+<<+/T (Line_30300_Amount[0])+/V ()+>>]+>> +<<+/T (Line30425[0])+/Kids [+<<+/T (Line_30425_Amount[0])+/V ()+>>]+>> +<<+/T (Line30450[0])+/Kids [+<<+/T (Line_30450_Amount[0])+/V ()+>>]+>> +<<+/T (Line30500[0])+/Kids [+<<+/T (Line_30500_Amount[0])+/V ()+>> +<<+/T (Line30499[0])+/Kids [+<<+/T (Line_30499_ChildrenNum[0])+/V ()+>>]+>>]+>> +<<+/T (Line83[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30000[0])+/Kids [+<<+/T (Line_30000_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartA[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line42Amount3[0])+/V ()+>> +<<+/T (Line37Amount3[0])+/V ( 106,717.00)+>> +<<+/T (Line39Rate3[0])+/V (26%)+>> +<<+/T (Line41Amount3[0])+/V ( 18,942.24)+>> +<<+/T (Line36Amount3[0])+/V ()+>> +<<+/T (Line40Amount3[0])+/V ()+>> +<<+/T (Line38Amount3[0])+/V ()+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line41Amount5[0])+/V ( 54,578.67)+>> +<<+/T (Line36Amount5[0])+/V ()+>> +<<+/T (Line37Amount5[0])+/V ( 235,675.00)+>> +<<+/T (Line39Rate5[0])+/V (33%)+>> +<<+/T (Line40Amount5[0])+/V ()+>> +<<+/T (Line42Amount5[0])+/V ()+>> +<<+/T (Line38Amount5[0])+/V ()+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line36Amount4[0])+/V ()+>> +<<+/T (Line37Amount4[0])+/V ( 165,430.00)+>> +<<+/T (Line39Rate4[0])+/V (29%)+>> +<<+/T (Line41Amount4[0])+/V ( 34,207.62)+>> +<<+/T (Line40Amount4[0])+/V ()+>> +<<+/T (Line42Amount4[0])+/V ()+>> +<<+/T (Line38Amount4[0])+/V ()+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line37Amount2[0])+/V ( 53,359.00)+>> +<<+/T (Line41Amount2[0])+/V ( 8,003.85)+>> +<<+/T (Line36Amount2[0])+/V ()+>> +<<+/T (Line40Amount2[0])+/V ()+>> +<<+/T (Line39Rate2[0])+/V (20.5%)+>> +<<+/T (Line38Amount2[0])+/V ()+>> +<<+/T (Line42Amount2[0])+/V ()+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line38Amount1[0])+/V ()+>> +<<+/T (Line37Amount1[0])+/V ( 0.00)+>> +<<+/T (Line36Amount1[0])+/V ()+>> +<<+/T (Line39Rate1[0])+/V (15%)+>> +<<+/T (Line40Amount1[0])+/V ()+>> +<<+/T (Line41Amount1[0])+/V ( 0.00)+>> +<<+/T (Line42Amount1[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Return-pg4[0])+/Kids [+<<+/T (Line23400[0])+/Kids [+<<+/T (Line_23400_Amount[0])+/V ()+>>]+>> +<<+/T (Line22000[0])+/Kids [+<<+/T (Line21999[0])+/Kids [+<<+/T (Line_21999_Amount[0])+/V ()+>>]+>> +<<+/T (Line_22000_Amount[0])+/V ()+>>]+>> +<<+/T (Line23100[0])+/Kids [+<<+/T (Line_23100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22900[0])+/Kids [+<<+/T (Line_22900_Amount[0])+/V ()+>>]+>> +<<+/T (Line23200[0])+/Kids [+<<+/T (Line_23200_Amount[0])+/V ()+>> +<<+/T (Line_23200_Specify[0])+/V ()+>>]+>> +<<+/T (Line23500[0])+/Kids [+<<+/T (Line_23500_Amount[0])+/V ()+>>]+>> +<<+/T (Line21500[0])+/Kids [+<<+/T (Line_21500_Amount[0])+/V ()+>>]+>> +<<+/T (Line20700[0])+/Kids [+<<+/T (Line_20700_Amount[0])+/V ()+>>]+>> +<<+/T (Line21200[0])+/Kids [+<<+/T (Line_21200_Amount[0])+/V ()+>>]+>> +<<+/T (Line21000[0])+/Kids [+<<+/T (Line_21000_Amount[0])+/V ()+>>]+>> +<<+/T (Line21900[0])+/Kids [+<<+/T (Line_21900_Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22400[0])+/Kids [+<<+/T (Line_22400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20800[0])+/Kids [+<<+/T (Line_20800_Amount[0])+/V ()+>>]+>> +<<+/T (Line22100[0])+/Kids [+<<+/T (Line_22100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22215[0])+/Kids [+<<+/T (Line_22215_Amount[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Line_21300_Amount[0])+/V ()+>>]+>> +<<+/T (Line22200[0])+/Kids [+<<+/T (Line_22200_Amount[0])+/V ()+>>]+>> +<<+/T (Line20810[0])+/Kids [+<<+/T (Line_20810_Amount[0])+/V ()+>>]+>> +<<+/T (Line23600[0])+/Kids [+<<+/T (Line_23600_Amount[0])+/V ()+>>]+>> +<<+/T (Line20805[0])+/Kids [+<<+/T (Line_20805_Amount[0])+/V ()+>>]+>> +<<+/T (Line21400[0])+/Kids [+<<+/T (Line_21400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20600[0])+/Kids [+<<+/T (Line_20600_Amount[0])+/V ()+>>]+>> +<<+/T (Line23300[0])+/Kids [+<<+/T (Line_23300_Amount2[0])+/V ()+>> +<<+/T (Line_23300_Amount1[0])+/V ()+>>]+>> +<<+/T (Line21700[0])+/Kids [+<<+/T (Line_21700_Amount[0])+/V ()+>> +<<+/T (Line21699[0])+/Kids [+<<+/T (Line_21699_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page7[0])+/Kids [+<<+/T (Step6[0])+/Kids [+<<+/T (Line42200[0])+/Kids [+<<+/T (Line_42200_Amount[0])+/V ()+>>]+>> +<<+/T (Line142[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43500[0])+/Kids [+<<+/T (Line_43500_Amount[0])+/V ()+>>]+>> +<<+/T (Line43200[0])+/Kids [+<<+/T (Line_43200_Amount[0])+/V ()+>>]+>> +<<+/T (Line42120[0])+/Kids [+<<+/T (Line_42120_Amount[0])+/V ()+>>]+>> +<<+/T (Line42800[0])+/Kids [+<<+/T (Line_42800_Amount[0])+/V ()+>>]+>> +<<+/T (Line42100[0])+/Kids [+<<+/T (Line_42100_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartC[0])+/Kids [+<<+/T (Line40600[0])+/Kids [+<<+/T (Line_40600_Amount[0])+/V ()+>>]+>> +<<+/T (Line118[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line124[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line121[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line4100[0])+/Kids [+<<+/T (Line_41000_Amount[0])+/V ()+>> +<<+/T (Line40900[0])+/Kids [+<<+/T (Line_40900_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line127[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40427[0])+/Kids [+<<+/T (Line_40427_Amount[0])+/V ()+>>]+>> +<<+/T (Line126[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line129[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41600[0])+/Kids [+<<+/T (Line_41600_Amount1[0])+/V ()+>> +<<+/T (Line_41600_Amount2[0])+/V ()+>>]+>> +<<+/T (Line42900[0])+/Kids [+<<+/T (Line_42900_Amount[0])+/V ()+>>]+>> +<<+/T (Line40500[0])+/Kids [+<<+/T (Line_40500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41200[0])+/Kids [+<<+/T (Line_41200_Amount[0])+/V ()+>>]+>> +<<+/T (Line41800[0])+/Kids [+<<+/T (Line_41800_Amount[0])+/V ()+>>]+>> +<<+/T (Line131[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40424[0])+/Kids [+<<+/T (Line_40424_Amount[0])+/V ()+>>]+>> +<<+/T (Line132[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40425[0])+/Kids [+<<+/T (Line_40425_Amount[0])+/V ()+>>]+>> +<<+/T (Line130[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41500[0])+/Kids [+<<+/T (Line_41500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41400[0])+/Kids [+<<+/T (Line_41400_Amount[0])+/V ()+>> +<<+/T (Line41300[0])+/Kids [+<<+/T (Line_41300_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line42000[0])+/Kids [+<<+/T (Line_42000_Amount[0])+/V ()+>>]+>> +<<+/T (Line40400[0])+/Kids [+<<+/T (Line_40400_Amount[0])+/V ()+>>]+>> +<<+/T (Line41700[0])+/Kids [+<<+/T (Line_41700_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page6[0])+/Kids [+<<+/T (Return-pg6[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line31240[0])+/Kids [+<<+/T (Line_31240_Amount[0])+/V ()+>>]+>> +<<+/T (Line98[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32300[0])+/Kids [+<<+/T (Line_32300_Amount[0])+/V ()+>>]+>> +<<+/T (Line96[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31217[0])+/Kids [+<<+/T (Line_31217_Amount[0])+/V ()+>>]+>> +<<+/T (Line32600[0])+/Kids [+<<+/T (Line_32600_Amount[0])+/V ()+>>]+>> +<<+/T (Line35000[0])+/Kids [+<<+/T (Line_35000_Amount[0])+/V ()+>>]+>> +<<+/T (Line110[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line108[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31800[0])+/Kids [+<<+/T (Line_31800_Amount[0])+/V ()+>>]+>> +<<+/T (Line106[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33099[0])+/Kids [+<<+/T (Line_33099_Amount[0])+/V ()+>>]+>> +<<+/T (Line114[0])+/Kids [+<<+/T (Percent[0])+/V (15%)+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33500[0])+/Kids [+<<+/T (Line_33500_Amount[0])+/V ()+>>]+>> +<<+/T (Line33800[0])+/Kids [+<<+/T (Line_33800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31200[0])+/Kids [+<<+/T (Line_31200_Amount[0])+/V ()+>>]+>> +<<+/T (Line34900[0])+/Kids [+<<+/T (Line_34900_Amount[0])+/V ()+>>]+>> +<<+/T (Line31000[0])+/Kids [+<<+/T (Line_31000_Amount[0])+/V ()+>>]+>> +<<+/T (Line31600[0])+/Kids [+<<+/T (Line_31600_Amount[0])+/V ()+>>]+>> +<<+/T (Line31350[0])+/Kids [+<<+/T (Line_31350_Amount[0])+/V ()+>>]+>> +<<+/T (Line31900[0])+/Kids [+<<+/T (Line_31900_Amount[0])+/V ()+>>]+>> +<<+/T (Line32400[0])+/Kids [+<<+/T (Line_32400_Amount[0])+/V ()+>>]+>> +<<+/T (Line33199[0])+/Kids [+<<+/T (Line_33199_Amount[0])+/V ()+>>]+>> +<<+/T (Line101[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31260[0])+/Kids [+<<+/T (Line_31260_Amount[0])+/V ()+>>]+>> +<<+/T (Line33200[0])+/Kids [+<<+/T (Line_33200_Amount2[0])+/V ()+>> +<<+/T (Line_33200_Amount1[0])+/V ()+>>]+>> +<<+/T (Line30800[0])+/Kids [+<<+/T (Line_30800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31285[0])+/Kids [+<<+/T (Line_31285_Amount[0])+/V ()+>>]+>> +<<+/T (Line31300[0])+/Kids [+<<+/T (Line_31300_Amount[0])+/V ()+>>]+>> +<<+/T (Line109[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31270[0])+/Kids [+<<+/T (Line_31270_Amount[0])+/V ()+>>]+>> +<<+/T (Line31220[0])+/Kids [+<<+/T (Line_31220_Amount[0])+/V ()+>>]+>> +<<+/T (Line31400[0])+/Kids [+<<+/T (Line_31400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page8[0])+/Kids [+<<+/T (Line_49000_IfFeeWasCharged[0])+/Kids [+<<+/T (Line48900[0])+/Kids [+<<+/T (EFile[0])+/V ()+>>]+>> +<<+/T (TelephoneOfPreparer[0])+/V ()+>> +<<+/T (NameOfPreparer[0])+/V ()+>> +<<+/T (Line49000[0])+/Kids [+<<+/T (Line49000_CheckBoxGroup[0])+/Kids [+<<+/T (Line49000_CheckBox_EN[0])+/V /+>> +<<+/T (Line49000_CheckBox_EN[1])+/V /+>>]+>>]+>>]+>> +<<+/T (Step6-Cont[0])+/Kids [+<<+/T (Line44800[0])+/Kids [+<<+/T (Line_44800_Amount[0])+/V ()+>>]+>> +<<+/T (Line45355[0])+/Kids [+<<+/T (Line_45355_Amount[0])+/V ()+>>]+>> +<<+/T (Line46900[0])+/Kids [+<<+/T (sfline46800end[0])+/Kids [+<<+/T (Line_46800_Amount[0])+/V ()+>>]+>> +<<+/T (Line_46900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47600[0])+/Kids [+<<+/T (Line_47600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45200[0])+/Kids [+<<+/T (Line_45200_Amount[0])+/V ()+>>]+>> +<<+/T (Line45350[0])+/Kids [+<<+/T (Line_45350_Amount[0])+/V ()+>>]+>> +<<+/T (Line45600[0])+/Kids [+<<+/T (Line_45600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45300[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45000[0])+/Kids [+<<+/T (Line_45000_Amount[0])+/V ()+>>]+>> +<<+/T (Line47557[0])+/Kids [+<<+/T (Line_47557_Amount[0])+/V ()+>>]+>> +<<+/T (Line47900[0])+/Kids [+<<+/T (Line_47900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47555[0])+/Kids [+<<+/T (Line_47555_Amount[0])+/V ()+>>]+>> +<<+/T (Line47556[0])+/Kids [+<<+/T (Line_47556_Amount[0])+/V ()+>>]+>> +<<+/T (Line43700[0])+/Kids [+<<+/T (Line_43700_Amount[0])+/V ()+>>]+>> +<<+/T (Line149[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line48200[0])+/Kids [+<<+/T (Line_48200_Amount1[0])+/V ()+>> +<<+/T (Line_48200_Amount2[0])+/V ()+>>]+>> +<<+/T (Line169[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line45700[0])+/Kids [+<<+/T (Line_45700_Amount[0])+/V ()+>>]+>> +<<+/T (Line44000[0])+/Kids [+<<+/T (Line_44000_Amount[0])+/V ()+>>]+>> +<<+/T (Line44100[0])+/Kids [+<<+/T (Line_44000_Amount[0])+/V ()+>>]+>> +<<+/T (Line45400[0])+/Kids [+<<+/T (Line_45400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Certification[0])+/Kids [+<<+/T (Date[0])+/V ()+>> +<<+/T (Telephone[0])+/V ()+>>]+>> +<<+/T (Refund_or_Balance-owing[0])+/Kids [+<<+/T (Line48500[0])+/Kids [+<<+/T (Line_48500_Amount[0])+/V ()+>>]+>> +<<+/T (Line48400[0])+/Kids [+<<+/T (Line_48400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/T1/fdf/5012-r-fill-23e.fdf view
@@ -0,0 +1,2230 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page3[0])+/Kids [+<<+/T (Return-pg3[0])+/Kids [+<<+/T (Line11410[0])+/Kids [+<<+/T (Line_11410_Amount[0])+/V ()+>>]+>> +<<+/T (Line13700[0])+/Kids [+<<+/T (Line_13700_Amount[0])+/V ()+>> +<<+/T (Line13699[0])+/Kids [+<<+/T (Line_13699_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12000[0])+/Kids [+<<+/T (Line_12000_Amount[0])+/V ()+>>]+>> +<<+/T (Line14500[0])+/Kids [+<<+/T (Line_14500_Amount[0])+/V ()+>>]+>> +<<+/T (Line12600[0])+/Kids [+<<+/T (Line12599[0])+/Kids [+<<+/T (Line_12599_Amount[0])+/V ()+>>]+>> +<<+/T (Line_12600_Amount[0])+/V ()+>>]+>> +<<+/T (Line10130[0])+/Kids [+<<+/T (Line_10130_Amount[0])+/V ()+>>]+>> +<<+/T (Line12900[0])+/Kids [+<<+/T (Line_12900_Amount[0])+/V ()+>>]+>> +<<+/T (Line13010[0])+/Kids [+<<+/T (Line_13010_Amount[0])+/V ()+>>]+>> +<<+/T (Line15000[0])+/Kids [+<<+/T (Line_15000_Amount[0])+/V ()+>>]+>> +<<+/T (Line12010[0])+/Kids [+<<+/T (Line_12010_Amount[0])+/V ()+>>]+>> +<<+/T (Line10400[0])+/Kids [+<<+/T (Line_10400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12905[0])+/Kids [+<<+/T (Line_12905_Amount[0])+/V ()+>>]+>> +<<+/T (Line14300[0])+/Kids [+<<+/T (Line14299[0])+/Kids [+<<+/T (Line_14299_Amount[0])+/V ()+>>]+>> +<<+/T (Line_14300_Amount[0])+/V ()+>>]+>> +<<+/T (Line13500[0])+/Kids [+<<+/T (Line13499[0])+/Kids [+<<+/T (Line_13499_Amount[0])+/V ()+>>]+>> +<<+/T (Line_13500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11500[0])+/Kids [+<<+/T (Line_11500_Amount[0])+/V ()+>>]+>> +<<+/T (Line10100[0])+/Kids [+<<+/T (Line_10100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11701[0])+/Kids [+<<+/T (Line_11701_Amount[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14600[0])+/Kids [+<<+/T (Line_14600_Amount[0])+/V ()+>>]+>> +<<+/T (Line11900[0])+/Kids [+<<+/T (Line_11900_Amount[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14100[0])+/Kids [+<<+/T (Line_14100_Amount[0])+/V ()+>> +<<+/T (Line14099[0])+/Kids [+<<+/T (Line_14099_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line11600[0])+/Kids [+<<+/T (Line_11600_Amount[0])+/V ()+>>]+>> +<<+/T (Line14700[0])+/Kids [+<<+/T (Line_14700_Amount1[0])+/V ()+>> +<<+/T (Line_14700_Amount2[0])+/V ()+>>]+>> +<<+/T (Line14400[0])+/Kids [+<<+/T (Line_14400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12700[0])+/Kids [+<<+/T (Line_12700_Amount[0])+/V ()+>>]+>> +<<+/T (Line12100[0])+/Kids [+<<+/T (Line_12100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11300[0])+/Kids [+<<+/T (Line_11300_Amount[0])+/V ()+>>]+>> +<<+/T (Line12800[0])+/Kids [+<<+/T (Line_12800_Amount[0])+/V ()+>> +<<+/T (Line_12799[0])+/Kids [+<<+/T (Line_12799_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line12906[0])+/Kids [+<<+/T (Line_12906_Amount[0])+/V ()+>>]+>> +<<+/T (Line11400[0])+/Kids [+<<+/T (Line_11400_Amount[0])+/V ()+>>]+>> +<<+/T (Line13900[0])+/Kids [+<<+/T (Line_13900_Amount[0])+/V ()+>> +<<+/T (Line13899[0])+/Kids [+<<+/T (Line_13899_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line13000[0])+/Kids [+<<+/T (Line_13000_Amount[0])+/V ()+>> +<<+/T (Line_13000_Specify[0])+/V ()+>>]+>> +<<+/T (Line11905[0])+/Kids [+<<+/T (Line_11905_Amount[0])+/V ()+>>]+>> +<<+/T (Line12200[0])+/Kids [+<<+/T (Line_12200_Amount[0])+/V ()+>>]+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Line_11700_Amount[0])+/V ()+>>]+>> +<<+/T (Line10105[0])+/Kids [+<<+/T (Line_10105_Amount[0])+/V ()+>>]+>> +<<+/T (Line10120[0])+/Kids [+<<+/T (Line_10120_Amount[0])+/V ()+>>]+>> +<<+/T (Line12500[0])+/Kids [+<<+/T (Line_12500_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page2[0])+/Kids [+<<+/T (Foreign_property[0])+/Kids [+<<+/T (Line26600[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (Tax_exempt[0])+/Kids [+<<+/T (Exempt[0])+/Kids [+<<+/T (Spouse_SelfEmployed[0])+/V /+>>]+>>]+>> +<<+/T (ElectionsCanada[0])+/Kids [+<<+/T (LineA[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>>]+>> +<<+/T (LineB[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (Step1[0])+/Kids [+<<+/T (ResidencyInformation[0])+/Kids [+<<+/T (Q1[0])+/Kids [+<<+/T (Residency_CheckBox[1])+/V /+>> +<<+/T (Residency_CheckBox[0])+/V /+>>]+>> +<<+/T (Q2[0])+/Kids [+<<+/T (ResidencyB_CheckBox[1])+/V /+>> +<<+/T (ResidencyB_CheckBox[0])+/V /+>>]+>> +<<+/T (Q3[0])+/Kids [+<<+/T (B_CheckBox[1])+/V /+>> +<<+/T (B_CheckBox[0])+/V /+>>]+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Return-pg1[0])+/Kids [+<<+/T (Identification[0])+/Kids [+<<+/T (EmailAddress[0])+/V ()+>> +<<+/T (DateDeath_Comb_BordersAll[0])+/Kids [+<<+/T (DateDeath_Comb[0])+/V ()+>>]+>> +<<+/T (PostalCode_Comb_BordersAll[0])+/Kids [+<<+/T (PostalCode[0])+/V ()+>>]+>> +<<+/T (Your_Language[0])+/Kids [+<<+/T (RadioButtonlanguaget[0])+/V /+>>]+>> +<<+/T (ID_City[0])+/V ()+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (ID_LastName[0])+/V ()+>> +<<+/T (DateBirth_Comb_BordersAll[0])+/Kids [+<<+/T (DateBirth_Comb[0])+/V ()+>>]+>> +<<+/T (ID_FirstNameInitial[0])+/V ()+>> +<<+/T (ID_MailingAddress[0])+/V ()+>> +<<+/T (MaritalStatus_Checkbox[0])+/Kids [+<<+/T (MaritalStatus[2])+/V /+>> +<<+/T (MaritalStatus[1])+/V /+>> +<<+/T (MaritalStatus[0])+/V /+>> +<<+/T (MaritalStatus[5])+/V /+>> +<<+/T (MaritalStatus[4])+/V /+>> +<<+/T (MaritalStatus[3])+/V /+>>]+>> +<<+/T (ID_RuralRoute[0])+/V ()+>> +<<+/T (ID_POBox[0])+/V ()+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Residence_Info[0])+/Kids [+<<+/T (Prov_DropDown-Business[0])+/V ()+>> +<<+/T (Prov_DropDown-Residence[0])+/V ()+>> +<<+/T (Date_Departure[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Date_Entry[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Info_Spouse_CLP[0])+/Kids [+<<+/T (Line23600[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Self-employment[0])+/Kids [+<<+/T (Checkbox[0])+/V /+>>]+>> +<<+/T (Spouse_First_Name[0])+/V ()+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[6])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[5])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[4])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[7])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page5[0])+/Kids [+<<+/T (Return-pg5[0])+/Kids [+<<+/T (Step4[0])+/Kids [+<<+/T (Line25500[0])+/Kids [+<<+/T (Line_25500_Amount[0])+/V ()+>>]+>> +<<+/T (Line24900[0])+/Kids [+<<+/T (Line_24900_Amount[0])+/V ()+>>]+>> +<<+/T (Line24400[0])+/Kids [+<<+/T (Line_24400_Amount[0])+/V ()+>>]+>> +<<+/T (Line25200[0])+/Kids [+<<+/T (Line_25200_Amount[0])+/V ()+>>]+>> +<<+/T (Line25600[0])+/Kids [+<<+/T (Line_25600_Specify[0])+/V ()+>> +<<+/T (Line_25600_Amount[0])+/V ()+>>]+>> +<<+/T (Line25100[0])+/Kids [+<<+/T (Line_25100_Amount[0])+/V ()+>>]+>> +<<+/T (Line26000[0])+/Kids [+<<+/T (Line_26000_Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25700[0])+/Kids [+<<+/T (Line_25700_Amount2[0])+/V ()+>> +<<+/T (Line_25700_Amount1[0])+/V ()+>>]+>> +<<+/T (Line25300[0])+/Kids [+<<+/T (Line_25300_Amount[0])+/V ()+>>]+>> +<<+/T (Line25000[0])+/Kids [+<<+/T (Line_25000_Amount[0])+/V ()+>>]+>> +<<+/T (Line25400[0])+/Kids [+<<+/T (Line_25400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartB[0])+/Kids [+<<+/T (Line30100[0])+/Kids [+<<+/T (Line_30100_Amount[0])+/V ()+>>]+>> +<<+/T (Line30400[0])+/Kids [+<<+/T (Line_30400_Amount[0])+/V ()+>>]+>> +<<+/T (Line30300[0])+/Kids [+<<+/T (Line_30300_Amount[0])+/V ()+>>]+>> +<<+/T (Line30425[0])+/Kids [+<<+/T (Line_30425_Amount[0])+/V ()+>>]+>> +<<+/T (Line30450[0])+/Kids [+<<+/T (Line_30450_Amount[0])+/V ()+>>]+>> +<<+/T (Line30500[0])+/Kids [+<<+/T (Line_30500_Amount[0])+/V ()+>> +<<+/T (Line30499[0])+/Kids [+<<+/T (Line_30499_ChildrenNum[0])+/V ()+>>]+>>]+>> +<<+/T (Line83[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30000[0])+/Kids [+<<+/T (Line_30000_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartA[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line42Amount3[0])+/V ()+>> +<<+/T (Line37Amount3[0])+/V ( 106,717.00)+>> +<<+/T (Line39Rate3[0])+/V (26%)+>> +<<+/T (Line41Amount3[0])+/V ( 18,942.24)+>> +<<+/T (Line36Amount3[0])+/V ()+>> +<<+/T (Line40Amount3[0])+/V ()+>> +<<+/T (Line38Amount3[0])+/V ()+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line41Amount5[0])+/V ( 54,578.67)+>> +<<+/T (Line36Amount5[0])+/V ()+>> +<<+/T (Line37Amount5[0])+/V ( 235,675.00)+>> +<<+/T (Line39Rate5[0])+/V (33%)+>> +<<+/T (Line40Amount5[0])+/V ()+>> +<<+/T (Line42Amount5[0])+/V ()+>> +<<+/T (Line38Amount5[0])+/V ()+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line36Amount4[0])+/V ()+>> +<<+/T (Line37Amount4[0])+/V ( 165,430.00)+>> +<<+/T (Line39Rate4[0])+/V (29%)+>> +<<+/T (Line41Amount4[0])+/V ( 34,207.62)+>> +<<+/T (Line40Amount4[0])+/V ()+>> +<<+/T (Line42Amount4[0])+/V ()+>> +<<+/T (Line38Amount4[0])+/V ()+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line37Amount2[0])+/V ( 53,359.00)+>> +<<+/T (Line41Amount2[0])+/V ( 8,003.85)+>> +<<+/T (Line36Amount2[0])+/V ()+>> +<<+/T (Line40Amount2[0])+/V ()+>> +<<+/T (Line39Rate2[0])+/V (20.5%)+>> +<<+/T (Line38Amount2[0])+/V ()+>> +<<+/T (Line42Amount2[0])+/V ()+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line38Amount1[0])+/V ()+>> +<<+/T (Line37Amount1[0])+/V ( 0.00)+>> +<<+/T (Line36Amount1[0])+/V ()+>> +<<+/T (Line39Rate1[0])+/V (15%)+>> +<<+/T (Line40Amount1[0])+/V ()+>> +<<+/T (Line41Amount1[0])+/V ( 0.00)+>> +<<+/T (Line42Amount1[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Return-pg4[0])+/Kids [+<<+/T (Line23400[0])+/Kids [+<<+/T (Line_23400_Amount[0])+/V ()+>>]+>> +<<+/T (Line22000[0])+/Kids [+<<+/T (Line21999[0])+/Kids [+<<+/T (Line_21999_Amount[0])+/V ()+>>]+>> +<<+/T (Line_22000_Amount[0])+/V ()+>>]+>> +<<+/T (Line23100[0])+/Kids [+<<+/T (Line_23100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22900[0])+/Kids [+<<+/T (Line_22900_Amount[0])+/V ()+>>]+>> +<<+/T (Line23200[0])+/Kids [+<<+/T (Line_23200_Amount[0])+/V ()+>> +<<+/T (Line_23200_Specify[0])+/V ()+>>]+>> +<<+/T (Line23500[0])+/Kids [+<<+/T (Line_23500_Amount[0])+/V ()+>>]+>> +<<+/T (Line21500[0])+/Kids [+<<+/T (Line_21500_Amount[0])+/V ()+>>]+>> +<<+/T (Line20700[0])+/Kids [+<<+/T (Line_20700_Amount[0])+/V ()+>>]+>> +<<+/T (Line21200[0])+/Kids [+<<+/T (Line_21200_Amount[0])+/V ()+>>]+>> +<<+/T (Line21000[0])+/Kids [+<<+/T (Line_21000_Amount[0])+/V ()+>>]+>> +<<+/T (Line21900[0])+/Kids [+<<+/T (Line_21900_Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22400[0])+/Kids [+<<+/T (Line_22400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20800[0])+/Kids [+<<+/T (Line_20800_Amount[0])+/V ()+>>]+>> +<<+/T (Line22100[0])+/Kids [+<<+/T (Line_22100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22215[0])+/Kids [+<<+/T (Line_22215_Amount[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Line_21300_Amount[0])+/V ()+>>]+>> +<<+/T (Line22200[0])+/Kids [+<<+/T (Line_22200_Amount[0])+/V ()+>>]+>> +<<+/T (Line20810[0])+/Kids [+<<+/T (Line_20810_Amount[0])+/V ()+>>]+>> +<<+/T (Line23600[0])+/Kids [+<<+/T (Line_23600_Amount[0])+/V ()+>>]+>> +<<+/T (Line20805[0])+/Kids [+<<+/T (Line_20805_Amount[0])+/V ()+>>]+>> +<<+/T (Line21400[0])+/Kids [+<<+/T (Line_21400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20600[0])+/Kids [+<<+/T (Line_20600_Amount[0])+/V ()+>>]+>> +<<+/T (Line23300[0])+/Kids [+<<+/T (Line_23300_Amount2[0])+/V ()+>> +<<+/T (Line_23300_Amount1[0])+/V ()+>>]+>> +<<+/T (Line21700[0])+/Kids [+<<+/T (Line_21700_Amount[0])+/V ()+>> +<<+/T (Line21699[0])+/Kids [+<<+/T (Line_21699_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page7[0])+/Kids [+<<+/T (Return-pg7[0])+/Kids [+<<+/T (Step6[0])+/Kids [+<<+/T (Line42200[0])+/Kids [+<<+/T (Line_42200_Amount[0])+/V ()+>>]+>> +<<+/T (Line43500[0])+/Kids [+<<+/T (Line_43500_Amount[0])+/V ()+>>]+>> +<<+/T (Line42120[0])+/Kids [+<<+/T (Line_42120_Amount[0])+/V ()+>>]+>> +<<+/T (Line42800[0])+/Kids [+<<+/T (Line_42800_Amount[0])+/V ()+>>]+>> +<<+/T (Line42100[0])+/Kids [+<<+/T (Line_42100_Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartC[0])+/Kids [+<<+/T (Line40600[0])+/Kids [+<<+/T (Line_40600_Amount[0])+/V ()+>>]+>> +<<+/T (Line41000[0])+/Kids [+<<+/T (Line_41000_Amount[0])+/V ()+>> +<<+/T (Line40900[0])+/Kids [+<<+/T (Line_40900_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line118[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line124[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line121[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line127[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40427[0])+/Kids [+<<+/T (Line_40427_Amount[0])+/V ()+>>]+>> +<<+/T (Line126[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41600[0])+/Kids [+<<+/T (Line_41600_Amount1[0])+/V ()+>> +<<+/T (Line_41600_Amount2[0])+/V ()+>>]+>> +<<+/T (Line129[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42900[0])+/Kids [+<<+/T (Line_42900_Amount[0])+/V ()+>>]+>> +<<+/T (Line40500[0])+/Kids [+<<+/T (Line_40500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41200[0])+/Kids [+<<+/T (Line_41200_Amount[0])+/V ()+>>]+>> +<<+/T (Line41800[0])+/Kids [+<<+/T (Line_41800_Amount[0])+/V ()+>>]+>> +<<+/T (Line131[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40424[0])+/Kids [+<<+/T (Line_40424_Amount[0])+/V ()+>>]+>> +<<+/T (Line40425[0])+/Kids [+<<+/T (Line_40425_Amount[0])+/V ()+>>]+>> +<<+/T (Line132[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line130[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41500[0])+/Kids [+<<+/T (Line_41500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41400[0])+/Kids [+<<+/T (Line_41400_Amount[0])+/V ()+>> +<<+/T (Line41300[0])+/Kids [+<<+/T (Line_41300_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line42000[0])+/Kids [+<<+/T (Line_42000_Amount[0])+/V ()+>>]+>> +<<+/T (Line40400[0])+/Kids [+<<+/T (Line_40400_Amount[0])+/V ()+>>]+>> +<<+/T (Line41700[0])+/Kids [+<<+/T (Line_41700_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page6[0])+/Kids [+<<+/T (Return-pg6[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line31240[0])+/Kids [+<<+/T (Line_31240_Amount[0])+/V ()+>>]+>> +<<+/T (Line98[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32300[0])+/Kids [+<<+/T (Line_32300_Amount[0])+/V ()+>>]+>> +<<+/T (Line96[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31217[0])+/Kids [+<<+/T (Line_31217_Amount[0])+/V ()+>>]+>> +<<+/T (Line32600[0])+/Kids [+<<+/T (Line_32600_Amount[0])+/V ()+>>]+>> +<<+/T (Line35000[0])+/Kids [+<<+/T (Line_35000_Amount[0])+/V ()+>>]+>> +<<+/T (Line110[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line108[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31800[0])+/Kids [+<<+/T (Line_31800_Amount[0])+/V ()+>>]+>> +<<+/T (Line106[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33099[0])+/Kids [+<<+/T (Line_33099_Amount[0])+/V ()+>>]+>> +<<+/T (Line114[0])+/Kids [+<<+/T (Percent[0])+/V (15%)+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33500[0])+/Kids [+<<+/T (Line_33500_Amount[0])+/V ()+>>]+>> +<<+/T (Line33800[0])+/Kids [+<<+/T (Line_33800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31200[0])+/Kids [+<<+/T (Line_31200_Amount[0])+/V ()+>>]+>> +<<+/T (Line34900[0])+/Kids [+<<+/T (Line_34900_Amount[0])+/V ()+>>]+>> +<<+/T (Line31000[0])+/Kids [+<<+/T (Line_31000_Amount[0])+/V ()+>>]+>> +<<+/T (Line31600[0])+/Kids [+<<+/T (Line_31600_Amount[0])+/V ()+>>]+>> +<<+/T (Line31350[0])+/Kids [+<<+/T (Line_31350_Amount[0])+/V ()+>>]+>> +<<+/T (Line31900[0])+/Kids [+<<+/T (Line_31900_Amount[0])+/V ()+>>]+>> +<<+/T (Line32400[0])+/Kids [+<<+/T (Line_32400_Amount[0])+/V ()+>>]+>> +<<+/T (Line33199[0])+/Kids [+<<+/T (Line_33199_Amount[0])+/V ()+>>]+>> +<<+/T (Line101[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31260[0])+/Kids [+<<+/T (Line_31260_Amount[0])+/V ()+>>]+>> +<<+/T (Line33200[0])+/Kids [+<<+/T (Line_33200_Amount2[0])+/V ()+>> +<<+/T (Line_33200_Amount1[0])+/V ()+>>]+>> +<<+/T (Line30800[0])+/Kids [+<<+/T (Line_30800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31285[0])+/Kids [+<<+/T (Line_31285_Amount[0])+/V ()+>>]+>> +<<+/T (Line31300[0])+/Kids [+<<+/T (Line_31300_Amount[0])+/V ()+>>]+>> +<<+/T (Line109[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31270[0])+/Kids [+<<+/T (Line_31270_Amount[0])+/V ()+>>]+>> +<<+/T (Line31220[0])+/Kids [+<<+/T (Line_31220_Amount[0])+/V ()+>>]+>> +<<+/T (Line31400[0])+/Kids [+<<+/T (Line_31400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page8[0])+/Kids [+<<+/T (Return-pg8[0])+/Kids [+<<+/T (Certification[0])+/Kids [+<<+/T (Date[0])+/V ()+>> +<<+/T (Telephone[0])+/V ()+>>]+>> +<<+/T (Step6[0])+/Kids [+<<+/T (Line44800[0])+/Kids [+<<+/T (Line_44800_Amount[0])+/V ()+>>]+>> +<<+/T (Line45355[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line46900[0])+/Kids [+<<+/T (Line_46900_Amount[0])+/V ()+>> +<<+/T (Line46800[0])+/Kids [+<<+/T (Line_46800_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line47600[0])+/Kids [+<<+/T (Line_47600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45200[0])+/Kids [+<<+/T (Line_45200_Amount[0])+/V ()+>>]+>> +<<+/T (Line45600[0])+/Kids [+<<+/T (Line_45600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45350[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45300[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45000[0])+/Kids [+<<+/T (Line_45000_Amount[0])+/V ()+>>]+>> +<<+/T (Line47557[0])+/Kids [+<<+/T (Line_47557_Amount[0])+/V ()+>>]+>> +<<+/T (Line47900[0])+/Kids [+<<+/T (Line_47900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47555[0])+/Kids [+<<+/T (Line_47555_Amount[0])+/V ()+>>]+>> +<<+/T (Line47556[0])+/Kids [+<<+/T (Line_47556_Amount[0])+/V ()+>>]+>> +<<+/T (Line167[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43700[0])+/Kids [+<<+/T (Line_43700_Amount[0])+/V ()+>>]+>> +<<+/T (Line148[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line48200[0])+/Kids [+<<+/T (Line_48200_Amount1[0])+/V ()+>> +<<+/T (Line_48200_Amount2[0])+/V ()+>>]+>> +<<+/T (Line45700[0])+/Kids [+<<+/T (Line_45700_Amount[0])+/V ()+>>]+>> +<<+/T (Line44000[0])+/Kids [+<<+/T (Line_44000_Amount[0])+/V ()+>>]+>> +<<+/T (Line45400[0])+/Kids [+<<+/T (Line_45400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Efile[0])+/Kids [+<<+/T (Line48900[0])+/Kids [+<<+/T (EFile[0])+/V ()+>>]+>> +<<+/T (TelephoneOfPreparer[0])+/V ()+>> +<<+/T (NameOfPreparer[0])+/V ()+>> +<<+/T (Line49000[0])+/Kids [+<<+/T (Line49000_CheckBoxGroup[0])+/Kids [+<<+/T (Line49000_CheckBox_EN[0])+/V /+>> +<<+/T (Line49000_CheckBox_EN[1])+/V /+>>]+>>]+>>]+>> +<<+/T (Refund_or_Balance-owing[0])+/Kids [+<<+/T (Line48500[0])+/Kids [+<<+/T (Line_48500_Amount[0])+/V ()+>>]+>> +<<+/T (Line48400[0])+/Kids [+<<+/T (Line_48400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/T1/fdf/5014-r-fill-23e.fdf view
@@ -0,0 +1,2214 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Step1[0])+/Kids [+<<+/T (Tax_exempt[0])+/Kids [+<<+/T (Exempt[0])+/Kids [+<<+/T (Spouse_SelfEmployed[0])+/V /+>>]+>>]+>> +<<+/T (Foreign_property[0])+/Kids [+<<+/T (Line26600[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (ElectionsCanada[0])+/Kids [+<<+/T (LineA[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>>]+>> +<<+/T (LineB[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (Organ_donor[0])+/Kids [+<<+/T (Question[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (OrganDonor_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (OrganDonor_CheckBox[0])+/V /+>>]+>>]+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (Return-pg3[0])+/Kids [+<<+/T (Line11410[0])+/Kids [+<<+/T (Line_11410_Amount[0])+/V ()+>>]+>> +<<+/T (Line13700[0])+/Kids [+<<+/T (Line_13700_Amount[0])+/V ()+>> +<<+/T (Line13699[0])+/Kids [+<<+/T (Line_13699_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12000[0])+/Kids [+<<+/T (Line_12000_Amount[0])+/V ()+>>]+>> +<<+/T (Line14500[0])+/Kids [+<<+/T (Line_14500_Amount[0])+/V ()+>>]+>> +<<+/T (Line12600[0])+/Kids [+<<+/T (Line12599[0])+/Kids [+<<+/T (Line_12599_Amount[0])+/V ()+>>]+>> +<<+/T (Line_12600_Amount[0])+/V ()+>>]+>> +<<+/T (Line10130[0])+/Kids [+<<+/T (Line_10130_Amount[0])+/V ()+>>]+>> +<<+/T (Line12900[0])+/Kids [+<<+/T (Line_12900_Amount[0])+/V ()+>>]+>> +<<+/T (Line13010[0])+/Kids [+<<+/T (Line_13010_Amount[0])+/V ()+>>]+>> +<<+/T (Line15000[0])+/Kids [+<<+/T (Line_15000_Amount[0])+/V ()+>>]+>> +<<+/T (Line12010[0])+/Kids [+<<+/T (Line_12010_Amount[0])+/V ()+>>]+>> +<<+/T (Line10400[0])+/Kids [+<<+/T (Line_10400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12905[0])+/Kids [+<<+/T (Line_12905_Amount[0])+/V ()+>>]+>> +<<+/T (Line14300[0])+/Kids [+<<+/T (Line14299[0])+/Kids [+<<+/T (Line_14299_Amount[0])+/V ()+>>]+>> +<<+/T (Line_14300_Amount[0])+/V ()+>>]+>> +<<+/T (Line13500[0])+/Kids [+<<+/T (Line13499[0])+/Kids [+<<+/T (Line_13499_Amount[0])+/V ()+>>]+>> +<<+/T (Line_13500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11500[0])+/Kids [+<<+/T (Line_11500_Amount[0])+/V ()+>>]+>> +<<+/T (Line10100[0])+/Kids [+<<+/T (Line_10100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11701[0])+/Kids [+<<+/T (Line_11701_Amount[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14600[0])+/Kids [+<<+/T (Line_14600_Amount[0])+/V ()+>>]+>> +<<+/T (Line11900[0])+/Kids [+<<+/T (Line_11900_Amount[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14100[0])+/Kids [+<<+/T (Line_14100_Amount[0])+/V ()+>> +<<+/T (Line14099[0])+/Kids [+<<+/T (Line_14099_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line11600[0])+/Kids [+<<+/T (Line_11600_Amount[0])+/V ()+>>]+>> +<<+/T (Line14700[0])+/Kids [+<<+/T (Line_14700_Amount1[0])+/V ()+>> +<<+/T (Line_14700_Amount2[0])+/V ()+>>]+>> +<<+/T (Line14400[0])+/Kids [+<<+/T (Line_14400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12700[0])+/Kids [+<<+/T (Line_12700_Amount[0])+/V ()+>>]+>> +<<+/T (Line12100[0])+/Kids [+<<+/T (Line_12100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11300[0])+/Kids [+<<+/T (Line_11300_Amount[0])+/V ()+>>]+>> +<<+/T (Line12800[0])+/Kids [+<<+/T (Line_12800_Amount[0])+/V ()+>> +<<+/T (Line_12799[0])+/Kids [+<<+/T (Line_12799_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line12906[0])+/Kids [+<<+/T (Line_12906_Amount[0])+/V ()+>>]+>> +<<+/T (Line11400[0])+/Kids [+<<+/T (Line_11400_Amount[0])+/V ()+>>]+>> +<<+/T (Line13900[0])+/Kids [+<<+/T (Line_13900_Amount[0])+/V ()+>> +<<+/T (Line13899[0])+/Kids [+<<+/T (Line_13899_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line13000[0])+/Kids [+<<+/T (Line_13000_Amount[0])+/V ()+>> +<<+/T (Line_13000_Specify[0])+/V ()+>>]+>> +<<+/T (Line11905[0])+/Kids [+<<+/T (Line_11905_Amount[0])+/V ()+>>]+>> +<<+/T (Line12200[0])+/Kids [+<<+/T (Line_12200_Amount[0])+/V ()+>>]+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Line_11700_Amount[0])+/V ()+>>]+>> +<<+/T (Line10105[0])+/Kids [+<<+/T (Line_10105_Amount[0])+/V ()+>>]+>> +<<+/T (Line10120[0])+/Kids [+<<+/T (Line_10120_Amount[0])+/V ()+>>]+>> +<<+/T (Line12500[0])+/Kids [+<<+/T (Line_12500_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Return-pg1[0])+/Kids [+<<+/T (Identification[0])+/Kids [+<<+/T (EmailAddress[0])+/V ()+>> +<<+/T (DateDeath_Comb_BordersAll[0])+/Kids [+<<+/T (DateDeath_Comb[0])+/V ()+>>]+>> +<<+/T (PostalCode_Comb_BordersAll[0])+/Kids [+<<+/T (PostalCode[0])+/V ()+>>]+>> +<<+/T (Your_Language[0])+/Kids [+<<+/T (RadioButtonlanguaget[0])+/V /+>>]+>> +<<+/T (ID_City[0])+/V ()+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (ID_LastName[0])+/V ()+>> +<<+/T (DateBirth_Comb_BordersAll[0])+/Kids [+<<+/T (DateBirth_Comb[0])+/V ()+>>]+>> +<<+/T (ID_FirstNameInitial[0])+/V ()+>> +<<+/T (ID_MailingAddress[0])+/V ()+>> +<<+/T (MaritalStatus_Checkbox[0])+/Kids [+<<+/T (MaritalStatus[2])+/V /+>> +<<+/T (MaritalStatus[1])+/V /+>> +<<+/T (MaritalStatus[0])+/V /+>> +<<+/T (MaritalStatus[5])+/V /+>> +<<+/T (MaritalStatus[4])+/V /+>> +<<+/T (MaritalStatus[3])+/V /+>>]+>> +<<+/T (ID_RuralRoute[0])+/V ()+>> +<<+/T (ID_POBox[0])+/V ()+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Residence_Info[0])+/Kids [+<<+/T (Prov_DropDown-Business[0])+/V ()+>> +<<+/T (Prov_DropDown-Residence[0])+/V ()+>> +<<+/T (Date_Departure[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Date_Entry[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Info_Spouse_CLP[0])+/Kids [+<<+/T (Line23600[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Self-employment[0])+/Kids [+<<+/T (Checkbox[0])+/V /+>>]+>> +<<+/T (Spouse_First_Name[0])+/V ()+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[6])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[5])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[4])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[7])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page5[0])+/Kids [+<<+/T (Return-pg5[0])+/Kids [+<<+/T (Step4[0])+/Kids [+<<+/T (Line25500[0])+/Kids [+<<+/T (Line_25500_Amount[0])+/V ()+>>]+>> +<<+/T (Line24900[0])+/Kids [+<<+/T (Line_24900_Amount[0])+/V ()+>>]+>> +<<+/T (Line24400[0])+/Kids [+<<+/T (Line_24400_Amount[0])+/V ()+>>]+>> +<<+/T (Line25200[0])+/Kids [+<<+/T (Line_25200_Amount[0])+/V ()+>>]+>> +<<+/T (Line25600[0])+/Kids [+<<+/T (Line_25600_Specify[0])+/V ()+>> +<<+/T (Line_25600_Amount[0])+/V ()+>>]+>> +<<+/T (Line25100[0])+/Kids [+<<+/T (Line_25100_Amount[0])+/V ()+>>]+>> +<<+/T (Line26000[0])+/Kids [+<<+/T (Line_26000_Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25700[0])+/Kids [+<<+/T (Line_25700_Amount2[0])+/V ()+>> +<<+/T (Line_25700_Amount1[0])+/V ()+>>]+>> +<<+/T (Line25300[0])+/Kids [+<<+/T (Line_25300_Amount[0])+/V ()+>>]+>> +<<+/T (Line25000[0])+/Kids [+<<+/T (Line_25000_Amount[0])+/V ()+>>]+>> +<<+/T (Line25400[0])+/Kids [+<<+/T (Line_25400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartB[0])+/Kids [+<<+/T (Line30100[0])+/Kids [+<<+/T (Line_30100_Amount[0])+/V ()+>>]+>> +<<+/T (Line30400[0])+/Kids [+<<+/T (Line_30400_Amount[0])+/V ()+>>]+>> +<<+/T (Line30300[0])+/Kids [+<<+/T (Line_30300_Amount[0])+/V ()+>>]+>> +<<+/T (Line30425[0])+/Kids [+<<+/T (Line_30425_Amount[0])+/V ()+>>]+>> +<<+/T (Line30450[0])+/Kids [+<<+/T (Line_30450_Amount[0])+/V ()+>>]+>> +<<+/T (Line30500[0])+/Kids [+<<+/T (Line_30500_Amount[0])+/V ()+>> +<<+/T (Line30499[0])+/Kids [+<<+/T (Line_30499_ChildrenNum[0])+/V ()+>>]+>>]+>> +<<+/T (Line83[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30000[0])+/Kids [+<<+/T (Line_30000_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartA[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line42Amount3[0])+/V ()+>> +<<+/T (Line37Amount3[0])+/V ( 106,717.00)+>> +<<+/T (Line39Rate3[0])+/V (26%)+>> +<<+/T (Line41Amount3[0])+/V ( 18,942.24)+>> +<<+/T (Line36Amount3[0])+/V ()+>> +<<+/T (Line40Amount3[0])+/V ()+>> +<<+/T (Line38Amount3[0])+/V ()+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line41Amount5[0])+/V ( 54,578.67)+>> +<<+/T (Line36Amount5[0])+/V ()+>> +<<+/T (Line37Amount5[0])+/V ( 235,675.00)+>> +<<+/T (Line39Rate5[0])+/V (33%)+>> +<<+/T (Line40Amount5[0])+/V ()+>> +<<+/T (Line42Amount5[0])+/V ()+>> +<<+/T (Line38Amount5[0])+/V ()+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line36Amount4[0])+/V ()+>> +<<+/T (Line37Amount4[0])+/V ( 165,430.00)+>> +<<+/T (Line39Rate4[0])+/V (29%)+>> +<<+/T (Line41Amount4[0])+/V ( 34,207.62)+>> +<<+/T (Line40Amount4[0])+/V ()+>> +<<+/T (Line42Amount4[0])+/V ()+>> +<<+/T (Line38Amount4[0])+/V ()+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line37Amount2[0])+/V ( 53,359.00)+>> +<<+/T (Line41Amount2[0])+/V ( 8,003.85)+>> +<<+/T (Line36Amount2[0])+/V ()+>> +<<+/T (Line40Amount2[0])+/V ()+>> +<<+/T (Line39Rate2[0])+/V (20.5%)+>> +<<+/T (Line38Amount2[0])+/V ()+>> +<<+/T (Line42Amount2[0])+/V ()+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line38Amount1[0])+/V ()+>> +<<+/T (Line37Amount1[0])+/V ( 0.00)+>> +<<+/T (Line36Amount1[0])+/V ()+>> +<<+/T (Line39Rate1[0])+/V (15%)+>> +<<+/T (Line40Amount1[0])+/V ()+>> +<<+/T (Line41Amount1[0])+/V ( 0.00)+>> +<<+/T (Line42Amount1[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Return-pg4[0])+/Kids [+<<+/T (Line23400[0])+/Kids [+<<+/T (Line_23400_Amount[0])+/V ()+>>]+>> +<<+/T (Line22000[0])+/Kids [+<<+/T (Line21999[0])+/Kids [+<<+/T (Line_21999_Amount[0])+/V ()+>>]+>> +<<+/T (Line_22000_Amount[0])+/V ()+>>]+>> +<<+/T (Line23100[0])+/Kids [+<<+/T (Line_23100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22900[0])+/Kids [+<<+/T (Line_22900_Amount[0])+/V ()+>>]+>> +<<+/T (Line23200[0])+/Kids [+<<+/T (Line_23200_Amount[0])+/V ()+>> +<<+/T (Line_23200_Specify[0])+/V ()+>>]+>> +<<+/T (Line23500[0])+/Kids [+<<+/T (Line_23500_Amount[0])+/V ()+>>]+>> +<<+/T (Line21500[0])+/Kids [+<<+/T (Line_21500_Amount[0])+/V ()+>>]+>> +<<+/T (Line20700[0])+/Kids [+<<+/T (Line_20700_Amount[0])+/V ()+>>]+>> +<<+/T (Line21200[0])+/Kids [+<<+/T (Line_21200_Amount[0])+/V ()+>>]+>> +<<+/T (Line21000[0])+/Kids [+<<+/T (Line_21000_Amount[0])+/V ()+>>]+>> +<<+/T (Line21900[0])+/Kids [+<<+/T (Line_21900_Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22400[0])+/Kids [+<<+/T (Line_22400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20800[0])+/Kids [+<<+/T (Line_20800_Amount[0])+/V ()+>>]+>> +<<+/T (Line22100[0])+/Kids [+<<+/T (Line_22100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22215[0])+/Kids [+<<+/T (Line_22215_Amount[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Line_21300_Amount[0])+/V ()+>>]+>> +<<+/T (Line22200[0])+/Kids [+<<+/T (Line_22200_Amount[0])+/V ()+>>]+>> +<<+/T (Line20810[0])+/Kids [+<<+/T (Line_20810_Amount[0])+/V ()+>>]+>> +<<+/T (Line23600[0])+/Kids [+<<+/T (Line_23600_Amount[0])+/V ()+>>]+>> +<<+/T (Line20805[0])+/Kids [+<<+/T (Line_20805_Amount[0])+/V ()+>>]+>> +<<+/T (Line21400[0])+/Kids [+<<+/T (Line_21400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20600[0])+/Kids [+<<+/T (Line_20600_Amount[0])+/V ()+>>]+>> +<<+/T (Line23300[0])+/Kids [+<<+/T (Line_23300_Amount2[0])+/V ()+>> +<<+/T (Line_23300_Amount1[0])+/V ()+>>]+>> +<<+/T (Line21700[0])+/Kids [+<<+/T (Line_21700_Amount[0])+/V ()+>> +<<+/T (Line21699[0])+/Kids [+<<+/T (Line_21699_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page7[0])+/Kids [+<<+/T (Return-pg7[0])+/Kids [+<<+/T (Step6[0])+/Kids [+<<+/T (Line42200[0])+/Kids [+<<+/T (Line_42200_Amount[0])+/V ()+>>]+>> +<<+/T (Line43500[0])+/Kids [+<<+/T (Line_43500_Amount[0])+/V ()+>>]+>> +<<+/T (Line42120[0])+/Kids [+<<+/T (Line_42120_Amount[0])+/V ()+>>]+>> +<<+/T (Line42800[0])+/Kids [+<<+/T (Line_42800_Amount[0])+/V ()+>>]+>> +<<+/T (Line42100[0])+/Kids [+<<+/T (Line_42100_Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartC[0])+/Kids [+<<+/T (Line40600[0])+/Kids [+<<+/T (Line_40600_Amount[0])+/V ()+>>]+>> +<<+/T (Line41000[0])+/Kids [+<<+/T (Line_41000_Amount[0])+/V ()+>> +<<+/T (Line40900[0])+/Kids [+<<+/T (Line_40900_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line118[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line124[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line121[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line127[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40427[0])+/Kids [+<<+/T (Line_40427_Amount[0])+/V ()+>>]+>> +<<+/T (Line126[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41600[0])+/Kids [+<<+/T (Line_41600_Amount1[0])+/V ()+>> +<<+/T (Line_41600_Amount2[0])+/V ()+>>]+>> +<<+/T (Line129[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42900[0])+/Kids [+<<+/T (Line_42900_Amount[0])+/V ()+>>]+>> +<<+/T (Line40500[0])+/Kids [+<<+/T (Line_40500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41200[0])+/Kids [+<<+/T (Line_41200_Amount[0])+/V ()+>>]+>> +<<+/T (Line41800[0])+/Kids [+<<+/T (Line_41800_Amount[0])+/V ()+>>]+>> +<<+/T (Line131[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40424[0])+/Kids [+<<+/T (Line_40424_Amount[0])+/V ()+>>]+>> +<<+/T (Line40425[0])+/Kids [+<<+/T (Line_40425_Amount[0])+/V ()+>>]+>> +<<+/T (Line132[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line130[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41500[0])+/Kids [+<<+/T (Line_41500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41400[0])+/Kids [+<<+/T (Line_41400_Amount[0])+/V ()+>> +<<+/T (Line41300[0])+/Kids [+<<+/T (Line_41300_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line42000[0])+/Kids [+<<+/T (Line_42000_Amount[0])+/V ()+>>]+>> +<<+/T (Line40400[0])+/Kids [+<<+/T (Line_40400_Amount[0])+/V ()+>>]+>> +<<+/T (Line41700[0])+/Kids [+<<+/T (Line_41700_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page6[0])+/Kids [+<<+/T (Return-pg6[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line31240[0])+/Kids [+<<+/T (Line_31240_Amount[0])+/V ()+>>]+>> +<<+/T (Line98[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32300[0])+/Kids [+<<+/T (Line_32300_Amount[0])+/V ()+>>]+>> +<<+/T (Line96[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31217[0])+/Kids [+<<+/T (Line_31217_Amount[0])+/V ()+>>]+>> +<<+/T (Line32600[0])+/Kids [+<<+/T (Line_32600_Amount[0])+/V ()+>>]+>> +<<+/T (Line35000[0])+/Kids [+<<+/T (Line_35000_Amount[0])+/V ()+>>]+>> +<<+/T (Line110[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line108[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31800[0])+/Kids [+<<+/T (Line_31800_Amount[0])+/V ()+>>]+>> +<<+/T (Line106[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33099[0])+/Kids [+<<+/T (Line_33099_Amount[0])+/V ()+>>]+>> +<<+/T (Line114[0])+/Kids [+<<+/T (Percent[0])+/V (15%)+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33500[0])+/Kids [+<<+/T (Line_33500_Amount[0])+/V ()+>>]+>> +<<+/T (Line33800[0])+/Kids [+<<+/T (Line_33800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31200[0])+/Kids [+<<+/T (Line_31200_Amount[0])+/V ()+>>]+>> +<<+/T (Line34900[0])+/Kids [+<<+/T (Line_34900_Amount[0])+/V ()+>>]+>> +<<+/T (Line31000[0])+/Kids [+<<+/T (Line_31000_Amount[0])+/V ()+>>]+>> +<<+/T (Line31600[0])+/Kids [+<<+/T (Line_31600_Amount[0])+/V ()+>>]+>> +<<+/T (Line31350[0])+/Kids [+<<+/T (Line_31350_Amount[0])+/V ()+>>]+>> +<<+/T (Line31900[0])+/Kids [+<<+/T (Line_31900_Amount[0])+/V ()+>>]+>> +<<+/T (Line32400[0])+/Kids [+<<+/T (Line_32400_Amount[0])+/V ()+>>]+>> +<<+/T (Line33199[0])+/Kids [+<<+/T (Line_33199_Amount[0])+/V ()+>>]+>> +<<+/T (Line101[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31260[0])+/Kids [+<<+/T (Line_31260_Amount[0])+/V ()+>>]+>> +<<+/T (Line33200[0])+/Kids [+<<+/T (Line_33200_Amount2[0])+/V ()+>> +<<+/T (Line_33200_Amount1[0])+/V ()+>>]+>> +<<+/T (Line30800[0])+/Kids [+<<+/T (Line_30800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31285[0])+/Kids [+<<+/T (Line_31285_Amount[0])+/V ()+>>]+>> +<<+/T (Line31300[0])+/Kids [+<<+/T (Line_31300_Amount[0])+/V ()+>>]+>> +<<+/T (Line109[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31270[0])+/Kids [+<<+/T (Line_31270_Amount[0])+/V ()+>>]+>> +<<+/T (Line31220[0])+/Kids [+<<+/T (Line_31220_Amount[0])+/V ()+>>]+>> +<<+/T (Line31400[0])+/Kids [+<<+/T (Line_31400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page8[0])+/Kids [+<<+/T (Return-pg8[0])+/Kids [+<<+/T (Step6-Continued[0])+/Kids [+<<+/T (Line44800[0])+/Kids [+<<+/T (Line_44800_Amount[0])+/V ()+>>]+>> +<<+/T (Line45355[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line46900[0])+/Kids [+<<+/T (Line46800[0])+/Kids [+<<+/T (Line_46800_Amount[0])+/V ()+>>]+>> +<<+/T (Line_46900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47600[0])+/Kids [+<<+/T (Line_47600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45200[0])+/Kids [+<<+/T (Line_45200_Amount[0])+/V ()+>>]+>> +<<+/T (Line45350[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45600[0])+/Kids [+<<+/T (Line_45600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45300[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45000[0])+/Kids [+<<+/T (Line_45000_Amount[0])+/V ()+>>]+>> +<<+/T (Line47557[0])+/Kids [+<<+/T (Line_47557_Amount[0])+/V ()+>>]+>> +<<+/T (Line47900[0])+/Kids [+<<+/T (Line_47900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47556[0])+/Kids [+<<+/T (Line_47556_Amount[0])+/V ()+>>]+>> +<<+/T (Line47555[0])+/Kids [+<<+/T (Line_47555_Amount[0])+/V ()+>>]+>> +<<+/T (Line167[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line148[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43700[0])+/Kids [+<<+/T (Line_43700_Amount[0])+/V ()+>>]+>> +<<+/T (Line48200[0])+/Kids [+<<+/T (Line_48200_Amount1[0])+/V ()+>> +<<+/T (Line_48200_Amount2[0])+/V ()+>>]+>> +<<+/T (Line45700[0])+/Kids [+<<+/T (Line_45700_Amount[0])+/V ()+>>]+>> +<<+/T (Line44000[0])+/Kids [+<<+/T (Line_44000_Amount[0])+/V ()+>>]+>> +<<+/T (Line45400[0])+/Kids [+<<+/T (Line_45400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Certification[0])+/Kids [+<<+/T (Date[0])+/V ()+>> +<<+/T (Telephone[0])+/V ()+>>]+>> +<<+/T (Efile[0])+/Kids [+<<+/T (Line48900[0])+/Kids [+<<+/T (EFile[0])+/V ()+>>]+>> +<<+/T (TelephoneOfPreparer[0])+/V ()+>> +<<+/T (NameOfPreparer[0])+/V ()+>> +<<+/T (Line49000[0])+/Kids [+<<+/T (Line49000_CheckBoxGroup[0])+/Kids [+<<+/T (Line49000_CheckBox_EN[0])+/V /+>> +<<+/T (Line49000_CheckBox_EN[1])+/V /+>>]+>>]+>>]+>> +<<+/T (Refund_or_Balance-owing[0])+/Kids [+<<+/T (Line48500[0])+/Kids [+<<+/T (Line_48500_Amount[0])+/V ()+>>]+>> +<<+/T (Line48400[0])+/Kids [+<<+/T (Line_48400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/T1/fdf/5015-r-fill-23e.fdf view
@@ -0,0 +1,2202 @@+%FDF-1.2+%âãÏÓ+1 0 obj++<<+/FDF +<<+/Fields [+<<+/T (form1[0])+/Kids [+<<+/T (Page2[0])+/Kids [+<<+/T (Step1-Cont[0])+/Kids [+<<+/T (Foreign_property[0])+/Kids [+<<+/T (Line26600[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (ForeignProperty_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (Tax_exempt[0])+/Kids [+<<+/T (Exempt[0])+/Kids [+<<+/T (Spouse_SelfEmployed[0])+/V /+>>]+>>]+>> +<<+/T (ElectionsCanada[0])+/Kids [+<<+/T (LineA[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (A_CheckBox[0])+/V /+>>]+>>]+>> +<<+/T (LineB[0])+/Kids [+<<+/T (Option2[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>> +<<+/T (Option1[0])+/Kids [+<<+/T (B_Authorize_CheckBox[0])+/V /+>>]+>>]+>>]+>> +<<+/T (CAI[0])+/Kids [+<<+/T (AB_CAI[0])+/Kids [+<<+/T (Tick_box[0])+/V /+>>]+>>]+>>]+>>]+>> +<<+/T (Page3[0])+/Kids [+<<+/T (Return-pg3[0])+/Kids [+<<+/T (Line11410[0])+/Kids [+<<+/T (Line_11410_Amount[0])+/V ()+>>]+>> +<<+/T (Line13700[0])+/Kids [+<<+/T (Line_13700_Amount[0])+/V ()+>> +<<+/T (Line13699[0])+/Kids [+<<+/T (Line_13699_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line27[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line12000[0])+/Kids [+<<+/T (Line_12000_Amount[0])+/V ()+>>]+>> +<<+/T (Line14500[0])+/Kids [+<<+/T (Line_14500_Amount[0])+/V ()+>>]+>> +<<+/T (Line12600[0])+/Kids [+<<+/T (Line12599[0])+/Kids [+<<+/T (Line_12599_Amount[0])+/V ()+>>]+>> +<<+/T (Line_12600_Amount[0])+/V ()+>>]+>> +<<+/T (Line10130[0])+/Kids [+<<+/T (Line_10130_Amount[0])+/V ()+>>]+>> +<<+/T (Line12900[0])+/Kids [+<<+/T (Line_12900_Amount[0])+/V ()+>>]+>> +<<+/T (Line13010[0])+/Kids [+<<+/T (Line_13010_Amount[0])+/V ()+>>]+>> +<<+/T (Line15000[0])+/Kids [+<<+/T (Line_15000_Amount[0])+/V ()+>>]+>> +<<+/T (Line12010[0])+/Kids [+<<+/T (Line_12010_Amount[0])+/V ()+>>]+>> +<<+/T (Line10400[0])+/Kids [+<<+/T (Line_10400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12905[0])+/Kids [+<<+/T (Line_12905_Amount[0])+/V ()+>>]+>> +<<+/T (Line14300[0])+/Kids [+<<+/T (Line14299[0])+/Kids [+<<+/T (Line_14299_Amount[0])+/V ()+>>]+>> +<<+/T (Line_14300_Amount[0])+/V ()+>>]+>> +<<+/T (Line13500[0])+/Kids [+<<+/T (Line13499[0])+/Kids [+<<+/T (Line_13499_Amount[0])+/V ()+>>]+>> +<<+/T (Line_13500_Amount[0])+/V ()+>>]+>> +<<+/T (Line11500[0])+/Kids [+<<+/T (Line_11500_Amount[0])+/V ()+>>]+>> +<<+/T (Line10100[0])+/Kids [+<<+/T (Line_10100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11701[0])+/Kids [+<<+/T (Line_11701_Amount[0])+/V ()+>>]+>> +<<+/T (Line21[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14600[0])+/Kids [+<<+/T (Line_14600_Amount[0])+/V ()+>>]+>> +<<+/T (Line11900[0])+/Kids [+<<+/T (Line_11900_Amount[0])+/V ()+>>]+>> +<<+/T (Line28[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line14100[0])+/Kids [+<<+/T (Line_14100_Amount[0])+/V ()+>> +<<+/T (Line14099[0])+/Kids [+<<+/T (Line_14099_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line11600[0])+/Kids [+<<+/T (Line_11600_Amount[0])+/V ()+>>]+>> +<<+/T (Line14700[0])+/Kids [+<<+/T (Line_14700_Amount1[0])+/V ()+>> +<<+/T (Line_14700_Amount2[0])+/V ()+>>]+>> +<<+/T (Line14400[0])+/Kids [+<<+/T (Line_14400_Amount[0])+/V ()+>>]+>> +<<+/T (Line12700[0])+/Kids [+<<+/T (Line_12700_Amount[0])+/V ()+>>]+>> +<<+/T (Line12100[0])+/Kids [+<<+/T (Line_12100_Amount[0])+/V ()+>>]+>> +<<+/T (Line11300[0])+/Kids [+<<+/T (Line_11300_Amount[0])+/V ()+>>]+>> +<<+/T (Line12800[0])+/Kids [+<<+/T (Line_12800_Amount[0])+/V ()+>> +<<+/T (Line_12799[0])+/Kids [+<<+/T (Line_12799_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line12906[0])+/Kids [+<<+/T (Line_12906_Amount[0])+/V ()+>>]+>> +<<+/T (Line11400[0])+/Kids [+<<+/T (Line_11400_Amount[0])+/V ()+>>]+>> +<<+/T (Line13900[0])+/Kids [+<<+/T (Line_13900_Amount[0])+/V ()+>> +<<+/T (Line13899[0])+/Kids [+<<+/T (Line_13899_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line13000[0])+/Kids [+<<+/T (Line_13000_Amount[0])+/V ()+>> +<<+/T (Line_13000_Specify[0])+/V ()+>>]+>> +<<+/T (Line11905[0])+/Kids [+<<+/T (Line_11905_Amount[0])+/V ()+>>]+>> +<<+/T (Line12200[0])+/Kids [+<<+/T (Line_12200_Amount[0])+/V ()+>>]+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Line_11700_Amount[0])+/V ()+>>]+>> +<<+/T (Line10105[0])+/Kids [+<<+/T (Line_10105_Amount[0])+/V ()+>>]+>> +<<+/T (Line10120[0])+/Kids [+<<+/T (Line_10120_Amount[0])+/V ()+>>]+>> +<<+/T (Line12500[0])+/Kids [+<<+/T (Line_12500_Amount[0])+/V ()+>>]+>>]+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (Return-pg1[0])+/Kids [+<<+/T (Identification[0])+/Kids [+<<+/T (EmailAddress[0])+/V ()+>> +<<+/T (DateDeath_Comb_BordersAll[0])+/Kids [+<<+/T (DateDeath_Comb[0])+/V ()+>>]+>> +<<+/T (PostalCode_Comb_BordersAll[0])+/Kids [+<<+/T (PostalCode[0])+/V ()+>>]+>> +<<+/T (Your_Language[0])+/Kids [+<<+/T (RadioButtonlanguaget[0])+/V /+>>]+>> +<<+/T (ID_City[0])+/V ()+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (ID_LastName[0])+/V ()+>> +<<+/T (DateBirth_Comb_BordersAll[0])+/Kids [+<<+/T (DateBirth_Comb[0])+/V ()+>>]+>> +<<+/T (ID_FirstNameInitial[0])+/V ()+>> +<<+/T (ID_MailingAddress[0])+/V ()+>> +<<+/T (MaritalStatus_Checkbox[0])+/Kids [+<<+/T (MaritalStatus[2])+/V /+>> +<<+/T (MaritalStatus[1])+/V /+>> +<<+/T (MaritalStatus[0])+/V /+>> +<<+/T (MaritalStatus[5])+/V /+>> +<<+/T (MaritalStatus[4])+/V /+>> +<<+/T (MaritalStatus[3])+/V /+>>]+>> +<<+/T (ID_RuralRoute[0])+/V ()+>> +<<+/T (ID_POBox[0])+/V ()+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Residence_Info[0])+/Kids [+<<+/T (Prov_DropDown-Business[0])+/V ()+>> +<<+/T (Prov_DropDown-Residence[0])+/V ()+>> +<<+/T (Date_Departure[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Date_Entry[0])+/Kids [+<<+/T (DateMMDD_Comb_BordersAll_Std[0])+/Kids [+<<+/T (DateMMDD_Comb[0])+/V ()+>>]+>>]+>> +<<+/T (Prov_DropDown[0])+/V ()+>>]+>> +<<+/T (Info_Spouse_CLP[0])+/Kids [+<<+/T (Line23600[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Self-employment[0])+/Kids [+<<+/T (Checkbox[0])+/V /+>>]+>> +<<+/T (Spouse_First_Name[0])+/V ()+>> +<<+/T (Line11700[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (SIN_Comb_BordersAll[0])+/Kids [+<<+/T (SIN_Comb[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (#pageSet[0])+/Kids [+<<+/T (Page1[2])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[1])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[0])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[6])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[5])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[4])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[3])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>> +<<+/T (Page1[7])+/Kids [+<<+/T (ClearData_EN[0])+/V /+>>]+>>]+>> +<<+/T (Page5[0])+/Kids [+<<+/T (Return-pg5[0])+/Kids [+<<+/T (Step4[0])+/Kids [+<<+/T (Line25500[0])+/Kids [+<<+/T (Line_25500_Amount[0])+/V ()+>>]+>> +<<+/T (Line24900[0])+/Kids [+<<+/T (Line_24900_Amount[0])+/V ()+>>]+>> +<<+/T (Line24400[0])+/Kids [+<<+/T (Line_24400_Amount[0])+/V ()+>>]+>> +<<+/T (Line25200[0])+/Kids [+<<+/T (Line_25200_Amount[0])+/V ()+>>]+>> +<<+/T (Line25600[0])+/Kids [+<<+/T (Line_25600_Specify[0])+/V ()+>> +<<+/T (Line_25600_Amount[0])+/V ()+>>]+>> +<<+/T (Line25100[0])+/Kids [+<<+/T (Line_25100_Amount[0])+/V ()+>>]+>> +<<+/T (Line26000[0])+/Kids [+<<+/T (Line_26000_Amount[0])+/V ()+>>]+>> +<<+/T (Line57[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line25700[0])+/Kids [+<<+/T (Line_25700_Amount2[0])+/V ()+>> +<<+/T (Line_25700_Amount1[0])+/V ()+>>]+>> +<<+/T (Line25300[0])+/Kids [+<<+/T (Line_25300_Amount[0])+/V ()+>>]+>> +<<+/T (Line25000[0])+/Kids [+<<+/T (Line_25000_Amount[0])+/V ()+>>]+>> +<<+/T (Line25400[0])+/Kids [+<<+/T (Line_25400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartB[0])+/Kids [+<<+/T (Line30100[0])+/Kids [+<<+/T (Line_30100_Amount[0])+/V ()+>>]+>> +<<+/T (Line30400[0])+/Kids [+<<+/T (Line_30400_Amount[0])+/V ()+>>]+>> +<<+/T (Line30300[0])+/Kids [+<<+/T (Line_30300_Amount[0])+/V ()+>>]+>> +<<+/T (Line30425[0])+/Kids [+<<+/T (Line_30425_Amount[0])+/V ()+>>]+>> +<<+/T (Line30450[0])+/Kids [+<<+/T (Line_30450_Amount[0])+/V ()+>>]+>> +<<+/T (Line30500[0])+/Kids [+<<+/T (Line_30500_Amount[0])+/V ()+>> +<<+/T (Line30499[0])+/Kids [+<<+/T (Line_30499_ChildrenNum[0])+/V ()+>>]+>>]+>> +<<+/T (Line83[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line30000[0])+/Kids [+<<+/T (Line_30000_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartA[0])+/Kids [+<<+/T (Column3[0])+/Kids [+<<+/T (Line42Amount3[0])+/V ()+>> +<<+/T (Line37Amount3[0])+/V ( 106,717.00)+>> +<<+/T (Line39Rate3[0])+/V (26%)+>> +<<+/T (Line41Amount3[0])+/V ( 18,942.24)+>> +<<+/T (Line36Amount3[0])+/V ()+>> +<<+/T (Line40Amount3[0])+/V ()+>> +<<+/T (Line38Amount3[0])+/V ()+>>]+>> +<<+/T (Column5[0])+/Kids [+<<+/T (Line41Amount5[0])+/V ( 54,578.67)+>> +<<+/T (Line36Amount5[0])+/V ()+>> +<<+/T (Line37Amount5[0])+/V ( 235,675.00)+>> +<<+/T (Line39Rate5[0])+/V (33%)+>> +<<+/T (Line40Amount5[0])+/V ()+>> +<<+/T (Line42Amount5[0])+/V ()+>> +<<+/T (Line38Amount5[0])+/V ()+>>]+>> +<<+/T (Column4[0])+/Kids [+<<+/T (Line36Amount4[0])+/V ()+>> +<<+/T (Line37Amount4[0])+/V ( 165,430.00)+>> +<<+/T (Line39Rate4[0])+/V (29%)+>> +<<+/T (Line41Amount4[0])+/V ( 34,207.62)+>> +<<+/T (Line40Amount4[0])+/V ()+>> +<<+/T (Line42Amount4[0])+/V ()+>> +<<+/T (Line38Amount4[0])+/V ()+>>]+>> +<<+/T (Column2[0])+/Kids [+<<+/T (Line37Amount2[0])+/V ( 53,359.00)+>> +<<+/T (Line41Amount2[0])+/V ( 8,003.85)+>> +<<+/T (Line36Amount2[0])+/V ()+>> +<<+/T (Line40Amount2[0])+/V ()+>> +<<+/T (Line39Rate2[0])+/V (20.5%)+>> +<<+/T (Line38Amount2[0])+/V ()+>> +<<+/T (Line42Amount2[0])+/V ()+>>]+>> +<<+/T (Column1[0])+/Kids [+<<+/T (Line38Amount1[0])+/V ()+>> +<<+/T (Line37Amount1[0])+/V ( 0.00)+>> +<<+/T (Line36Amount1[0])+/V ()+>> +<<+/T (Line39Rate1[0])+/V (15%)+>> +<<+/T (Line40Amount1[0])+/V ()+>> +<<+/T (Line41Amount1[0])+/V ( 0.00)+>> +<<+/T (Line42Amount1[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page4[0])+/Kids [+<<+/T (Return-pg4[0])+/Kids [+<<+/T (Line23400[0])+/Kids [+<<+/T (Line_23400_Amount[0])+/V ()+>>]+>> +<<+/T (Line22000[0])+/Kids [+<<+/T (Line21999[0])+/Kids [+<<+/T (Line_21999_Amount[0])+/V ()+>>]+>> +<<+/T (Line_22000_Amount[0])+/V ()+>>]+>> +<<+/T (Line23100[0])+/Kids [+<<+/T (Line_23100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22900[0])+/Kids [+<<+/T (Line_22900_Amount[0])+/V ()+>>]+>> +<<+/T (Line23200[0])+/Kids [+<<+/T (Line_23200_Amount[0])+/V ()+>> +<<+/T (Line_23200_Specify[0])+/V ()+>>]+>> +<<+/T (Line23500[0])+/Kids [+<<+/T (Line_23500_Amount[0])+/V ()+>>]+>> +<<+/T (Line21500[0])+/Kids [+<<+/T (Line_21500_Amount[0])+/V ()+>>]+>> +<<+/T (Line20700[0])+/Kids [+<<+/T (Line_20700_Amount[0])+/V ()+>>]+>> +<<+/T (Line21200[0])+/Kids [+<<+/T (Line_21200_Amount[0])+/V ()+>>]+>> +<<+/T (Line21000[0])+/Kids [+<<+/T (Line_21000_Amount[0])+/V ()+>>]+>> +<<+/T (Line21900[0])+/Kids [+<<+/T (Line_21900_Amount[0])+/V ()+>>]+>> +<<+/T (Line34[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line22400[0])+/Kids [+<<+/T (Line_22400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20800[0])+/Kids [+<<+/T (Line_20800_Amount[0])+/V ()+>>]+>> +<<+/T (Line22100[0])+/Kids [+<<+/T (Line_22100_Amount[0])+/V ()+>>]+>> +<<+/T (Line22215[0])+/Kids [+<<+/T (Line_22215_Amount[0])+/V ()+>>]+>> +<<+/T (Line21300[0])+/Kids [+<<+/T (Line_21300_Amount[0])+/V ()+>>]+>> +<<+/T (Line22200[0])+/Kids [+<<+/T (Line_22200_Amount[0])+/V ()+>>]+>> +<<+/T (Line20810[0])+/Kids [+<<+/T (Line_20810_Amount[0])+/V ()+>>]+>> +<<+/T (Line23600[0])+/Kids [+<<+/T (Line_23600_Amount[0])+/V ()+>>]+>> +<<+/T (Line20805[0])+/Kids [+<<+/T (Line_20805_Amount[0])+/V ()+>>]+>> +<<+/T (Line21400[0])+/Kids [+<<+/T (Line_21400_Amount[0])+/V ()+>>]+>> +<<+/T (Line20600[0])+/Kids [+<<+/T (Line_20600_Amount[0])+/V ()+>>]+>> +<<+/T (Line23300[0])+/Kids [+<<+/T (Line_23300_Amount2[0])+/V ()+>> +<<+/T (Line_23300_Amount1[0])+/V ()+>>]+>> +<<+/T (Line21700[0])+/Kids [+<<+/T (Line_21700_Amount[0])+/V ()+>> +<<+/T (Line21699[0])+/Kids [+<<+/T (Line_21699_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page7[0])+/Kids [+<<+/T (Return-pg7[0])+/Kids [+<<+/T (Step6[0])+/Kids [+<<+/T (Line42200[0])+/Kids [+<<+/T (Line_42200_Amount[0])+/V ()+>>]+>> +<<+/T (Line43500[0])+/Kids [+<<+/T (Line_43500_Amount[0])+/V ()+>>]+>> +<<+/T (Line42120[0])+/Kids [+<<+/T (Line_42120_Amount[0])+/V ()+>>]+>> +<<+/T (Line42800[0])+/Kids [+<<+/T (Line_42800_Amount[0])+/V ()+>>]+>> +<<+/T (Line42100[0])+/Kids [+<<+/T (Line_42100_Amount[0])+/V ()+>>]+>> +<<+/T (Line14[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>>]+>> +<<+/T (PartC[0])+/Kids [+<<+/T (Line40600[0])+/Kids [+<<+/T (Line_40600_Amount[0])+/V ()+>>]+>> +<<+/T (Line41000[0])+/Kids [+<<+/T (Line_41000_Amount[0])+/V ()+>> +<<+/T (Line40900[0])+/Kids [+<<+/T (Line_40900_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line118[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line124[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line121[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line127[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40427[0])+/Kids [+<<+/T (Line_40427_Amount[0])+/V ()+>>]+>> +<<+/T (Line126[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41600[0])+/Kids [+<<+/T (Line_41600_Amount1[0])+/V ()+>> +<<+/T (Line_41600_Amount2[0])+/V ()+>>]+>> +<<+/T (Line129[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line42900[0])+/Kids [+<<+/T (Line_42900_Amount[0])+/V ()+>>]+>> +<<+/T (Line40500[0])+/Kids [+<<+/T (Line_40500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41200[0])+/Kids [+<<+/T (Line_41200_Amount[0])+/V ()+>>]+>> +<<+/T (Line41800[0])+/Kids [+<<+/T (Line_41800_Amount[0])+/V ()+>>]+>> +<<+/T (Line131[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line40424[0])+/Kids [+<<+/T (Line_40424_Amount[0])+/V ()+>>]+>> +<<+/T (Line40425[0])+/Kids [+<<+/T (Line_40425_Amount[0])+/V ()+>>]+>> +<<+/T (Line132[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line130[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line41500[0])+/Kids [+<<+/T (Line_41500_Amount[0])+/V ()+>>]+>> +<<+/T (Line41400[0])+/Kids [+<<+/T (Line_41400_Amount[0])+/V ()+>> +<<+/T (Line41300[0])+/Kids [+<<+/T (Line_41300_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line42000[0])+/Kids [+<<+/T (Line_42000_Amount[0])+/V ()+>>]+>> +<<+/T (Line40400[0])+/Kids [+<<+/T (Line_40400_Amount[0])+/V ()+>>]+>> +<<+/T (Line41700[0])+/Kids [+<<+/T (Line_41700_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page6[0])+/Kids [+<<+/T (Return-pg6[0])+/Kids [+<<+/T (PartB[0])+/Kids [+<<+/T (Line31240[0])+/Kids [+<<+/T (Line_31240_Amount[0])+/V ()+>>]+>> +<<+/T (Line98[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line32300[0])+/Kids [+<<+/T (Line_32300_Amount[0])+/V ()+>>]+>> +<<+/T (Line96[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31217[0])+/Kids [+<<+/T (Line_31217_Amount[0])+/V ()+>>]+>> +<<+/T (Line32600[0])+/Kids [+<<+/T (Line_32600_Amount[0])+/V ()+>>]+>> +<<+/T (Line35000[0])+/Kids [+<<+/T (Line_35000_Amount[0])+/V ()+>>]+>> +<<+/T (Line110[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line108[0])+/Kids [+<<+/T (Amount2[0])+/V ()+>> +<<+/T (Amount1[0])+/V ()+>>]+>> +<<+/T (Line31800[0])+/Kids [+<<+/T (Line_31800_Amount[0])+/V ()+>>]+>> +<<+/T (Line106[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33099[0])+/Kids [+<<+/T (Line_33099_Amount[0])+/V ()+>>]+>> +<<+/T (Line114[0])+/Kids [+<<+/T (Percent[0])+/V (15%)+>>]+>> +<<+/T (Line84[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line33500[0])+/Kids [+<<+/T (Line_33500_Amount[0])+/V ()+>>]+>> +<<+/T (Line33800[0])+/Kids [+<<+/T (Line_33800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31200[0])+/Kids [+<<+/T (Line_31200_Amount[0])+/V ()+>>]+>> +<<+/T (Line34900[0])+/Kids [+<<+/T (Line_34900_Amount[0])+/V ()+>>]+>> +<<+/T (Line31000[0])+/Kids [+<<+/T (Line_31000_Amount[0])+/V ()+>>]+>> +<<+/T (Line31600[0])+/Kids [+<<+/T (Line_31600_Amount[0])+/V ()+>>]+>> +<<+/T (Line31350[0])+/Kids [+<<+/T (Line_31350_Amount[0])+/V ()+>>]+>> +<<+/T (Line31900[0])+/Kids [+<<+/T (Line_31900_Amount[0])+/V ()+>>]+>> +<<+/T (Line32400[0])+/Kids [+<<+/T (Line_32400_Amount[0])+/V ()+>>]+>> +<<+/T (Line33199[0])+/Kids [+<<+/T (Line_33199_Amount[0])+/V ()+>>]+>> +<<+/T (Line101[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31260[0])+/Kids [+<<+/T (Line_31260_Amount[0])+/V ()+>>]+>> +<<+/T (Line33200[0])+/Kids [+<<+/T (Line_33200_Amount2[0])+/V ()+>> +<<+/T (Line_33200_Amount1[0])+/V ()+>>]+>> +<<+/T (Line30800[0])+/Kids [+<<+/T (Line_30800_Amount[0])+/V ()+>>]+>> +<<+/T (Line31285[0])+/Kids [+<<+/T (Line_31285_Amount[0])+/V ()+>>]+>> +<<+/T (Line31300[0])+/Kids [+<<+/T (Line_31300_Amount[0])+/V ()+>>]+>> +<<+/T (Line109[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line31270[0])+/Kids [+<<+/T (Line_31270_Amount[0])+/V ()+>>]+>> +<<+/T (Line31220[0])+/Kids [+<<+/T (Line_31220_Amount[0])+/V ()+>>]+>> +<<+/T (Line31400[0])+/Kids [+<<+/T (Line_31400_Amount[0])+/V ()+>>]+>>]+>>]+>>]+>> +<<+/T (Page8[0])+/Kids [+<<+/T (Return-pg8[0])+/Kids [+<<+/T (Refund_or_Balance-Owing[0])+/Kids [+<<+/T (Line48500[0])+/Kids [+<<+/T (Line_48500_Amount[0])+/V ()+>>]+>> +<<+/T (Line48400[0])+/Kids [+<<+/T (Line_48400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Step6-Cont[0])+/Kids [+<<+/T (Line44800[0])+/Kids [+<<+/T (Line_44800_Amount[0])+/V ()+>>]+>> +<<+/T (Line45355[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line46900[0])+/Kids [+<<+/T (Line_46900_Amount[0])+/V ()+>> +<<+/T (Line46800[0])+/Kids [+<<+/T (Line_46800_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Line47600[0])+/Kids [+<<+/T (Line_47600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45200[0])+/Kids [+<<+/T (Line_45200_Amount[0])+/V ()+>>]+>> +<<+/T (Line45600[0])+/Kids [+<<+/T (Line_45600_Amount[0])+/V ()+>>]+>> +<<+/T (Line45350[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45300[0])+/Kids [+<<+/T (Line_45300_Amount[0])+/V ()+>>]+>> +<<+/T (Line45000[0])+/Kids [+<<+/T (Line_45000_Amount[0])+/V ()+>>]+>> +<<+/T (Line47900[0])+/Kids [+<<+/T (Line_47900_Amount[0])+/V ()+>>]+>> +<<+/T (Line47557[0])+/Kids [+<<+/T (Line_47557_Amount[0])+/V ()+>>]+>> +<<+/T (Line47556[0])+/Kids [+<<+/T (Line_47556_Amount[0])+/V ()+>>]+>> +<<+/T (Line47555[0])+/Kids [+<<+/T (Line_47555_Amount[0])+/V ()+>>]+>> +<<+/T (Line167[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line43700[0])+/Kids [+<<+/T (Line_43700_Amount[0])+/V ()+>>]+>> +<<+/T (Line148[0])+/Kids [+<<+/T (Amount[0])+/V ()+>>]+>> +<<+/T (Line48200[0])+/Kids [+<<+/T (Line_48200_Amount1[0])+/V ()+>> +<<+/T (Line_48200_Amount2[0])+/V ()+>>]+>> +<<+/T (Line45700[0])+/Kids [+<<+/T (Line_45700_Amount[0])+/V ()+>>]+>> +<<+/T (Line44000[0])+/Kids [+<<+/T (Line_44000_Amount[0])+/V ()+>>]+>> +<<+/T (Line45400[0])+/Kids [+<<+/T (Line_45400_Amount[0])+/V ()+>>]+>>]+>> +<<+/T (Certification[0])+/Kids [+<<+/T (Date[0])+/V ()+>> +<<+/T (Telephone[0])+/V ()+>>]+>> +<<+/T (Efile[0])+/Kids [+<<+/T (Line48900[0])+/Kids [+<<+/T (EFile[0])+/V ()+>>]+>> +<<+/T (TelephoneOfPreparer[0])+/V ()+>> +<<+/T (NameOfPreparer[0])+/V ()+>> +<<+/T (Line49000[0])+/Kids [+<<+/T (Line49000_CheckBoxGroup[0])+/Kids [+<<+/T (Line49000_CheckBox_EN[0])+/V /+>> +<<+/T (Line49000_CheckBox_EN[1])+/V /+>>]+>>]+>>]+>>]+>>]+>>]+>>]+>>+>>+endobj++trailer++<<+/Root 1 0 R+>>+%%EOF
+ data/T1/pdf/5000-r-fill-22e.pdf view

binary file changed (absent → 520329 bytes)

+ data/T1/pdf/5001-r-fill-22e.pdf view

binary file changed (absent → 530250 bytes)

+ data/T1/pdf/5005-r-fill-22e.pdf view

binary file changed (absent → 534534 bytes)

+ data/T1/pdf/5006-r-fill-22e.pdf view

binary file changed (absent → 590478 bytes)

+ data/T1/pdf/5010-r-fill-22e.pdf view

binary file changed (absent → 543197 bytes)

+ data/T1/pdf/5011-r-fill-22e.pdf view

binary file changed (absent → 534306 bytes)

+ data/T1/pdf/5012-r-fill-22e.pdf view

binary file changed (absent → 538840 bytes)

+ data/T1/pdf/5014-r-fill-22e.pdf view

binary file changed (absent → 525425 bytes)

+ data/T1/pdf/5015-r-fill-22e.pdf view

binary file changed (absent → 523327 bytes)

src/Tax/Canada.hs view
@@ -1,41 +1,27 @@-{-# LANGUAGE DisambiguateRecordFields #-} {-# LANGUAGE ImportQualifiedPost #-}-{-# LANGUAGE NamedFieldPuns #-}-{-# LANGUAGE NoFieldSelectors #-}-{-# LANGUAGE OverloadedRecordDot #-} -module Tax.Canada (T1, ON428, fixOntarioReturns, fixT1, fixON428, t1Fields, on428Fields) where+module Tax.Canada (completeForms) where -import Tax.Canada.T1.Types qualified as T1-import Tax.Canada.T1.Types (T1 (T1, page7), Page7(Page7, step6_RefundOrBalanceOwing))-import Tax.Canada.T1.Fix (fixT1)-import Tax.Canada.T1.FieldNames (t1Fields)-import Tax.Canada.ON428.Types qualified as ON hiding (Page1(..))-import Tax.Canada.ON428.Types (ON428 (ON428, page1, page2),-                               Page1(Page1, line1, partB))-import Tax.Canada.ON428.Fix (fixON428)-import Tax.Canada.ON428.FieldNames (on428Fields)-import Tax.Util (fixEq)+import Data.CAProvinceCodes qualified as Province+import Data.Functor.Const (Const)+import Data.Functor.Product (Product (Pair))+import Data.Kind (Type) -fixOntarioReturns :: (T1 Maybe, ON428 Maybe) -> (T1 Maybe, ON428 Maybe)-fixOntarioReturns =-  fixEq $ \(t1@T1{page7 = page7@Page7{step6_RefundOrBalanceOwing}},-            on428@ON428{page1 = page1@Page1{partB},-                        page2 = page2@ON.Page2{ON.partB = partB2@ON.Page2PartB{ON.medicalExpenses},-                                               ON.partC}})-          -> (fixT1 t1{page7 =-                       page7{step6_RefundOrBalanceOwing =-                             step6_RefundOrBalanceOwing{T1.line_42800_ProvTerrTax = on428.page4.line90}}},-              fixON428 on428{page1 =-                             page1{line1 = t1.page5.step4_TaxableIncome.line_26000_TaxableIncome,-                                   partB = partB{ON.line12_spouseIncome = t1.page1.spouse.line23600,-                                                 ON.line19_cppQpp = t1.page6.line30800,-                                                 ON.line20_cppQpp = t1.page6.line31000,-                                                 ON.line21_employmentInsurance = t1.page6.line31200,-                                                 ON.line22_employmentInsurance = t1.page6.line31217}},-                             page2 =-                             page2{ON.partB = partB2{ON.line32_interest = t1.page6.line31900,-                                                     ON.medicalExpenses =-                                                        medicalExpenses{ON.line37_income =-                                                                        t1.page4.line_23600_NetIncome}},-                                   ON.partC = partC{ON.line59_copy = t1.page7.partC_NetFederalTax.line40427}}})+import Tax.Canada.Federal qualified as Federal+import Tax.Canada.Federal (fixFederalForms)+import Tax.Canada.Province.AB qualified as AB+import Tax.Canada.Province.BC qualified as BC+import Tax.Canada.Province.MB qualified as MB+import Tax.Canada.Province.ON qualified as ON+import Tax.Canada.T1 (T1, fixT1, t1FieldsForProvince)+import Tax.FDF (FDFs)+import Tax.FDF qualified as FDF++-- | Complete all FDF forms in the given map, keyed by identifiers (@T1@, @428@, @Schedule9@, etc). The inter-form+-- field references are resolved as well.+completeForms :: Province.Code -> FDFs -> Either String FDFs+completeForms Province.AB = FDF.mapForms AB.returnFields AB.fixReturns+completeForms Province.BC = FDF.mapForms BC.returnFields BC.fixReturns+completeForms Province.MB = FDF.mapForms MB.returnFields MB.fixReturns+completeForms Province.ON = FDF.mapForms ON.returnFields ON.fixReturns+completeForms p = FDF.mapForms (Federal.formFieldsForProvince p) fixFederalForms
+ src/Tax/Canada/Federal.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++-- | The federal income tax forms++module Tax.Canada.Federal (Forms(..), fixFederalForms, formFieldsForProvince) where++import Control.Applicative ((<|>))+import Data.CAProvinceCodes qualified as Province+import Data.Fixed (Centi)+import Data.Text (Text)+import Data.Time (Day)+import Rank2 qualified+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Federal.Schedule6 qualified as Schedule6+import Tax.Canada.Federal.Schedule6 (Schedule6, fixSchedule6, schedule6Fields)+import Tax.Canada.Federal.Schedule7 qualified+import Tax.Canada.Federal.Schedule7 (Schedule7, fixSchedule7, schedule7Fields)+import Tax.Canada.Federal.Schedule9 (Schedule9(line23_sum), fixSchedule9, schedule9Fields)+import Tax.Canada.Federal.Schedule11 (Schedule11(page1), Page1(line5_trainingClaim, line17_sum), fixSchedule11, schedule11Fields)+import Tax.Canada.T1 (fixT1, t1FieldsForProvince)+import Tax.Canada.T1.Types (T1(page4, page6, page8),+                            Page4(line_20800_RRSPDeduction), Page6(line32300, line34900), Page8(step6_RefundOrBalanceOwing),+                            Page8Step6(line_45300_CWB, line_45350_CTC), LanguageOfCorrespondence, MaritalStatus)+import Tax.FDF (Entry (Amount), FieldConst (Field), within)+import Tax.Util (fixEq)++-- | All supported federal forms+data Forms line = Forms{+   t1 :: T1 line,+   schedule6 :: Schedule6 line,+   schedule7 :: Schedule7 line,+   schedule9 :: Schedule9 line,+   schedule11 :: Schedule11 line}++deriving instance (Show (line Bool), Show (line Centi), Show (line Word), Show (line Text),+                   Show (line Rational), Show (line Province.Code), Show (line Day),+                   Show (line LanguageOfCorrespondence), Show (line MaritalStatus))+               => Show (Forms line)+deriving instance (Eq (line Bool), Eq (line Centi), Eq (line Word), Eq (line Text),+                   Eq (line Rational), Eq (line Province.Code), Eq (line Day),+                   Eq (line LanguageOfCorrespondence), Eq (line MaritalStatus))+               => Eq (Forms line)++Rank2.TH.deriveAll ''Forms+Transformation.Shallow.TH.deriveAll ''Forms++-- | Complete all the federal forms, also handling the inter-form field references.+fixFederalForms :: Forms Maybe -> Forms Maybe+fixFederalForms = fixEq $ \Forms{t1, schedule6, schedule7, schedule9, schedule11}-> Forms{+   t1 = fixT1 t1{page4 = t1.page4{line_20800_RRSPDeduction = schedule7.page3.partC.line20_deduction},+                 page6 = t1.page6{line32300 = schedule11.page1.line17_sum, line34900 = schedule9.line23_sum},+                 page8 = t1.page8{step6_RefundOrBalanceOwing =+                                  t1.page8.step6_RefundOrBalanceOwing{line_45300_CWB = schedule6.page4.step3.line42_sum <|>+                                                                                       schedule6.page4.step2.line28_difference,+                                                                      line_45350_CTC = schedule11.page1.line5_trainingClaim}}},+   schedule6 = fixSchedule6 Nothing t1 schedule6,+   schedule7 = fixSchedule7 t1 schedule7,+   schedule9 = fixSchedule9 t1 schedule9,+   schedule11 = fixSchedule11 t1 schedule11}++-- | The paths of all the fields in all federal forms, with the form key added as the head of every field path.+formFieldsForProvince :: Province.Code -> Forms FieldConst+formFieldsForProvince p = Forms{+  t1 = within "T1" Rank2.<$> t1FieldsForProvince p,+  schedule6 = within "Schedule6" Rank2.<$> schedule6Fields,+  schedule7 = within "Schedule7" Rank2.<$> schedule7Fields,+  schedule9 = within "Schedule9" Rank2.<$> schedule9Fields,+  schedule11 = within "Schedule11" Rank2.<$> schedule11Fields}
+ src/Tax/Canada/Federal/Schedule11.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Federal.Schedule11 where++import Data.Fixed (Centi)+import Data.Text (Text)+import Language.Haskell.TH qualified as TH+import Rank2 qualified+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Shared (SubCalculation(result), fixSubCalculation, subCalculationFields)+import Tax.Canada.T1.Types (T1)+import Tax.Canada.T1.Types qualified+import Tax.FDF (Entry (Amount, Checkbox, Count), FieldConst (Field), within)+import Tax.Util (fixEq, fractionOf, difference, nonNegativeDifference, totalOf)++data Schedule11 line = Schedule11{+   page1 :: Page1 line,+   page2 :: Page2 line}++data Page1 line = Page1{+   line_32000_tuition :: line Centi,+   line2_copy :: line Centi,+   line2_fraction :: line Centi,+   line3_limit :: line Centi,+   line4_min :: line Centi,+   line5_trainingClaim :: line Centi,+   line6_difference :: line Centi,+   line_32001_eligible :: line Centi,+   line8_sum :: line Centi,+   line9_pastUnused :: line Centi,+   line10_sum :: line Centi,+   line11_copy :: line Centi,+   line11_numerator :: line Centi,+   line12_copy :: line Centi,+   line13_difference :: line Centi,+   line14_minUnused :: SubCalculation line,+   line15_difference :: line Centi,+   line16_min :: line Centi,+   line17_sum :: line Centi}++data Page2 line = Page2{+   line_32005_diability :: line Bool,+   line_32010_partTimeMonths :: line Word,+   line_32020_fullTimeMonths :: line Word,+   line18_copy :: line Centi,+   line19_copy :: line Centi,+   line20_difference :: line Centi,+   line21_copy :: line Centi,+   line22_copy :: line Centi,+   line23_difference :: line Centi,+   line24_transferred :: line Centi,+   line25_difference :: line Centi}++$(foldMap+   (\t-> concat <$> sequenceA [+       [d|+           deriving instance (Show (line Bool), Show (line Centi),+                              Show (line Rational), Show (line Word)) => Show ($(TH.conT t) line)+           deriving instance (Eq (line Bool), Eq (line Centi),+                              Eq (line Rational), Eq (line Word)) => Eq ($(TH.conT t) line)+       |],+       Rank2.TH.deriveAll t,+       Transformation.Shallow.TH.deriveAll t])+   [''Schedule11, ''Page1, ''Page2])++fixSchedule11 :: T1 Maybe -> Schedule11 Maybe -> Schedule11 Maybe+fixSchedule11 t1 = fixEq $ \Schedule11{page1 = page1@Page1{..}, page2 = page2@Page2{..}} -> Schedule11{+   page1 = page1{+      line2_copy = line_32000_tuition,+      line2_fraction = (0.5 *) <$> line2_copy,+      line4_min = minimum [line2_fraction, line3_limit],+      line6_difference = difference line_32000_tuition line5_trainingClaim,+      line8_sum = totalOf [line6_difference, line_32001_eligible],+      line10_sum = totalOf [line9_pastUnused, line8_sum],+      line11_copy = if taxableIncomeUnderThreshold then Nothing else t1.page7.partC_NetFederalTax.line116,+      line11_numerator = if taxableIncomeUnderThreshold then taxableIncome else (/ 0.15) <$> line11_copy,+      line12_copy = t1.page6.line99,+      line13_difference = nonNegativeDifference line11_numerator line12_copy,+      line14_minUnused = fixSubCalculation $ minimum [line9_pastUnused, line13_difference],+      line15_difference = difference line13_difference line14_minUnused.result,+      line16_min = minimum [line8_sum, line15_difference],+      line17_sum = totalOf [line14_minUnused.result, line16_min]},+   page2 = page2{+      line18_copy = line10_sum,+      line19_copy = line17_sum,+      line20_difference = difference line18_copy line19_copy,+      line21_copy = min 5000 <$> line8_sum,+      line22_copy = line16_min,+      line23_difference = nonNegativeDifference line21_copy line22_copy,+      line25_difference = nonNegativeDifference line20_difference line24_transferred}}+   where taxableIncome = t1.page5.step4_TaxableIncome.line_26000_TaxableIncome+         taxableIncomeUnderThreshold = taxableIncome <= Just 50_197++schedule11Fields :: Schedule11 FieldConst+schedule11Fields = within "form1" Rank2.<$> Schedule11 {+   page1 = page1Fields,+   page2 = page2Fields}++page1Fields :: Page1 FieldConst+page1Fields = within "Page1"  . within "YourTuition" Rank2.<$> Page1 {+   line_32000_tuition = Field ["Line1", "Amount2"] Amount,+   line2_copy = Field ["Line2", "Amount1"] Amount,+   line2_fraction = Field ["Line2", "Amount2"] Amount,+   line3_limit = Field ["Line3", "Amount4"] Amount,+   line4_min = Field ["Line4", "Amount5"] Amount,+   line5_trainingClaim = Field ["Line5", "Amount6"] Amount,+   line6_difference = Field ["Line6", "Amount7"] Amount,+   line_32001_eligible = Field ["Line7", "Amount8"] Amount,+   line8_sum = Field ["Line8", "Amount1"] Amount,+   line9_pastUnused = Field ["Line9", "Amount1"] Amount,+   line10_sum = Field ["Line10", "Amount10"] Amount,+   line11_copy = Field ["Line11", "Line11", "Amount11"] Amount,+   line11_numerator = Field ["Line11", "Amount11"] Amount,+   line12_copy = Field ["Line12", "Amount12"] Amount,+   line13_difference = Field ["Line13", "Amount13"] Amount,+   line14_minUnused = subCalculationFields "Line14" ["Amount1"] ["Amount14"],+   line15_difference = Field ["Line15", "Amount15"] Amount,+   line16_min = Field ["Line16", "Amount16"] Amount,+   line17_sum = Field ["Line17", "Amount17"] Amount}++page2Fields :: Page2 FieldConst+page2Fields = within "Page2" Rank2.<$> Page2 {+   line_32005_diability = Field ["Enrolment", "Line32005", "CheckBox"] Checkbox,+   line_32010_partTimeMonths = Field ["Enrolment", "Line32010", "parttime_Months"] Count,+   line_32020_fullTimeMonths = Field ["Enrolment", "Line32020", "Fulltime_Months"] Count,+   line18_copy = Field ["Transfer_CF", "Line18", "Amount18"] Amount,+   line19_copy = Field ["Transfer_CF", "Line19", "Amount19"] Amount,+   line20_difference = Field ["Transfer_CF", "Line20", "Amount20"] Amount,+   line21_copy = Field ["Transfer_CF", "Line21", "Amount21"] Amount,+   line22_copy = Field ["Transfer_CF", "Line22", "Amount22"] Amount,+   line23_difference = Field ["Transfer_CF", "Line23", "Amount22"] Amount,+   line24_transferred = Field ["Transfer_CF", "Line24", "Amount24"] Amount,+   line25_difference = Field ["Transfer_CF", "Line25", "Amount25"] Amount}
+ src/Tax/Canada/Federal/Schedule6.hs view
@@ -0,0 +1,254 @@+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Federal.Schedule6 where++import Data.Fixed (Centi)+import Data.Text (Text)+import Language.Haskell.TH qualified as TH+import Rank2 qualified+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Shared (SubCalculation(SubCalculation, calculation, result), fixSubCalculation, subCalculationFields)+import Tax.Canada.T1.Types (T1)+import Tax.Canada.T1.Types qualified as T1+import Tax.FDF (Entry (Amount, Constant, Percent, Switch'), FieldConst (Field), within)+import Tax.Util (fixEq, fractionOf, difference, nonNegativeDifference, totalOf)++data Schedule6 line = Schedule6{+   page2 :: Page2 line,+   page3 :: Page3 line,+   page4 :: Page4 line}++data Page2 line = Page2{+   questions :: Questions line,+   partA_self :: PartAColumn line,+   partA_spouse :: PartAColumn line,+   line6_sum :: line Centi}++data Questions line = Questions{+   line_38100 :: line Bool,+   line_38101 :: line Bool,+   line_38102 :: line Bool,+   line_38103 :: line Bool,+   line_38104 :: line Bool,+   line_38105 :: line Bool}++data PartAColumn line = PartAColumn{+   line1_employmentIncome_copy :: line Centi,+   line_38106_grants_copy :: line Centi,+   line3_selfEmploymentIncome_sum :: line Centi,+   line_38107_exemptIncome :: line Centi,+   line_38108_sum :: line Centi}++data Page3 line = Page3{+   partB_self :: PartBColumn line,+   partB_spouse :: PartBColumn line,+   line13_sum :: line Centi,+   line14_least :: line Centi,+   line15_difference :: line Centi}++data PartBColumn line = PartBColumn{+   line7_netIncome_copy :: line Centi,+   line_38109_exempt :: line Centi,+   line9_uccbRdspRepayments :: line Centi,+   line10_sum :: line Centi,+   line11_uccbRdspIncome :: line Centi,+   line_38110_difference :: line Centi}++data Page4 line = Page4{+   step2 :: Step2 line,+   step3 :: Step3 line}++data Step2 line = Step2{+   line16_copy :: line Centi,+   line17_threshold :: line Centi,+   line18_difference :: line Centi,+   line19_rate :: line Rational,+   line20_fraction :: line Centi,+   line21_ceiling :: line Centi,+   line22_least :: line Centi,+   line23_copy :: line Centi,+   line24_threshold :: line Centi,+   line25_difference :: line Centi,+   line26_rate :: line Rational,+   line27_fraction :: SubCalculation line,+   line28_difference :: line Centi}++data Step3 line = Step3{+   line29_copy :: line Centi,+   line30_threshold :: line Centi,+   line31_difference :: line Centi,+   line32_rate :: line Rational,+   line33_fraction :: line Centi,+   line34_capped :: line Centi,+   line35_copy :: line Centi,+   line36_threshold :: line Centi,+   line37_difference :: line Centi,+   line38_rate :: line Rational,+   line39_fraction :: SubCalculation line,+   line40_difference :: line Centi,+   line41_copy :: line Centi,+   line42_sum :: line Centi}++$(foldMap+   (\t-> concat <$> sequenceA [+       [d|+           deriving instance (Show (line Bool), Show (line Centi), Show (line Rational)) => Show ($(TH.conT t) line)+           deriving instance (Eq (line Bool), Eq (line Centi), Eq (line Rational)) => Eq ($(TH.conT t) line)+       |],+       Rank2.TH.deriveAll t,+       Transformation.Shallow.TH.deriveAll t])+   [''Schedule6, ''Page2, ''Page3, ''Page4, ''Questions, ''PartAColumn, ''PartBColumn, ''Step2, ''Step3])++fixSchedule6 :: Maybe (T1 Maybe) -> T1 Maybe -> Schedule6 Maybe -> Schedule6 Maybe+fixSchedule6 t1spouse t1  =+   fixEq $ \Schedule6{page2, page3, page4=Page4{step2, step3}} ->+            let eitherEligible = or page2.questions.line_38100 || or page2.questions.line_38101 in Schedule6{+   page2 = Page2{+      questions = page2.questions,+      partA_self = fixPartAColumn t1 page2.partA_self,+      partA_spouse = maybe id fixPartAColumn t1spouse page2.partA_spouse,+      line6_sum = totalOf [page2.partA_self.line_38108_sum, page2.partA_spouse.line_38108_sum]},+   page3 = let Page3{..} = page3 in Page3{+      partB_self = fixPartBColumn t1 partB_self,+      partB_spouse = maybe id fixPartBColumn t1spouse partB_spouse,+      line13_sum = totalOf [partB_self.line_38110_difference, partB_spouse.line_38110_difference],+      line14_least = min 15_239 <$>+                     if or ((<) <$> page2.partA_self.line_38108_sum <*> page2.partA_spouse.line_38108_sum)+                     then min page2.partA_self.line_38108_sum partB_self.line_38110_difference+                     else min page2.partA_spouse.line_38108_sum partB_spouse.line_38110_difference,+      line15_difference = difference line13_sum line14_least},+   page4 = Page4{+      step2 = if all not page2.questions.line_38102 then Rank2.pure Nothing else let Step2{..} = step2 in step2{+         line16_copy = page2.line6_sum,+         line18_difference = nonNegativeDifference line16_copy line17_threshold,+         line20_fraction = line19_rate `fractionOf` line18_difference,+         line21_ceiling = if eitherEligible then Just 2_616 else Just 1_518,+         line22_least = min line20_fraction line21_ceiling,+         line23_copy = page3.line15_difference,+         line24_threshold = if eitherEligible then Just 28_494 else Just 24_975,+         line25_difference = nonNegativeDifference line23_copy line24_threshold,+         line27_fraction = fixSubCalculation $ line26_rate `fractionOf` line25_difference,+         line28_difference = nonNegativeDifference line22_least line27_fraction.result},+      step3 = if all not page2.questions.line_38103 then Rank2.pure Nothing else let Step3{..} = step3 in step3{+         line29_copy = page2.partA_self.line_38108_sum,+         line31_difference = nonNegativeDifference line29_copy line30_threshold,+         line33_fraction = line32_rate `fractionOf` line31_difference,+         line34_capped = min 784 <$> line33_fraction,+         line35_copy = page3.line15_difference,+         line36_threshold = if eitherEligible then Just 45_932 else Just 35_098,+         line37_difference = nonNegativeDifference line35_copy line36_threshold,+         line38_rate = if or page2.questions.line_38104 then Just 0.075 else Just 0.15,+         line39_fraction = fixSubCalculation $ line38_rate `fractionOf` line37_difference,+         line40_difference = nonNegativeDifference line34_capped line39_fraction.result,+         line41_copy = if or page2.questions.line_38102 then step2.line28_difference else Just 0,+         line42_sum = totalOf [line40_difference, line41_copy]}}}++fixPartAColumn :: T1 Maybe -> PartAColumn Maybe -> PartAColumn Maybe+fixPartAColumn t1 PartAColumn{..} = PartAColumn{+   line1_employmentIncome_copy =+      totalOf [t1.page3.line_10100_EmploymentIncome, t1.page3.line_10400_OtherEmploymentIncome],+   line_38106_grants_copy = t1.page3.line_13010_TaxableScholarship,+   line3_selfEmploymentIncome_sum =+      let T1.SelfEmploymentIncome{..} = t1.page3.selfEmployment+      in totalOf [line_13500_Amount, line_13700_Amount, line_13900_Amount, line_14100_Amount, line_14300_Amount],+   line_38107_exemptIncome = line_38107_exemptIncome,+   line_38108_sum = totalOf [line1_employmentIncome_copy, line_38106_grants_copy,+                              line3_selfEmploymentIncome_sum, line_38107_exemptIncome]}++fixPartBColumn :: T1 Maybe -> PartBColumn Maybe -> PartBColumn Maybe+fixPartBColumn t1 column@PartBColumn{..} = column{+      line7_netIncome_copy = t1.page4.line_23600_NetIncome,+--      line9_uccbRdspRepayments = totalOf [t1.page4.line_21300_UCCBRepayment, t1.page4.line_23200],+      line10_sum = totalOf [line7_netIncome_copy, line_38109_exempt, line9_uccbRdspRepayments],+      line11_uccbRdspIncome = totalOf [t1.page3.line_11700_UCCB, t1.page3.line_12500_RDSP],+      line_38110_difference = nonNegativeDifference line10_sum line11_uccbRdspIncome}++schedule6Fields :: Schedule6 FieldConst+schedule6Fields = within "form1" Rank2.<$> Schedule6{+   page2 = within "Page2" Rank2.<$> Page2{+      questions = within "Step1_tickboxes" . within "Questions" Rank2.<$> Questions{+         line_38100 = Field ["Line38100", "Line38100_CheckBoxGroup"] $ Switch' "Line38100_CheckBox_EN",+         line_38101 = Field ["Line38101", "Line38101_CheckBoxGroup"] $ Switch' "Line38101_CheckBox_EN",+         line_38102 = Field ["Line38102", "Line38102_CheckBoxGroup"] $ Switch' "Line38102_CheckBox_EN",+         line_38103 = Field ["Line38103", "Line38103_CheckBoxGroup"] $ Switch' "Line38103_CheckBox_EN",+         line_38104 = Field ["Line38104", "Line38104_CheckBoxGroup"] $ Switch' "Line38104_CheckBox_EN",+         line_38105 = Field ["Line38105", "Line38105_CheckBoxGroup"] $ Switch' "Line38105_CheckBox_EN"},+      partA_self = within "PartA" . within "Chart" Rank2.<$> PartAColumn{+         line1_employmentIncome_copy = Field ["Line1", "Amount1", "Amount"] Amount,+         line_38106_grants_copy = Field ["Line2", "Amount1", "Amount"] Amount,+         line3_selfEmploymentIncome_sum = Field ["Line3", "Amount1", "Amount"] Amount,+         line_38107_exemptIncome = Field ["line4", "Amount1", "Amount"] Amount,+         line_38108_sum = Field ["Line5_Sub", "Amount1", "Amount"] Amount},+      partA_spouse = within "PartA" . within "Chart" Rank2.<$> PartAColumn{+         line1_employmentIncome_copy = Field ["Line1", "Amount2", "Amount"] Amount,+         line_38106_grants_copy = Field ["Line2", "Amount2", "Amount"] Amount,+         line3_selfEmploymentIncome_sum = Field ["Line3", "Amount2", "Amount"] Amount,+         line_38107_exemptIncome = Field ["line4", "Amount2", "Amount"] Amount,+         line_38108_sum = Field ["Line5_Sub", "Amount2", "Amount"] Amount},+      line6_sum = Field ["PartA", "Line6", "Amount"] Amount},+   page3 = within "Page3" . within "PartB" Rank2.<$> Page3{+      partB_self = within "Chart" Rank2.<$> PartBColumn{+         line7_netIncome_copy = Field ["Line7", "Amount1", "Amount"] Amount,+         line_38109_exempt = Field ["Line8", "Amount1", "Amount"] Amount,+         line9_uccbRdspRepayments = Field ["Line9", "Amount1", "Amount"] Amount,+         line10_sum = Field ["Line10", "Amount1", "Amount"] Amount,+         line11_uccbRdspIncome = Field ["Line11", "Amount1", "Amount"] Amount,+         line_38110_difference = Field ["Line12", "Amount1", "Amount"] Amount},+      partB_spouse = within "Chart" Rank2.<$> PartBColumn{+         line7_netIncome_copy = Field ["Line7", "Amount2", "Amount"] Amount,+         line_38109_exempt = Field ["Line8", "Amount2", "Amount"] Amount,+         line9_uccbRdspRepayments = Field ["Line9", "Amount2", "Amount"] Amount,+         line10_sum = Field ["Line10", "Amount2", "Amount"] Amount,+         line11_uccbRdspIncome = Field ["Line11", "Amount2", "Amount"] Amount,+         line_38110_difference = Field ["Line12", "Amount2", "Amount"] Amount},+      line13_sum = Field ["Line13", "Amount"] Amount,+      line14_least = Field ["Line14", "Amount"] Amount,+      line15_difference = Field ["Line15", "Amount"] Amount},+   page4 = within "Page4" Rank2.<$> Page4{+      step2 = within "Step2" Rank2.<$> Step2{+         line16_copy = Field ["Line16", "Amount"] Amount,+         line17_threshold = Field ["Line17", "Amount"] $ Constant 3_000 Amount,+         line18_difference = Field ["Line18", "Amount"] Amount,+         line19_rate = Field ["Line19", "Percent"] $ Constant 0.27 Percent,+         line20_fraction = Field ["Line20", "Amount"] Amount,+         line21_ceiling = Field ["Line21", "Amount"] Amount,+         line22_least = Field ["Line22", "Amount"] Amount,+         line23_copy = Field ["Line23", "Amount"] Amount,+         line24_threshold = Field ["Line24", "Amount"] Amount,+         line25_difference = Field ["Line25", "Amount"] Amount,+         line26_rate = Field ["Line26", "Percent"] $ Constant 0.15 Percent,+         line27_fraction = subCalculationFields "Line27" ["Amount1"] ["Amount2"],+         line28_difference = Field ["Line28", "Amount"] Amount},+      step3 = within "Step3" Rank2.<$> Step3{+         line29_copy = Field ["Line29", "Amount"] Amount,+         line30_threshold = Field ["Line30", "Amount"] $ Constant 1_150 Amount,+         line31_difference = Field ["Line31", "Amount"] Amount,+         line32_rate = Field ["Line32", "Percent"] $ Constant 0.27 Percent,+         line33_fraction = Field ["Line33", "Amount"] Amount,+         line34_capped = Field ["Line34", "Amount"] Amount,+         line35_copy = Field ["Line35", "Amount"] Amount,+         line36_threshold = Field ["Line36", "Amount"] Amount,+         line37_difference = Field ["Line37", "Amount"] Amount,+         line38_rate = Field ["Line38", "Percent"] Percent,+         line39_fraction = subCalculationFields "Line39" ["Amount1"] ["Amount2"],+         line40_difference = Field ["Line40", "Amount"] Amount,+         line41_copy = Field ["Line41", "Amount"] Amount,+         line42_sum = Field ["Line42", "Amount"] Amount}}}+
+ src/Tax/Canada/Federal/Schedule7.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Federal.Schedule7 where++import Data.Fixed (Centi)+import Data.Text (Text)+import Language.Haskell.TH qualified as TH+import Rank2 qualified+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Shared (SubCalculation(SubCalculation, result), fixSubCalculation, subCalculationFields)+import Tax.Canada.T1.Types (T1)+import Tax.Canada.T1.Types qualified as T1+import Tax.FDF (Entry (Amount, Checkbox), FieldConst (Field), within)+import Tax.Util (fixEq, fractionOf, difference, nonNegativeDifference, totalOf)++data Schedule7 line = Schedule7{+   page2 :: Page2 line,+   page3 :: Page3 line,+   page4 :: Page4 line}++data Page2 line = Page2{+   line1_pastUnused :: line Centi,+   line2_pastYearContributions :: line Centi,+   line3_thisYearContributions :: line Centi,+   line_24500_contributions_sum :: SubCalculation line,+   line5_sum :: line Centi}++data Page3 line = Page3{+   partB :: PartB line,+   partC :: PartC line}++data PartB line = PartB{+   line6_contributions_copy :: line Centi,+   line_24600_hbp :: line Centi,+   line_24620_llp :: line Centi,+   line9_repayments_sum :: SubCalculation line,+   line10_difference :: line Centi}++data PartC line = PartC{+   line11_deductionLimit :: line Centi,+   line12_prpp_copy :: line Centi,+   line13_difference :: line Centi,+   line14_copy :: line Centi,+   line_24640_transfers :: line Centi,+   line15_cont :: line Centi,+   line16_difference :: line Centi,+   line17_lesser :: line Centi,+   line18_deducting :: line Centi,+   line19_sum :: line Centi,+   line20_deduction :: line Centi}++data Page4 line = Page4{+   partD :: PartD line,+   partE :: PartE line,+   line_26700_athleteTrust :: line Centi}++data PartD line = PartD{+   line21_copy :: line Centi,+   line22_copy :: line Centi,+   line23_difference :: line Centi}++data PartE line = PartE{+   line_24700_hbp :: line Centi,+   line_25900_hbpSame :: line Bool,+   line_26300_llp :: line Centi,+   line_26400_llpSpouse :: line Bool}++$(foldMap+   (\t-> concat <$> sequenceA [+       [d|+           deriving instance (Show (line Bool), Show (line Centi), Show (line Rational)) => Show ($(TH.conT t) line)+           deriving instance (Eq (line Bool), Eq (line Centi), Eq (line Rational)) => Eq ($(TH.conT t) line)+       |],+       Rank2.TH.deriveAll t,+       Transformation.Shallow.TH.deriveAll t])+   [''Schedule7, ''Page2, ''Page3, ''Page4, ''PartB, ''PartC, ''PartD, ''PartE])++fixSchedule7 :: T1 Maybe -> Schedule7 Maybe -> Schedule7 Maybe+fixSchedule7 t1  = fixEq $ \Schedule7{page2, page3, page4} -> Schedule7{+   page2 = let Page2{..} = page2 in page2{+      line_24500_contributions_sum = fixSubCalculation $ totalOf [line2_pastYearContributions, line3_thisYearContributions],+      line5_sum = totalOf [line1_pastUnused, line_24500_contributions_sum.result]},+   page3 = let Page3{partB = partB@PartB{..}, partC = partC@PartC{..}} = page3 in Page3{+      partB = partB{+         line6_contributions_copy = page2.line5_sum,+         line9_repayments_sum = fixSubCalculation $ totalOf [line_24600_hbp, line_24620_llp],+         line10_difference = difference line6_contributions_copy line9_repayments_sum.result},+      partC = partC{+         line12_prpp_copy = t1.page4.line_20810_PRPP,+         line13_difference = difference line11_deductionLimit line12_prpp_copy,+         line14_copy = partB.line10_difference,+         line15_cont = line_24640_transfers,+         line16_difference = difference line14_copy line15_cont,+         line17_lesser = min line13_difference line16_difference,+         line19_sum = totalOf [line15_cont, line18_deducting],+         line20_deduction = min line10_difference line19_sum}},+   page4 = page4{+      partD = let PartD{line21_copy, line22_copy} = page4.partD in PartD{+         line21_copy = page3.partB.line10_difference,+         line22_copy = page3.partC.line20_deduction,+         line23_difference = difference line21_copy line22_copy}}}++schedule7Fields :: Schedule7 FieldConst+schedule7Fields = within "form1" Rank2.<$> Schedule7{+   page2 = within "Page2" . within "PartA" Rank2.<$> Page2{+      line1_pastUnused = Field ["Line1", "Amount"] Amount,+      line2_pastYearContributions = Field ["Line2", "Amount"] Amount,+      line3_thisYearContributions = Field ["Line3", "Amount"] Amount,+      line_24500_contributions_sum = subCalculationFields "Line4" ["Amount1"] ["Amount2"],+      line5_sum = Field ["Line5", "Amount"] Amount},+   page3 = within "Page3" Rank2.<$> Page3{+      partB = within "PartB" Rank2.<$> PartB{+         line6_contributions_copy = Field ["Line6", "Amount"] Amount,+         line_24600_hbp = Field ["Line7", "Amount"] Amount,+         line_24620_llp = Field ["Line8", "Amount"] Amount,+         line9_repayments_sum = subCalculationFields "Line9" ["Amount1"] ["Amount2"],+         line10_difference = Field ["Line10", "Amount"] Amount},+      partC = within "PartC" Rank2.<$> PartC{+         line11_deductionLimit = Field ["Line11", "Amount"] Amount,+         line12_prpp_copy = Field ["Line12", "Amount"] Amount,+         line13_difference = Field ["Line13", "Amount"] Amount,+         line14_copy = Field ["Line14", "Amount"] Amount,+         line_24640_transfers = Field ["Line15", "Amount1"] Amount,+         line15_cont = Field ["Line15", "Amount2"] Amount,+         line16_difference = Field ["Line16", "Amount"] Amount,+         line17_lesser = Field ["Line17", "Amount"] Amount,+         line18_deducting = Field ["Line18", "Amount"] Amount,+         line19_sum = Field ["Line19", "Amount"] Amount,+         line20_deduction = Field ["Line20", "Amount"] Amount}},+   page4 = within "Page4" Rank2.<$> Page4{+      partD = within "PartD" Rank2.<$> PartD{+         line21_copy = Field ["Line22", "Amount"] Amount,+         line22_copy = Field ["Line23", "Amount"] Amount,+         line23_difference = Field ["Line24", "Amount"] Amount},+      partE = within "PartE" Rank2.<$> PartE{+         line_24700_hbp = Field ["Line25", "Amount"] Amount,+         line_25900_hbpSame = Field ["Line26", "Box_Line25"] Checkbox,+         line_26300_llp = Field ["Line27", "Amount"] Amount,+         line_26400_llpSpouse = Field ["Line28", "Box_Line27"] Checkbox},+      line_26700_athleteTrust = Field ["PartF", "Line29", "Amount"] Amount}}
+ src/Tax/Canada/Federal/Schedule9.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Federal.Schedule9 where++import Data.Fixed (Centi)+import Data.Text (Text)+import Rank2 qualified+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.T1.Types (T1)+import Tax.Canada.T1.Types qualified+import Tax.FDF (Entry (Amount, Constant), FieldConst (Field), within)+import Tax.Util (fixEq, fractionOf, difference, nonNegativeDifference, totalOf)++data Schedule9 line = Schedule9{+   line1_charities :: line Centi,+   line_32900_government :: line Centi,+   line_33300_universities :: line Centi,+   line_33400_UN :: line Centi,+   line5_sum :: line Centi,+   line6_copy :: line Centi,+   line6_fraction :: line Centi,+   line_33700_depreciable :: line Centi,+   line_33900_capital :: line Centi,+   line7_sum :: line Centi,+   line7_fraction :: line Centi,+   line8_sum :: line Centi,+   line9_limit :: line Centi,+   line_34000_allowable :: line Centi,+   line_34200_ecocultural :: line Centi,+   line12_sum :: line Centi,+   line13_min :: line Centi,+   line14_difference :: line Centi,+   line_34210_ecological :: line Centi,+   line16_difference :: line Centi,+   line17_copy :: line Centi,+   line18_threshold :: line Centi,+   line19_difference :: line Centi,+   lineE_copy :: line Centi,+   line20_min :: line Centi,+   line20_fraction :: line Centi,+   line21_difference :: line Centi,+   line21_fraction :: line Centi,+   line22_copy :: line Centi,+   line22_fraction :: line Centi,+   line23_sum :: line Centi}++deriving instance Show (line Centi) => Show (Schedule9 line)+deriving instance Eq (line Centi) => Eq (Schedule9 line)++Rank2.TH.deriveAll ''Schedule9+Transformation.Shallow.TH.deriveAll ''Schedule9++fixSchedule9 :: T1 Maybe -> Schedule9 Maybe -> Schedule9 Maybe+fixSchedule9 t1 = fixEq $ \form@Schedule9{..} -> form{+   line5_sum = totalOf [line1_charities, line_32900_government, line_33300_universities, line_33400_UN],+   line6_copy = t1.page4.line_23600_NetIncome,+   line6_fraction = (0.75 *) <$> line6_copy,+   line7_sum = totalOf [line_33700_depreciable, line_33900_capital],+   line7_fraction = (0.25 *) <$> line7_sum,+   line8_sum = totalOf [line6_fraction, line7_fraction],+   line9_limit = minimum [line6_copy, line8_sum],+   line_34000_allowable = minimum [line5_sum, line9_limit],+   line12_sum = totalOf [line_34000_allowable, line_34200_ecocultural],+   line13_min = minimum [line12_sum, Just 200],+   line14_difference = difference line12_sum line13_min,+   line16_difference = nonNegativeDifference line14_difference line_34210_ecological,+   line17_copy = t1.page5.step4_TaxableIncome.line_26000_TaxableIncome,+   line19_difference = nonNegativeDifference line17_copy line18_threshold,+   lineE_copy = line14_difference,+   line20_min = minimum [line16_difference, line19_difference],+   line20_fraction = (0.33 *) <$> line20_min,+   line21_difference = difference lineE_copy line20_min,+   line21_fraction = (0.29 *) <$> line21_difference,+   line22_copy = line13_min,+   line22_fraction = (0.15 *) <$> line22_copy,+   line23_sum = totalOf [line20_fraction, line21_fraction, line22_fraction]}++schedule9Fields :: Schedule9 FieldConst+schedule9Fields = within "form1" . within "Page1" Rank2.<$> Schedule9 {+   line1_charities = Field ["Line1", "Amount"] Amount,+   line_32900_government = Field ["Line2", "Amount"] Amount,+   line_33300_universities = Field ["Line3", "Amount"] Amount,+   line_33400_UN = Field ["Line4", "Amount"] Amount,+   line5_sum = Field ["Line5", "Amount"] Amount,+   line6_copy = Field ["Line6", "AmountA", "Amount"] Amount,+   line6_fraction = Field ["Line6", "Amount"] Amount,+   line_33700_depreciable = Field ["AmountB", "Amount"] Amount,+   line_33900_capital = Field ["AmountC", "Amount"] Amount,+   line7_sum = Field ["Line7", "AmountD", "Amount"] Amount,+   line7_fraction = Field ["Line7", "Amount"] Amount,+   line8_sum = Field ["Line8", "Amount"] Amount,+   line9_limit = Field ["Line9", "Amount"] Amount,+   line_34000_allowable = Field ["Line10", "Amount"] Amount,+   line_34200_ecocultural = Field ["Line11", "Amount"] Amount,+   line12_sum = Field ["Line12", "Amount"] Amount,+   line13_min = Field ["Line13", "Amount_Line13"] Amount,+   line14_difference = Field ["Line14", "Amount_Line14"] Amount,+   line_34210_ecological = Field ["Line15", "Amount"] Amount,+   line16_difference = Field ["Line16", "NumWithoutCurrency"] Amount,+   line17_copy = Field ["Line17", "Amount"] Amount,+   line18_threshold = Field ["Line18", "Amount"] $ Constant 235_675 Amount,+   line19_difference = Field ["Line19", "Amount"] Amount,+   lineE_copy = Field ["AmountE", "Amount_Line14"] Amount,+   line20_min = Field ["Line20", "AmountF", "Amount"] Amount,+   line20_fraction = Field ["Line20", "Amount"] Amount,+   line21_difference = Field ["Line21", "AmountG", "Amount"] Amount,+   line21_fraction = Field ["Line21", "Amount"] Amount,+   line22_copy = Field ["Line22", "AmountH", "Amount_Line14"] Amount,+   line22_fraction = Field ["Line22", "Amount"] Amount,+   line23_sum = Field ["Line23", "Amount"] Amount}+
− src/Tax/Canada/ON428/FieldNames.hs
@@ -1,172 +0,0 @@-{-# LANGUAGE ImportQualifiedPost #-}-{-# LANGUAGE DisambiguateRecordFields #-}-{-# LANGUAGE NamedFieldPuns #-}-{-# LANGUAGE OverloadedStrings #-}--module Tax.Canada.ON428.FieldNames (on428Fields) where--import Data.Fixed (Centi)-import Rank2 qualified--import Tax.Canada.ON428.Types-import Tax.FDF (Entry (Count, Amount, Percent), FieldConst (Field), within)--on428Fields = within "form1" Rank2.<$> ON428 {-   page1 = within "Page1" Rank2.<$> page1Fields,-   page2 = within "Page2" Rank2.<$> page2Fields,-   page3 = within "Page3" Rank2.<$> page3Fields,-   page4 = within "Page4" Rank2.<$> page4Fields}---page1Fields = Page1 {-   line1 = Field ["Line1", "Amount"] Amount,-   partA = within "Chart" Rank2.<$> page1PartAFields,-   partB = within "Part_B" Rank2.<$> page1PartBFields}--page1PartAFields = Page1PartA {-   column1 = within "Column1" Rank2.<$> taxIncomeBracketFields,-   column2 = within "Column2" Rank2.<$> taxIncomeBracketFields,-   column3 = within "Column3" Rank2.<$> taxIncomeBracketFields,-   column4 = within "Column4" Rank2.<$> taxIncomeBracketFields,-   column5 = within "Column5" Rank2.<$> taxIncomeBracketFields}--taxIncomeBracketFields = TaxIncomeBracket {-   line2_income = Field ["Line2", "Amount"] Amount,-   line3_threshold = Field ["Line3", "Amount"] Amount,-   line4_overThreshold = Field ["Line4", "Amount"] Amount,-   line5_rate = Field ["Line5", "Percent"] Percent,-   line6_timesRate = Field ["Line6", "Amount"] Amount,-   line7_baseTax = Field ["Line7", "Amount"] Amount,-   line8_equalsTax = Field ["Line8", "Amount"] Amount}--page1PartBFields = Page1PartB {-   line9_basic = Field ["Line9", "Amount"] Amount,-   line10_age = Field ["Line10", "Amount"] Amount,-   line11_base = Field ["Spouse-Amount", "Line11", "Amount"] Amount,-   line12_spouseIncome = Field ["Spouse-Amount", "Line12", "Amount"] Amount,-   line13_difference = Field ["Spouse-Amount", "Line13", "Amount1"] Amount,-   line13_cont = Field ["Spouse-Amount", "Line13", "Amount2"] Amount,-   line14_base = Field ["Eligible-Dependant", "Line14", "Amount"] Amount,-   line15_dependentIncome = Field ["Eligible-Dependant", "Line15", "Amount"] Amount,-   line16_difference = Field ["Eligible-Dependant", "Line16", "Amount1"] Amount,-   line16_cont = Field ["Eligible-Dependant", "Line16", "Amount2"] Amount,-   line17_caregiver = Field ["Line17", "Amount"] Amount,-   line18 = Field ["Line18", "Amount"] Amount,-   line19_cppQpp = Field ["CPP-QPP", "Line19", "Amount"] Amount,-   line20_cppQpp = Field ["CPP-QPP", "Line20", "Amount"] Amount,-   line21_employmentInsurance = Field ["Employment-Insurance", "Line21", "Amount"] Amount,-   line22_employmentInsurance = Field ["Employment-Insurance", "Line22", "Amount"] Amount,-   line23_adoption = Field ["Line23", "Amount"] Amount,-   line24_sum = Field ["Line24", "Amount1"] Amount,-   line24_cont = Field ["Line24", "Amount2"] Amount,-   line25 = Field ["Line25", "Amount"] Amount}--page2Fields = Page2 {-  partB = page2PartBFields,-  partC = page2PartCFields}--page2PartBFields = Page2PartB {-   line26 = Field ["Line26", "Amount"] Amount,-   line27_pension = Field ["Line27", "Amount"] Amount,-   line28 = Field ["Line28", "Amount"] Amount,-   line29_disability = Field ["Line29", "Amount"] Amount,-   line30 = Field ["Line30", "Amount"] Amount,-   line31 = Field ["Line31", "Amount"] Amount,-   line32_interest = Field ["Line32", "Amount"] Amount,-   line33_education = Field ["Line33", "Amount"] Amount,-   line34_transferred = Field ["Line34", "Amount"] Amount,-   line35 = Field ["Line35", "Amount"] Amount,-   medicalExpenses = within "Medical-Expenses" Rank2.<$> medicalExpensesFields,-   line42 = Field ["Line42", "Amount"] Amount,-   line43_sum = Field ["Line43", "Amount1"] Amount,-   line43_cont = Field ["Line43", "Amount2"] Amount,-   line44 = Field ["Line44", "Amount"] Amount,-   line45_rate = Field ["Line45", "Percent_ReadOnly"] Percent,-   line46_fraction = Field ["Line46", "Amount"] Amount,-   donations = within "Donations" Rank2.<$> donationsFields,-   line50 = Field ["Line50", "Amount"] Amount}--medicalExpensesFields = MedicalExpenses {-   line36_expenses = Field ["Line36", "Amount"] Amount,-   line37_income = Field ["Line37", "Amount"] Amount,-   line38_rate = Field ["Line38", "Percent_ReadOnly"] Percent,-   line39_fraction = Field ["Line39", "Amount"] Amount,-   line40_lesser = Field ["Line40", "Amount"] Amount,-   line41_difference = Field ["Line41", "Amount"] Amount}--donationsFields = Donations {-   line47_base = Field ["Line47", "Amount1"] Amount,-   line47_fraction = Field ["Line47", "Amount2"] Amount,-   line48_base = Field ["Line48", "Amount1"] Amount,-   line48_fraction = Field ["Line48", "Amount2"] Amount,-   line49_sum = Field ["Line49", "Amount1"] Amount,-   line49_cont = Field ["Line49", "Amount2"] Amount}--page2PartCFields = Page2PartC {-   line51_tax = Field ["Line51", "Amount"] Amount,-   line52_credits = Field ["Line52", "Amount"] Amount,-   line53 = Field ["Line53", "Amount"] Amount,-   line54 = Field ["Line54", "Amount"] Amount,-   line55 = Field ["Line55", "Amount"] Amount,-   line56 = Field ["Min-Tax-Carryover", "Line56", "Amount"] Amount,-   line57 = Field ["Min-Tax-Carryover", "Line57", "Amount"] Amount,-   line58 = Field ["Min-Tax-Carryover", "Line58", "Amount"] Amount,-   line59_copy = Field ["Min-Tax-Carryover", "Line59", "Amount1"] Amount,-   line59_product = Field ["Min-Tax-Carryover", "Line59", "Amount2"] Amount,-   line60_lesser = Field ["Min-Tax-Carryover", "Line60", "Amount"] Amount,-   line61 = Field ["Line61", "Amount"] Amount}--page3Fields = Page3 {-   line62 = Field ["Line62", "Amount"] Amount,-   line63 = Field ["ON-Surtax", "Line63", "Amount"] Amount,-   line64 = Field ["ON-Surtax", "Line64", "Amount"] Amount,-   line65 = Field ["ON-Surtax", "Line65", "Amount"] Amount,-   line66_copy = Field ["Line66", "Amount1"] Amount,-   line66_surtax = Field ["Line66", "Amount2"] Amount,-   line67_copy = Field ["Line67", "Amount1"] Amount,-   line67_surtax = Field ["Line67", "Amount2"] Amount,-   line68_sum = Field ["Line68", "Amount1"] Amount,-   line68_cont = Field ["Line68", "Amount2"] Amount,-   line69 = Field ["Line69", "Amount2"] Amount,-   line70 = Field ["Line70", "Amount"] Amount,-   line71 = Field ["Line71", "Amount"] Amount,-   line72 = Field ["Line72", "Amount"] Amount,-   line73 = Field ["Line73", "Amount"] Amount,-   line74_basicReduction = Field ["Line74", "Amount"] Amount,-   line75_childrenNum = Field ["Line75", "Line_60969", "Number"] Count,-   line75_amount = Field ["Line75", "Amount"] Amount,-   line76_childrenNum = Field ["Line76", "Line_60970", "Number"] Count,-   line76_amount = Field ["Line76", "Amount"] Amount,-   line77 = Field ["Line77", "Amount"] Amount,-   line78_copy = Field ["Line78", "Amount1"] Amount,-   line78_product = Field ["Line78", "Amount2"] Amount,-   line79 = Field ["Line79", "Amount"] Amount,-   line80_difference = Field ["Line80", "Amount1"] Amount,-   line80_cont = Field ["Line80", "Amount2"] Amount,-   line81 = Field ["Line81", "Amount"] Amount,-   line82 = Field ["Line82", "Amount"] Amount,-   line83 = Field ["Line83", "Amount"] Amount}--page4Fields = Page4 {-   line84 = Field ["Line84", "Amount"] Amount,-   line85_lift = Field ["Line85", "Amount"] Amount,-   line86 = Field ["Line86", "Amount"] Amount,-   line87_foodDonations = Field ["Line87", "Line62150", "Amount1"] Amount,-   line87_fraction = Field ["Line87", "Amount2"] Amount,-   line88 = Field ["Line88", "Amount"] Amount,-   line89_health = Field ["Line89", "Amount"] Amount,-   line90 = Field ["Line90", "Amount"] Amount,-   healthPremium = within "ON_Health_Prenium-worksheet" . within "Chart_ON_Health_Prenium" Rank2.<$> healthPremiumFields}--healthPremiumFields = HealthPremium {-   row1 = within "Taxable_Line2" Rank2.<$> healthPremiumBracketFields{equalsTax = Field ["Amount3"] Amount},-   row2 = within "Taxable_Line4" Rank2.<$> healthPremiumBracketFields,-   row3 = within "Taxable_Line6" Rank2.<$> healthPremiumBracketFields,-   row4 = within "Taxable_Line8" Rank2.<$> healthPremiumBracketFields,-   row5 = within "Taxable_Line10" Rank2.<$> healthPremiumBracketFields}--healthPremiumBracketFields = HealthPremiumBracket {-   taxableIncome = Field ["Amount1"] Amount,-   overThreshold = Field ["Amount2"] Amount,-   timesRate     = Field ["Amount3"] Amount,-   equalsTax     = Field ["Amount4"] Amount}
− src/Tax/Canada/ON428/Fix.hs
@@ -1,184 +0,0 @@-{-# LANGUAGE ImportQualifiedPost #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GADTs #-}-{-# LANGUAGE NamedFieldPuns #-}-{-# LANGUAGE OverloadedRecordDot #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}--module Tax.Canada.ON428.Fix (fixON428) where--import Control.Applicative (liftA2)-import Control.Monad (guard, mfilter)-import Data.Fixed (Centi)-import Rank2 qualified--import Tax.Canada.ON428.Types-import Tax.Util (fixEq, fractionOf, nonNegativeDifference, totalOf)--fixON428 :: ON428 Maybe -> ON428 Maybe-fixON428 = fixEq $ \on428@ON428{..}-> ON428{page1 = fixPage1 page1,-                                            page2 = fixPage2 on428 page2,-                                            page3 = fixPage3 on428 page3,-                                            page4 = fixPage4 on428 page4}--fixPage1 :: Page1 Maybe -> Page1 Maybe-fixPage1 = fixEq $ \Page1{..}-> Page1{-   line1 = line1,-   partA = fixPage1PartA line1 partA,-   partB = fixPage1PartB partB}--fixPage1PartA :: Maybe Centi -> Page1PartA Maybe -> Page1PartA Maybe-fixPage1PartA income = fixEq $ \Page1PartA{..}-> Page1PartA{-   column1 = fixTaxIncomeBracket income (Just column2) column1,-   column2 = fixTaxIncomeBracket income (Just column3) column2,-   column3 = fixTaxIncomeBracket income (Just column4) column3,-   column4 = fixTaxIncomeBracket income (Just column5) column4,-   column5 = fixTaxIncomeBracket income Nothing column5}--fixTaxIncomeBracket :: Maybe Centi -> Maybe (TaxIncomeBracket Maybe) -> TaxIncomeBracket Maybe -> TaxIncomeBracket Maybe-fixTaxIncomeBracket income nextBracket bracket@TaxIncomeBracket{..} = bracket{-   line2_income = do i <- income-                     floor <- line3_threshold-                     let ceiling = nextBracket >>= (.line3_threshold)-                     guard (floor <= i && all (i <) ceiling)-                     income,-   line4_overThreshold = liftA2 (-) line2_income line3_threshold,-   line6_timesRate = fromRational <$> liftA2 (*) (toRational <$> line4_overThreshold) line5_rate,-   line8_equalsTax = liftA2 (+) line6_timesRate line7_baseTax}--fixPage1PartB :: Page1PartB Maybe -> Page1PartB Maybe-fixPage1PartB = fixEq $ \part@Page1PartB{..}-> part{-   line9_basic = Just 11141,-   line11_base = Just 10406,-   line13_difference = mfilter (> 0) $ liftA2 (-) line11_base line12_spouseIncome,-   line13_cont = line13_difference,-   line14_base = Just 10406,-   line16_difference = mfilter (> 0) $ liftA2 (-) line14_base line15_dependentIncome,-   line16_cont = line16_difference,-   line18 = totalOf [line9_basic, line10_age, line13_cont, line16_cont, line17_caregiver],-   line24_sum = totalOf [line19_cppQpp,-                         line20_cppQpp,-                         line21_employmentInsurance,-                         line22_employmentInsurance,-                         line23_adoption],-   line24_cont = line24_sum,-   line25 = totalOf [line18, line24_cont]}--fixPage2 :: ON428 Maybe -> Page2 Maybe -> Page2 Maybe-fixPage2 on428 = fixEq $ \Page2{..}-> Page2{-  partB = fixPage2PartB on428 partB,-  partC = fixPage2PartC on428 partC}--fixPage2PartB :: ON428 Maybe -> Page2PartB Maybe -> Page2PartB Maybe-fixPage2PartB on428 = fixEq $ \part@Page2PartB{..}-> part{-   line26 = on428.page1.partB.line25,-   line28 = totalOf [line26, line27_pension],-   line31 = totalOf [line28, line29_disability, line30],-   line35 = totalOf [line31, line32_interest, line33_education, line34_transferred],-   medicalExpenses = fixMedicalExpenses medicalExpenses,-   line43_sum = totalOf [medicalExpenses.line41_difference, line42],-   line43_cont = line43_sum,-   line44 = totalOf [line35, line43_cont],-   line46_fraction = line45_rate `fractionOf` line44,-   donations = fixDonations donations,-   line50 = totalOf [line46_fraction, donations.line49_cont]}--fixPage2PartC :: ON428 Maybe -> Page2PartC Maybe -> Page2PartC Maybe-fixPage2PartC on428 = fixEq $ \part@Page2PartC{..}-> part{-   line51_tax = totalOf [on428.page1.partA.column1.line8_equalsTax,-                         on428.page1.partA.column2.line8_equalsTax,-                         on428.page1.partA.column3.line8_equalsTax,-                         on428.page1.partA.column4.line8_equalsTax,-                         on428.page1.partA.column5.line8_equalsTax],-   line52_credits = on428.page2.partB.line50,-   line53 = nonNegativeDifference line51_tax line52_credits,-   line55 = totalOf [line53, line54],-   line56 = line53,-   line58 = nonNegativeDifference line56 line57,-   line59_product = Just 0.3367 `fractionOf` line59_copy,-   line60_lesser = min <$> line58 <*> line59_product,-   line61 = nonNegativeDifference line55 line60_lesser}--fixMedicalExpenses :: MedicalExpenses Maybe -> MedicalExpenses Maybe-fixMedicalExpenses = fixEq $ \part@MedicalExpenses{..} -> part{-   line38_rate = Just 0.03,-   line39_fraction = line38_rate `fractionOf` line37_income,-   line40_lesser = min 2522 <$> line39_fraction,-   line41_difference = nonNegativeDifference line36_expenses line40_lesser}--fixDonations :: Donations Maybe -> Donations Maybe-fixDonations = fixEq $ \part@Donations{..} -> part{-   line47_fraction = Just 0.0505 `fractionOf` line47_base,-   line48_fraction = Just 0.1116 `fractionOf` line48_base,-   line49_sum = totalOf [line47_fraction, line48_fraction],-   line49_cont = line49_sum}--fixPage3 :: ON428 Maybe -> Page3 Maybe -> Page3 Maybe-fixPage3 on428 = fixEq $ \page@Page3{..}-> page{-   line62 = on428.page2.partC.line61,-   line63 = line62,-   line64 = on428.page2.partC.line54,-   line65 = nonNegativeDifference line63 line64,-   line66_copy = line65,-   line66_surtax = Just 0.2 `fractionOf` nonNegativeDifference line66_copy (Just 4991),-   line67_copy = line65,-   line67_surtax = Just 0.36 `fractionOf` nonNegativeDifference line67_copy (Just 6387),-   line68_sum = totalOf [line66_surtax, line67_surtax],-   line68_cont = line68_sum,-   line69 = totalOf [line62, line68_cont],-   line70 = on428.page2.partC.line57,-   line71 = nonNegativeDifference line69 line70,-   line73 = totalOf [line71, line72],-   line74_basicReduction = Just 257,-   line75_amount = ((475 *) . fromIntegral) <$> line75_childrenNum,-   line76_amount = ((475 *) . fromIntegral) <$> line76_childrenNum,-   line77 = totalOf [line74_basicReduction, line75_amount, line76_amount],-   line78_copy = line77,-   line78_product = (2 *) <$> line78_copy,-   line79 = line73,-   line80_difference = nonNegativeDifference line78_product line79,-   line80_cont = line80_difference,-   line81 = nonNegativeDifference line73 line80_cont,-   line83 = nonNegativeDifference line81 line82}--fixPage4 :: ON428 Maybe -> Page4 Maybe -> Page4 Maybe-fixPage4 on428 = fixEq $ \page@Page4{..}-> page{-   line84 = on428.page3.line83,-   line86 = nonNegativeDifference line84 line85_lift,-   line87_fraction = Just 0.25 `fractionOf` line87_foodDonations,-   line88 = nonNegativeDifference line86 line87_fraction,-   line89_health = totalOf [between 0 20000 0,-                            healthPremium.row1.equalsTax,-                            between 25000 36000 300,-                            healthPremium.row2.equalsTax,-                            between 38500 48000 450,-                            healthPremium.row3.equalsTax,-                            between 48600 72000 600,-                            healthPremium.row4.equalsTax,-                            between 72600 200000 750,-                            healthPremium.row5.equalsTax,-                            if income > 200600 then Just 900 else Nothing],-   line90 = totalOf [line88, line89_health],-   healthPremium = fixHealthPremium income healthPremium}-   where income = sum on428.page1.line1-         between floor ceiling tax-            | income > floor && income <= ceiling = Just tax-            | otherwise = Nothing--fixHealthPremium :: Centi -> HealthPremium Maybe -> HealthPremium Maybe-fixHealthPremium income = fixEq $ \HealthPremium{..}-> HealthPremium{-   row1 = fixHealthPremiumBracket income 20000 25000 0.06 0 row1,-   row2 = fixHealthPremiumBracket income 36000 38500 0.06 300 row2,-   row3 = fixHealthPremiumBracket income 48000 48600 0.25 450 row3,-   row4 = fixHealthPremiumBracket income 72000 72600 0.25 600 row4,-   row5 = fixHealthPremiumBracket income 200000 200600 0.25 750 row5}--fixHealthPremiumBracket :: Centi -> Centi -> Centi -> Rational -> Centi -> HealthPremiumBracket Maybe -> HealthPremiumBracket Maybe-fixHealthPremiumBracket income floor ceiling rate base HealthPremiumBracket{..}-   | income > floor && income < ceiling = HealthPremiumBracket{-       taxableIncome = Just income,-       overThreshold = Just $ income - floor,-       timesRate = Just rate `fractionOf` overThreshold,-       equalsTax = totalOf [timesRate, Just base]}-   | otherwise = Rank2.pure Nothing
− src/Tax/Canada/ON428/Types.hs
@@ -1,193 +0,0 @@-{-# LANGUAGE DuplicateRecordFields #-}-{-# LANGUAGE ImportQualifiedPost #-}-{-# LANGUAGE InstanceSigs #-}-{-# LANGUAGE NoFieldSelectors #-}-{-# LANGUAGE OverloadedRecordDot #-}-{-# LANGUAGE ScopedTypeVariables #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE TemplateHaskell #-}-{-# LANGUAGE UndecidableInstances #-}--module Tax.Canada.ON428.Types where--import Data.Fixed (Centi)-import Language.Haskell.TH qualified as TH-import Rank2.TH qualified--data ON428 line = ON428 {-   page1 :: Page1 line,-   page2 :: Page2 line,-   page3 :: Page3 line,-   page4 :: Page4 line}--data Page1 line = Page1 {-   line1 :: line Centi,-   partA :: Page1PartA line,-   partB :: Page1PartB line}--data Page1PartA line = Page1PartA {-   column1 :: TaxIncomeBracket line,-   column2 :: TaxIncomeBracket line,-   column3 :: TaxIncomeBracket line,-   column4 :: TaxIncomeBracket line,-   column5 :: TaxIncomeBracket line}--data TaxIncomeBracket line = TaxIncomeBracket {-   line2_income :: line Centi,-   line3_threshold :: line Centi,-   line4_overThreshold :: line Centi,-   line5_rate :: line Rational,-   line6_timesRate :: line Centi,-   line7_baseTax :: line Centi,-   line8_equalsTax :: line Centi-   }--data Page1PartB line = Page1PartB {-   line9_basic :: line Centi,-   line10_age :: line Centi,-   line11_base :: line Centi,-   line12_spouseIncome :: line Centi,-   line13_difference :: line Centi,-   line13_cont :: line Centi,-   line14_base :: line Centi,-   line15_dependentIncome :: line Centi,-   line16_difference :: line Centi,-   line16_cont :: line Centi,-   line17_caregiver :: line Centi,-   line18 :: line Centi,-   line19_cppQpp :: line Centi,-   line20_cppQpp :: line Centi,-   line21_employmentInsurance :: line Centi,-   line22_employmentInsurance :: line Centi,-   line23_adoption :: line Centi,-   line24_sum :: line Centi,-   line24_cont :: line Centi,-   line25 :: line Centi}--data Page2 line = Page2 {-  partB :: Page2PartB line,-  partC :: Page2PartC line}--data Page2PartB line = Page2PartB {-   line26 :: line Centi,-   line27_pension :: line Centi,-   line28 :: line Centi,-   line29_disability :: line Centi,-   line30 :: line Centi,-   line31 :: line Centi,-   line32_interest :: line Centi,-   line33_education :: line Centi,-   line34_transferred :: line Centi,-   line35 :: line Centi,-   medicalExpenses :: MedicalExpenses line,-   line42 :: line Centi,-   line43_sum :: line Centi,-   line43_cont :: line Centi,-   line44 :: line Centi,-   line45_rate :: line Rational,-   line46_fraction :: line Centi,-   donations :: Donations line,-   line50 :: line Centi}--data MedicalExpenses line = MedicalExpenses {-   line36_expenses :: line Centi,-   line37_income :: line Centi,-   line38_rate :: line Rational,-   line39_fraction :: line Centi,-   line40_lesser :: line Centi,-   line41_difference :: line Centi}--data Donations line = Donations {-   line47_base :: line Centi,-   line47_fraction :: line Centi,-   line48_base :: line Centi,-   line48_fraction :: line Centi,-   line49_sum :: line Centi,-   line49_cont :: line Centi}--data Page2PartC line = Page2PartC {-   line51_tax :: line Centi,-   line52_credits :: line Centi,-   line53 :: line Centi,-   line54 :: line Centi,-   line55 :: line Centi,-   line56 :: line Centi,-   line57 :: line Centi,-   line58 :: line Centi,-   line59_copy :: line Centi,-   line59_product :: line Centi,-   line60_lesser :: line Centi,-   line61 :: line Centi}--data Page3 line = Page3 {-   line62 :: line Centi,-   line63 :: line Centi,-   line64 :: line Centi,-   line65 :: line Centi,-   line66_copy :: line Centi,-   line66_surtax :: line Centi,-   line67_copy :: line Centi,-   line67_surtax :: line Centi,-   line68_cont :: line Centi,-   line68_sum :: line Centi,-   line69 :: line Centi,-   line70 :: line Centi,-   line71 :: line Centi,-   line72 :: line Centi,-   line73 :: line Centi,-   line74_basicReduction :: line Centi,-   line75_amount :: line Centi,-   line75_childrenNum :: line Word,-   line76_amount :: line Centi,-   line76_childrenNum :: line Word,-   line77 :: line Centi,-   line78_copy :: line Centi,-   line78_product :: line Centi,-   line79 :: line Centi,-   line80_cont :: line Centi,-   line80_difference :: line Centi,-   line81 :: line Centi,-   line82 :: line Centi,-   line83 :: line Centi}--data Page4 line = Page4 {-   line84 :: line Centi,-   line85_lift :: line Centi,-   line86 :: line Centi,-   line87_foodDonations :: line Centi,-   line87_fraction :: line Centi,-   line88 :: line Centi,-   line89_health :: line Centi,-   line90 :: line Centi,-   healthPremium :: HealthPremium line}--data HealthPremium line = HealthPremium {-   row1 :: HealthPremiumBracket line,-   row2 :: HealthPremiumBracket line,-   row3 :: HealthPremiumBracket line,-   row4 :: HealthPremiumBracket line,-   row5 :: HealthPremiumBracket line}--data HealthPremiumBracket line = HealthPremiumBracket {-   taxableIncome :: line Centi,-   overThreshold :: line Centi,-   timesRate :: line Centi,-   equalsTax :: line Centi}--$(foldMap-   (\t-> [d|-           deriving instance (Show (line Centi), Show (line Rational), Show (line Word))-                          => Show ($(TH.conT t) line)-           deriving instance (Eq (line Centi), Eq (line Rational), Eq (line Word))-                          => Eq ($(TH.conT t) line)-    |])-   [''ON428, ''Page1, ''Page2, ''Page3, ''Page4,-    ''Page1PartA, ''Page1PartB, ''Page2PartB, ''Page2PartC,-    ''MedicalExpenses, ''Donations,-    ''TaxIncomeBracket, ''HealthPremium, ''HealthPremiumBracket])--$(foldMap Rank2.TH.deriveAll-   [''ON428, ''Page1, ''Page2, ''Page3, ''Page4,-    ''Page1PartA, ''Page1PartB, ''Page2PartB, ''Page2PartC,-    ''MedicalExpenses, ''Donations,-    ''TaxIncomeBracket, ''HealthPremium, ''HealthPremiumBracket])
+ src/Tax/Canada/Province/AB.hs view
@@ -0,0 +1,74 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.Province.AB (AB428, ab428Fields, fixAB428, fixReturns, returnFields, t1Fields) where++import Data.CAProvinceCodes (Code(AB))+import qualified Rank2++import Tax.Canada.Federal qualified as Federal+import Tax.Canada.Federal (Forms(t1), fixFederalForms)+import Tax.Canada.Federal.Schedule9 qualified as Schedule9+import Tax.Canada.T1.Types (T1 (T1, page7, page8), Page7(Page7, step6_RefundOrBalanceOwing), Page8(Page8))+import Tax.Canada.T1.Types qualified as T1+import Tax.Canada.T1.Types qualified as Page8 (Page8(..))+import Tax.Canada.T1.FieldNames.AB (t1Fields)++import Tax.Canada.Province.AB.AB428.Types qualified as AB+import Tax.Canada.Province.AB.AB428.Types qualified as AB.Page1 (Page1(..))+import Tax.Canada.Province.AB.AB428.Types qualified as AB.Page2 (Page2(..))+import Tax.Canada.Province.AB.AB428.Types (AB428 (AB428))+import Tax.Canada.Province.AB.AB428.Fix (fixAB428)+import Tax.Canada.Province.AB.AB428.FieldNames (ab428Fields)++import Tax.Canada.Shared(MedicalExpenses(..), BaseCredit(..))+import Tax.FDF (FieldConst, within)+import Tax.Util (fixEq)++import Data.Functor.Product (Product(Pair))++type Returns = Product Federal.Forms AB428++fixReturns :: Returns Maybe -> Returns Maybe+fixReturns =+  fixEq $ \(Pair+            ff@Federal.Forms{t1 = t1@T1{page7 = page7@Page7{step6_RefundOrBalanceOwing},+                                        page8 = page8@Page8{step6_RefundOrBalanceOwing = page8step6}},+                             schedule9}+            ab428@AB428{page1 = page1@AB.Page1{partA, partB = partB1@AB.Page1PartB{spouseAmount}},+                        page2 = page2@AB.Page2{AB.partB = partB2@AB.Page2PartB{AB.medicalExpenses}},+                        page3 = page3@AB.Page3{AB.partC}})+          -> (fixFederalForms ff{t1 = t1{page7 =+                                         page7{step6_RefundOrBalanceOwing =+                                               step6_RefundOrBalanceOwing{T1.line_42800_ProvTerrTax =+                                                                          ab428.page3.partC.line66_tax}},+                                         page8 =+                                         page8{Page8.step6_RefundOrBalanceOwing =+                                               page8step6{T1.line_47900_ProvTerrCredits =+                                                          ab428.page3.partD.line69_credits}}}}+              `Pair`+              fixAB428 ab428{AB.page1 =+                             page1{AB.Page1.income = t1.page5.step4_TaxableIncome.line_26000_TaxableIncome,+                                   AB.Page1.partB = partB1{AB.spouseAmount = spouseAmount{reduction = t1.page1.spouse.line23600},+                                                           AB.line19_cppQpp = t1.page6.line30800,+                                                           AB.line20_cppQpp = t1.page6.line31000,+                                                           AB.line21_employmentInsurance = t1.page6.line31200,+                                                           AB.line22_employmentInsurance = t1.page6.line31217}},+                             AB.page2 =+                             page2{AB.Page2.partB = partB2{AB.line33_interest = t1.page6.line31900,+                                                           AB.medicalExpenses =+                                                           medicalExpenses{+                                                              expenses = t1.page6.medical_expenses.familyExpenses,+                                                              netIncome = t1.page4.line_23600_NetIncome},+                                                                AB.donations = partB2.donations{+                                                                   AB.line48_base = schedule9.line13_min,+                                                                   AB.line49_base = schedule9.line14_difference}}},+                             AB.page3 =+                             page3{AB.partC = partC{AB.line57_copy = t1.page7.partC_NetFederalTax.line40427}}})++returnFields :: Returns FieldConst+returnFields = Pair (Federal.formFieldsForProvince AB) (within "428" Rank2.<$> ab428Fields)
+ src/Tax/Canada/Province/AB/AB428/FieldNames.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.Province.AB.AB428.FieldNames (ab428Fields) where++import Data.Fixed (Centi)+import Rank2 qualified++import Tax.Canada.Province.AB.AB428.Types+import Tax.Canada.Shared (BaseCredit(..), MedicalExpenses(..), TaxIncomeBracket (..), subCalculationFields)+import Tax.FDF (Entry (Count, Constant, Amount, Percent), FieldConst (Field, NoField), within)++ab428Fields = within "form1" Rank2.<$> AB428 {+   page1 = within "Page1" Rank2.<$> page1Fields,+   page2 = within "Page2" Rank2.<$> page2Fields,+   page3 = within "Page3" Rank2.<$> page3Fields}+++page1Fields = Page1 {+   income = Field ["Line1", "Amount"] Amount,+   partA = within "Chart" Rank2.<$> page1PartAFields,+   partB = page1PartBFields}++page1PartAFields = Page1PartA {+   column1 = within "Column1" Rank2.<$> taxIncomeBracketFields       0 0.10      0,+   column2 = within "Column2" Rank2.<$> taxIncomeBracketFields 142_292 0.12 14_229.20,+   column3 = within "Column3" Rank2.<$> (taxIncomeBracketFields 170_751 0.13 17_644.28){rate = Field ["LIne5", "Percent"] $ Constant 0.13 Percent},+   column4 = within "Column4" Rank2.<$> taxIncomeBracketFields 227_668 0.14 25_043.49,+   column5 = within "Column5" Rank2.<$> taxIncomeBracketFields 341_502 0.15 40_980.25}++taxIncomeBracketFields :: Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst+taxIncomeBracketFields threshold rate baseTax = TaxIncomeBracket {+   income = Field ["Line2", "Amount"] Amount,+   threshold = Field ["Line3", "Amount_Fixed"] $ Constant threshold Amount,+   overThreshold = Field ["Line4", "Amount"] Amount,+   rate = Field ["Line5", "Percent"] $ Constant rate Percent,+   timesRate = Field ["Line6", "Amount"] Amount,+   baseTax = Field ["Line7", "Amount_Fixed"] $ Constant baseTax Amount,+   equalsTax = Field ["Line8", "Amount"] Amount}++page1PartBFields = Page1PartB {+   line9_basic = Field ["Line9", "Amount"] Amount,+   line10_age = Field ["Line10", "Amount"] Amount,+   spouseAmount = within "Line11to13" Rank2.<$> BaseCredit{+       baseAmount = Field ["Line11", "Amount_Fixed"] $ Constant 21_003 Amount,+       reduction = Field ["Line12", "Amount"] Amount,+       difference = Field ["Line13", "Amount1"] Amount,+       cont = Field ["Line13", "Amount2"] Amount},+   dependantAmount = within "Line14to16" Rank2.<$> BaseCredit{+       baseAmount = Field ["Line14", "Amount_Fixed"] $ Constant 21_003 Amount,+       reduction = Field ["Line15", "Amount"] Amount,+       difference = Field ["Line16", "Amount1"] Amount,+       cont = Field ["Line16", "Amount2"] Amount},+   line17_infirm = Field ["Line17", "Amount"] Amount,+   line18 = Field ["Line18", "Amount"] Amount,+   line19_cppQpp = Field ["Line19to20", "Line19", "Amount"] Amount,+   line20_cppQpp = Field ["Line19to20", "Line20", "Amount"] Amount,+   line21_employmentInsurance = Field ["Line21to22", "Line21", "Amount"] Amount,+   line22_employmentInsurance = Field ["Line21to22", "Line22", "Amount"] Amount,+   line23_adoption = Field ["Line23", "Amount"] Amount,+   line24_sum = subCalculationFields "Line24" ["Amount1"] ["Amount2"],+   line25 = Field ["Line25", "Amount"] Amount}++page2Fields = Page2 {+  partB = within "PartB_Page2" Rank2.<$> page2PartBFields}++page2PartBFields = Page2PartB {+   line26 = Field ["Line26", "Amount"] Amount,+   line27_pension = Field ["Line27", "Amount"] Amount,+   line28_caregiver = Field ["Line28", "Amount"] Amount,+   line29 = Field ["Line29", "Amount"] Amount,+   line30_disability = Field ["Line30", "Amount"] Amount,+   line31 = Field ["Line31", "Amount"] Amount,+   line32 = Field ["Line32", "Amount"] Amount,+   line33_interest = Field ["Line33", "Amount"] Amount,+   line34_education = Field ["Line34", "Amount"] Amount,+   line35_transferredSpouse = Field ["Line35", "Amount"] Amount,+   line36 = Field ["Line36", "Amount"] Amount,+   medicalExpenses = within "MedicalExp" Rank2.<$> medicalExpensesFields,+   line43 = Field ["Line43", "Amount"] Amount,+   line44_sum = subCalculationFields "Line44" ["Amount1"] ["Amount2"],+   line45 = Field ["Line45", "Amount"] Amount,+   line46_rate = Field ["Line46", "Percent"] $ Constant 0.10 Percent,+   line47_fraction = Field ["Line47", "Amount"] Amount,+   donations = within "DonationGift" Rank2.<$> donationFields,+   line50_sum = subCalculationFields "Line50" ["Amount1"] ["Amount2"],+   line51 = Field ["Line51", "Amount"] Amount}++medicalExpensesFields = MedicalExpenses {+   expenses = Field ["Line37", "Amount"] Amount,+   netIncome = Field ["Line38", "Amount"] Amount,+   incomeRate = Field ["Line39", "PercentAmount"] $ Constant 0.03 Percent,+   fraction = Field ["Line40", "Amount1"] Amount,+   lesser = Field ["Line41", "Amount"] Amount,+   difference = Field ["Line42", "Amount"] Amount}++donationFields = Donations {+   line48_base = Field ["Line48", "Amount1"] Amount,+   line48_fraction = Field ["Line48", "Amount2"] Amount,+   line49_base = Field ["Line49", "Amount1"] Amount,+   line49_fraction = Field ["Line49", "Amount2"] Amount}++page3Fields = Page3 {+   partC = within "PartC" Rank2.<$> partCFields,+   partD = within "PartC" . within "UAITC" Rank2.<$> partDFields}++partCFields = PartC {+   line52_tax = Field ["Line52", "Amount"] Amount,+   line53_splitIncomeTax = Field ["Line53", "Amount"] Amount,+   line54 = Field ["Line54", "Amount"] Amount,+   line55_copy = Field ["Line55", "Amount"] Amount,+   line56_dividendCredits = Field ["Line56", "Amount"] Amount,+   line57_copy = Field ["Line57", "Amount1"] Amount,+   line57_fraction = Field ["Line57", "Amount2"] Amount,+   line58_sum = subCalculationFields "Line58" ["Amount1"] ["Amount2"],+   line59_difference = Field ["Line59", "Amount"] Amount,+   line60_fromT691 = Field ["Line60", "Amount1"] Amount,+   line60_fraction = Field ["Line60", "Amount2"] Amount,+   line61 = Field ["Line61", "Amount"] Amount,+   line62_foreignCredit = Field ["Line62", "Amount"] Amount,+   line63_difference = Field ["Line63", "Amount"] Amount,+   line64_political = Field ["PoliticalCont", "Line64", "Amount"] Amount,+   line65_political = Field ["PoliticalCont", "Line65", "Amount"] Amount,+   line66_tax = Field ["PoliticalCont", "Line66", "Amount"] Amount}++partDFields = PartD {+   line67_investorCredit = Field ["Line67", "Amount"] Amount,+   line68_stockCredit = Field ["Line68", "Amount"] Amount,+   line69_credits = Field ["Line69", "Amount"] Amount}
+ src/Tax/Canada/Province/AB/AB428/Fix.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++module Tax.Canada.Province.AB.AB428.Fix (AB428, fixAB428) where++import Control.Applicative (liftA2)+import Control.Monad (guard)+import Data.Fixed (Centi)+import Rank2 qualified++import Tax.Canada.Province.AB.AB428.Types+import Tax.Canada.Shared (fixBaseCredit, fixMedicalExpenses, fixSubCalculation, fixTaxIncomeBracket,+                          BaseCredit(cont), MedicalExpenses (difference),+                          SubCalculation (result), TaxIncomeBracket (equalsTax))+import Tax.Util (fixEq, fractionOf, nonNegativeDifference, totalOf)++fixAB428 :: AB428 Maybe -> AB428 Maybe+fixAB428 = fixEq $ \ab428@AB428{..}-> AB428{page1 = fixPage1 page1,+                                            page2 = fixPage2 ab428 page2,+                                            page3 = fixPage3 ab428 page3}++fixPage1 :: Page1 Maybe -> Page1 Maybe+fixPage1 = fixEq $ \Page1{..}-> Page1{+   income = income,+   partA = fixPage1PartA income partA,+   partB = fixPage1PartB partB}++fixPage1PartA :: Maybe Centi -> Page1PartA Maybe -> Page1PartA Maybe+fixPage1PartA income = fixEq $ \Page1PartA{..}-> Page1PartA{+   column1 = fixTaxIncomeBracket income (Just column2) column1,+   column2 = fixTaxIncomeBracket income (Just column3) column2,+   column3 = fixTaxIncomeBracket income (Just column4) column3,+   column4 = fixTaxIncomeBracket income (Just column5) column4,+   column5 = fixTaxIncomeBracket income Nothing column5}++fixPage1PartB :: Page1PartB Maybe -> Page1PartB Maybe+fixPage1PartB = fixEq $ \part@Page1PartB{..}-> part{+   line9_basic = Just 21003,+   spouseAmount = fixBaseCredit spouseAmount,+   dependantAmount = fixBaseCredit dependantAmount,+   line18 = totalOf [line9_basic, line10_age, spouseAmount.cont, dependantAmount.cont, line17_infirm],+   line24_sum = fixSubCalculation $+                totalOf [line19_cppQpp,+                         line20_cppQpp,+                         line21_employmentInsurance,+                         line22_employmentInsurance,+                         line23_adoption],+   line25 = totalOf [line18, line24_sum.result]}++fixPage2 :: AB428 Maybe -> Page2 Maybe -> Page2 Maybe+fixPage2 ab428 = fixEq $ \Page2{..}-> Page2{+  partB = fixPage2PartB ab428 partB}++fixPage2PartB :: AB428 Maybe -> Page2PartB Maybe -> Page2PartB Maybe+fixPage2PartB ab428 = fixEq $ \part@Page2PartB{..}-> part{+   line26 = ab428.page1.partB.line25,+   line29 = totalOf [line26, line27_pension, line28_caregiver],+   line32 = totalOf [line29, line30_disability, line31],+   line36 = totalOf [line32, line33_interest, line34_education, line35_transferredSpouse],+   medicalExpenses = fixMedicalExpenses 2714 medicalExpenses,+   line44_sum = fixSubCalculation $ totalOf [medicalExpenses.difference, line43],+   line45 = totalOf [line36, line44_sum.result],+   line47_fraction = line46_rate `fractionOf` line45,+   donations = fixDonations donations,+   line50_sum = fixSubCalculation $ totalOf [donations.line48_fraction, donations.line49_fraction],+   line51 = totalOf [line47_fraction, line50_sum.result]}++fixDonations :: Donations Maybe -> Donations Maybe+fixDonations = fixEq $ \part@Donations{..} -> part{+   line48_fraction = Just 0.6 `fractionOf` line48_base,+   line49_fraction = Just 0.21 `fractionOf` line49_base}++fixPage3 :: AB428 Maybe -> Page3 Maybe -> Page3 Maybe+fixPage3 ab428 = fixEq $ \page@Page3{..}-> page{+   partC = fixPartC ab428 partC,+   partD = fixPartD ab428 partD}++fixPartC :: AB428 Maybe -> PartC Maybe -> PartC Maybe+fixPartC ab428 = fixEq $ \part@PartC{..}-> part{+   line52_tax = totalOf [ab428.page1.partA.column1.equalsTax,+                         ab428.page1.partA.column2.equalsTax,+                         ab428.page1.partA.column3.equalsTax,+                         ab428.page1.partA.column4.equalsTax,+                         ab428.page1.partA.column5.equalsTax],+   line54 = totalOf [line52_tax, line53_splitIncomeTax],+   line55_copy = ab428.page2.partB.line51,+   line57_fraction = Just 0.35 `fractionOf` line57_copy,+   line58_sum = fixSubCalculation $ totalOf [line55_copy, line56_dividendCredits, line57_fraction],+   line59_difference = nonNegativeDifference line54 line58_sum.result,+   line60_fraction = Just 0.35 `fractionOf` line60_fromT691,+   line61 = totalOf [line59_difference, line60_fraction],+   line63_difference = nonNegativeDifference line61 line62_foreignCredit,+   line66_tax = nonNegativeDifference line63_difference line65_political}++fixPartD :: AB428 Maybe -> PartD Maybe -> PartD Maybe+fixPartD _ab428 = fixEq $ \part@PartD{..}-> part{+   line69_credits = totalOf [line67_investorCredit, line68_stockCredit]}
+ src/Tax/Canada/Province/AB/AB428/Types.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Province.AB.AB428.Types where++import Data.Fixed (Centi)+import Language.Haskell.TH qualified as TH+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Shared (BaseCredit, MedicalExpenses, SubCalculation, TaxIncomeBracket)++data AB428 line = AB428 {+   page1 :: Page1 line,+   page2 :: Page2 line,+   page3 :: Page3 line}++data Page1 line = Page1 {+   income :: line Centi,+   partA :: Page1PartA line,+   partB :: Page1PartB line}++data Page1PartA line = Page1PartA {+   column1 :: TaxIncomeBracket line,+   column2 :: TaxIncomeBracket line,+   column3 :: TaxIncomeBracket line,+   column4 :: TaxIncomeBracket line,+   column5 :: TaxIncomeBracket line}++data Page1PartB line = Page1PartB {+   line9_basic :: line Centi,+   line10_age :: line Centi,+   spouseAmount :: BaseCredit line,+   dependantAmount :: BaseCredit line,+   line17_infirm :: line Centi,+   line18 :: line Centi,+   line19_cppQpp :: line Centi,+   line20_cppQpp :: line Centi,+   line21_employmentInsurance :: line Centi,+   line22_employmentInsurance :: line Centi,+   line23_adoption :: line Centi,+   line24_sum :: SubCalculation line,+   line25 :: line Centi}++data Page2 line = Page2 {+  partB :: Page2PartB line}++data Page2PartB line = Page2PartB {+   line26 :: line Centi,+   line27_pension :: line Centi,+   line28_caregiver :: line Centi,+   line29 :: line Centi,+   line30_disability :: line Centi,+   line31 :: line Centi,+   line32 :: line Centi,+   line33_interest :: line Centi,+   line34_education :: line Centi,+   line35_transferredSpouse :: line Centi,+   line36 :: line Centi,+   medicalExpenses :: MedicalExpenses line,+   line43 :: line Centi,+   line44_sum :: SubCalculation line,+   line45 :: line Centi,+   line46_rate :: line Rational,+   line47_fraction :: line Centi,+   donations :: Donations line,+   line50_sum :: SubCalculation line,+   line51 :: line Centi}++data Donations line = Donations {+   line48_base :: line Centi,+   line48_fraction :: line Centi,+   line49_base :: line Centi,+   line49_fraction :: line Centi}++data Page3 line = Page3 {+   partC :: PartC line,+   partD :: PartD line}++data PartC line = PartC {+   line52_tax :: line Centi,+   line53_splitIncomeTax :: line Centi,+   line54 :: line Centi,+   line55_copy :: line Centi,+   line56_dividendCredits :: line Centi,+   line57_copy :: line Centi,+   line57_fraction :: line Centi,+   line58_sum :: SubCalculation line,+   line59_difference :: line Centi,+   line60_fromT691 :: line Centi,+   line60_fraction :: line Centi,+   line61 :: line Centi,+   line62_foreignCredit :: line Centi,+   line63_difference :: line Centi,+   line64_political :: line Centi,+   line65_political :: line Centi,+   line66_tax :: line Centi}++data PartD line = PartD {+   line67_investorCredit :: line Centi,+   line68_stockCredit :: line Centi,+   line69_credits :: line Centi}++$(foldMap+   (\t-> concat <$> sequenceA [+       [d|+           deriving instance (Show (line Centi), Show (line Rational), Show (line Word))+                          => Show ($(TH.conT t) line)+           deriving instance (Eq (line Centi), Eq (line Rational), Eq (line Word))+                          => Eq ($(TH.conT t) line)+       |],+       Rank2.TH.deriveAll t,+       Transformation.Shallow.TH.deriveAll t])+   [''AB428, ''Page1, ''Page2, ''Page3,+    ''Page1PartA, ''Page1PartB, ''Page2PartB, ''PartC, ''PartD, ''Donations])
+ src/Tax/Canada/Province/BC.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Province.BC (BC428, bc428Fields, bc479Fields, fixBC428, fixBC479, fixReturns, returnFields, t1Fields) where++import Data.CAProvinceCodes (Code(BC))+import Rank2 qualified+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Federal qualified as Federal+import Tax.Canada.Federal (Forms(t1), fixFederalForms)+import Tax.Canada.T1.Types (T1 (T1, page7, page8), Page7(Page7, step6_RefundOrBalanceOwing), Page8(Page8))+import Tax.Canada.T1.Types qualified as T1+import Tax.Canada.T1.Types qualified as Page8 (Page8(..))+import Tax.Canada.T1.FieldNames.BC (t1Fields)++import Tax.Canada.Province.BC.BC428.Types qualified as BC+import Tax.Canada.Province.BC.BC428.Types qualified as BC.Page1 (Page1(..))+import Tax.Canada.Province.BC.BC428.Types qualified as BC.Page2 (Page2(..))+import Tax.Canada.Province.BC.BC428.Types (BC428 (BC428))+import Tax.Canada.Province.BC.BC428.Fix (fixBC428)+import Tax.Canada.Province.BC.BC428.FieldNames (bc428Fields)+import Tax.Canada.Province.BC.BC479.Types qualified as BCC+import Tax.Canada.Province.BC.BC479.Types (BC479 (BC479))+import Tax.Canada.Province.BC.BC479.Fix (fixBC479)+import Tax.Canada.Province.BC.BC479.FieldNames (bc479Fields)++import Tax.Canada.Shared(MedicalExpenses(..), BaseCredit(..))+import Tax.FDF (FieldConst, within)+import Tax.Util (fixEq, totalOf)++data Returns line = Returns {+  federal :: Federal.Forms line,+  bc428 :: BC428 line,+  bc479 :: BC479 line}++deriving instance (Show (Federal.Forms line), Show (BC428 line), Show (BC479 line)) => Show (Returns line)+deriving instance (Eq (Federal.Forms line), Eq (BC428 line), Eq (BC479 line)) => Eq (Returns line)+Rank2.TH.deriveAll ''Returns+Transformation.Shallow.TH.deriveAll ''Returns++fixReturns :: Returns Maybe -> Returns Maybe+fixReturns =+  fixEq $ \Returns{federal = ff@Federal.Forms{t1 = t1@T1{page7 = page7@Page7{step6_RefundOrBalanceOwing},+                                                         page8 = page8@Page8{step6_RefundOrBalanceOwing = page8step6}}},+                   bc428 = bc428@BC428{page1 = page1@BC.Page1{partA, partB = partB1@BC.Page1PartB{spouseAmount}},+                                       page2 = page2@BC.Page2{BC.partB = partB2@BC.Page2PartB{BC.medicalExpenses}},+                                       page3 = page3@BC.Page3{BC.partC}},+                   bc479}+          -> Returns{federal = fixFederalForms+                               ff{t1 = t1{page7 =+                                          page7{step6_RefundOrBalanceOwing =+                                                step6_RefundOrBalanceOwing{T1.line_42800_ProvTerrTax =+                                                                           bc428.page3.line91_tax}},+                                          page8 =+                                          page8{Page8.step6_RefundOrBalanceOwing =+                                                page8step6{T1.line_47900_ProvTerrCredits =+                                                           bc479.page3.line42_credits}}}},+                     bc428 = fixBC428+                             bc428{BC.page1 =+                                   page1{BC.Page1.partA =+                                         partA{BC.income = t1.page5.step4_TaxableIncome.line_26000_TaxableIncome},+                                         BC.Page1.partB =+                                         partB1{BC.spouseAmount = spouseAmount{reduction = t1.page1.spouse.line23600}}+                                        },+                                   BC.page2 =+                                   page2{BC.Page2.partB = partB2{BC.line27_cppQpp = t1.page6.line30800,+                                                                 BC.line28_cppQpp = t1.page6.line31000,+                                                                 BC.line29_employmentInsurance = t1.page6.line31200,+                                                                 BC.line30_employmentInsurance = t1.page6.line31217,+                                                                 BC.line41_interest = t1.page6.line31900,+                                                                 BC.medicalExpenses =+                                                                 medicalExpenses{+                                                                    expenses = t1.page6.medical_expenses.familyExpenses,+                                                                    netIncome = t1.page4.line_23600_NetIncome}}},+                                    BC.page3 =+                                    page3{BC.partC = partC{BC.line66_copy = t1.page7.partC_NetFederalTax.line40427},+                                          BC.line74_copy = t1.page4.line_23600_NetIncome}},+                     bc479 = fixBC479+                             bc479{BCC.page1 =+                                   bc479.page1{BCC.line1_netIncome_self = t1.page4.line_23600_NetIncome,+                                               BCC.line1_netIncome_spouse = t1.page1.spouse.line23600,+                                               BCC.line4_uccb_rdsp_income_self = totalOf [t1.page3.line_11700_UCCB,+                                                                                          t1.page3.line_12500_RDSP],+                                               BCC.line7_threshold = if t1.page1.identification.maritalStatus+                                                                        `elem` [Just T1.Married,+                                                                                Just T1.LivingCommonLaw]+                                                                     then Just 18_000+                                                                     else 15_000 <$ t1.page1.identification.maritalStatus}}}++returnFields :: Returns FieldConst+returnFields = Returns{+  federal = Federal.formFieldsForProvince BC,+  bc428 = within "428" Rank2.<$> bc428Fields,+  bc479 = within "479" Rank2.<$> bc479Fields}
+ src/Tax/Canada/Province/BC/BC428/FieldNames.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.Province.BC.BC428.FieldNames (bc428Fields) where++import Data.Fixed (Centi)+import Rank2 qualified++import Tax.Canada.Province.BC.BC428.Types+import Tax.Canada.Shared (BaseCredit(..), MedicalExpenses(..), TaxIncomeBracket (..), subCalculationFields)+import Tax.FDF (Entry (Count, Constant, Amount, Percent), FieldConst (Field, NoField), within)++bc428Fields = within "form1" Rank2.<$> BC428 {+   page1 = within "Page1" Rank2.<$> page1Fields,+   page2 = within "Page2" Rank2.<$> page2Fields,+   page3 = within "Page3" Rank2.<$> page3Fields}+++page1Fields = Page1 {+   partA = within "PartA" Rank2.<$> page1PartAFields,+   partB = within "PartB" Rank2.<$> page1PartBFields}++page1PartAFields = Page1PartA {+   income = Field ["Line1", "Amount"] Amount,+   column1 = within "Column1" Rank2.<$>  taxIncomeBracketFields        0 0.0506      0,+   column2 = within "Column2" Rank2.<$>  taxIncomeBracketFields   45_654 0.077   2_310.09,+   column3 = within "Column3" Rank2.<$>  taxIncomeBracketFields   91_310 0.105   5_825.60,+   column4 = within "Column4" Rank2.<$>  taxIncomeBracketFields  104_835 0.1229  7_245.73,+   column5 = within "Column5" Rank2.<$> (taxIncomeBracketFields' 127_299 0.147  10_006.56){equalsTax = Field ["LIne15", "Amount"] Amount},+   column6 = within "Column6" Rank2.<$> (taxIncomeBracketFields' 172_602 0.168  16_666.10){rate = Field ["Line12", "Percent_amount"] $ Constant 0.168 Percent},+   column7 = within "Column7" Rank2.<$>  taxIncomeBracketFields' 240_716 0.205  28_109.25}++taxIncomeBracketFields :: Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst+taxIncomeBracketFields threshold rate baseTax = TaxIncomeBracket {+   income = Field ["Line2", "Amount"] Amount,+   threshold = Field ["Line3", "Amount_ReadOnly"] $ Constant threshold Amount,+   overThreshold = Field ["Line4", "Amount"] Amount,+   rate = Field ["Line5", "Percent_Amount"] $ Constant rate Percent,+   timesRate = Field ["Line6", "Amount"] Amount,+   baseTax = Field ["Line7", "Amount_ReadOnly"] $ Constant baseTax Amount,+   equalsTax = Field ["Line8", "Amount"] Amount}++taxIncomeBracketFields' :: Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst+taxIncomeBracketFields' threshold rate baseTax = TaxIncomeBracket {+   income = Field ["Line9", "Amount"] Amount,+   threshold = Field ["Line10", "Amount_ReadOnly"] $ Constant threshold Amount,+   overThreshold = Field ["Line11", "Amount"] Amount,+   rate = Field ["Line12", "Percent_Amount"] $ Constant rate Percent,+   timesRate = Field ["Line13", "Amount"] Amount,+   baseTax = Field ["Line14", "Amount_ReadOnly"] $ Constant baseTax Amount,+   equalsTax = Field ["Line15", "Amount"] Amount}++page1PartBFields = Page1PartB {+   line16_basic = Field ["Line16", "Amount"] Amount,+   line17_age = Field ["Line17", "Amount"] Amount,+   spouseAmount = within "Spouse_CPL_Amount" Rank2.<$> BaseCredit{+       baseAmount = Field ["Line18", "Amount"] $ Constant 11_285 Amount,+       reduction = Field ["Line19", "Amount"] Amount,+       difference = Field ["Line20", "Amount1"] Amount,+       cont = Field ["Line20", "Amount2"] Amount},+   dependantAmount = within "Amount_Eligible_Dependant" Rank2.<$> BaseCredit{+       baseAmount = Field ["Line21", "Amount"] $ Constant 11_285 Amount,+       reduction = Field ["Line22", "Amount"] Amount,+       difference = Field ["Line23", "Amount1"] Amount,+       cont = Field ["Line23", "Amount2"] Amount},+   line24_caregiver = Field ["Line24", "Amount"] Amount,+   line25 = Field ["Line25", "Amount"] Amount}++page2Fields = Page2 {+  partB = page2PartBFields}++page2PartBFields = Page2PartB {+   line26 = Field ["Line26", "Amount"] Amount,+   line27_cppQpp = Field ["Line27", "Amount"] Amount,+   line28_cppQpp = Field ["Line28", "Amount"] Amount,+   line29_employmentInsurance = Field ["Line29", "Amount"] Amount,+   line30_employmentInsurance = Field ["Line30", "Amount"] Amount,+   line31_firefighters = Field ["Line31", "Amount"] Amount,+   line32_rescue = Field ["Line32", "Amount"] Amount,+   line33_sum = subCalculationFields "Line33" ["I1", "Amount"] ["I2", "Amount"],+   line34_adoption = Field ["Line34", "Amount"] Amount,+   line35 = Field ["Line35", "Amount"] Amount,+   line36_pension = Field ["Line36", "Amount"] Amount,+   line37 = Field ["Line37", "Amount"] Amount,+   line38_disability = Field ["Line38", "Amount"] Amount,+   line39 = Field ["Line39", "Amount"] Amount,+   line40 = Field ["Line40", "Amount"] Amount,+   line41_interest = Field ["Line41", "Amount"] Amount,+   line42_education = Field ["Line42", "Amount"] Amount,+   line43_transferredChild = Field ["Line43", "Amount"] Amount,+   line44_transferredSpouse = Field ["Line44", "Amount"] Amount,+   line45 = Field ["Line45", "Amount"] Amount,+   medicalExpenses = within "MedicalExp" Rank2.<$> medicalExpensesFields,+   line52 = Field ["Line52", "Amount"] Amount,+   line53_sum = subCalculationFields "Line53" ["Amount1"] ["Amount2"],+   line54 = Field ["Line54", "Amount"] Amount,+   line55_rate = Field ["Line55", "PercentAmount_ReadOnly"] $ Constant 0.0506 Percent,+   line56_fraction = Field ["Line56", "Amount"] Amount,+   line57_donations = Field ["Line57", "Amount"] Amount,+   line58 = Field ["Line58", "Amount"] Amount,+   line59_food = Field ["Line59", "Gifts_from_57", "Amount"] Amount,+   line59_fraction = Field ["Line59", "Amount"] Amount,+   line60 = Field ["Line60", "Amount"] Amount}++medicalExpensesFields = MedicalExpenses {+   expenses = Field ["Line46", "Amount"] Amount,+   netIncome = Field ["Line47", "Amount"] Amount,+   incomeRate = Field ["Line48", "PercentAmount_ReadOnly"] $ Constant 0.03 Percent,+   fraction = Field ["Line49", "Amount"] Amount,+   lesser = Field ["Line50", "Amount"] Amount,+   difference = Field ["Line51", "Amount"] Amount}++partCFields = PartC {+   line61_tax = Field ["Line61", "Amount"] Amount,+   line62_splitIncomeTax = Field ["Line62", "Amount"] Amount,+   line63 = Field ["Line63", "Amount"] Amount,+   line64_copy = Field ["Line64", "Amount"] Amount,+   line65_dividendCredits = Field ["Line65", "Amount"] Amount,+   line66_copy = Field ["Line66", "Line40427", "Amount"] Amount,+   line66_fraction = Field ["Line66", "Amount"] Amount,+   line67_sum = subCalculationFields "Line67" ["Amount1"] ["Amount2"],+   line68 = Field ["Line68", "Amount"] Amount,+   line69_copy = Field ["Line69", "Line120", "Amount"] Amount,+   line69_fraction = Field ["Line69", "Amount"] Amount,+   line70 = Field ["Line70", "Amount"] Amount,+   line71_foreignCredit = Field ["Line71", "Amount"] Amount,+   line72 = Field ["Line72", "Amount"] Amount}++page3Fields = Page3 {+   partC = partCFields,+   line73_basicReduction = Field ["Line73", "Amount"] Amount,+   line74_copy = Field ["Line74", "Amount"] Amount,+   line75_base = Field ["Line75", "Amount_ReadOnly"] $ Constant 23_179 Amount,+   line76_difference = Field ["Line76", "Amount"] Amount,+   line77_rate = Field ["Line77", "PercentAmount_ReadOnly"] $ Constant 0.0356 Percent,+   line78_fraction = subCalculationFields "Line78" ["Amount1"] ["Amount2"],+   line79_difference = subCalculationFields "Line79" ["Amount1"] ["Amount2"],+   line80_difference = Field ["Line80", "Amount"] Amount,+   line81_logging = Field ["Line81", "Amount"] Amount,+   line82_difference = Field ["Line82", "Amount"] Amount,+   line83_political = Field ["Line83", "Amount"] Amount,+   line84_political = Field ["Line84", "Amount"] Amount,+   line85_difference = Field ["Line85", "Amount"] Amount,+   line86_esop20 = Field ["Line86", "Amount"] Amount,+   line87_evcc30 = Field ["Line87", "Amount"] Amount,+   line88_sum = subCalculationFields "Line88" ["Amount1"] ["Amount2"],+   line89_difference = Field ["Line89", "Amount"] Amount,+   line90_mining = Field ["Line90", "Amount"] Amount,+   line91_tax = Field ["Line91", "Amount"] Amount}
+ src/Tax/Canada/Province/BC/BC428/Fix.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++module Tax.Canada.Province.BC.BC428.Fix (BC428, fixBC428) where++import Control.Applicative (liftA2)+import Control.Monad (guard, mfilter)+import Data.Fixed (Centi)+import Rank2 qualified++import Tax.Canada.Province.BC.BC428.Types+import Tax.Canada.Shared (fixBaseCredit, fixMedicalExpenses, fixSubCalculation, fixTaxIncomeBracket,+                          BaseCredit(cont), MedicalExpenses (difference),+                          SubCalculation (result), TaxIncomeBracket (equalsTax))+import Tax.Util (fixEq, fractionOf, nonNegativeDifference, totalOf)++fixBC428 :: BC428 Maybe -> BC428 Maybe+fixBC428 = fixEq $ \bc428@BC428{..}-> BC428{page1 = fixPage1 page1,+                                            page2 = fixPage2 bc428 page2,+                                            page3 = fixPage3 bc428 page3}++fixPage1 :: Page1 Maybe -> Page1 Maybe+fixPage1 = fixEq $ \Page1{..}-> Page1{+   partA = fixPage1PartA partA,+   partB = fixPage1PartB partB}++fixPage1PartA :: Page1PartA Maybe -> Page1PartA Maybe+fixPage1PartA = fixEq $ \Page1PartA{..}-> Page1PartA{+   income = income,+   column1 = fixTaxIncomeBracket income (Just column2) column1,+   column2 = fixTaxIncomeBracket income (Just column3) column2,+   column3 = fixTaxIncomeBracket income (Just column4) column3,+   column4 = fixTaxIncomeBracket income (Just column5) column4,+   column5 = fixTaxIncomeBracket income (Just column6) column5,+   column6 = fixTaxIncomeBracket income (Just column7) column6,+   column7 = fixTaxIncomeBracket income Nothing column7}++fixPage1PartB :: Page1PartB Maybe -> Page1PartB Maybe+fixPage1PartB = fixEq $ \part@Page1PartB{..}-> part{+   line16_basic = Just 11981,+   spouseAmount = fixBaseCredit spouseAmount,+   dependantAmount = fixBaseCredit dependantAmount,+   line25 = totalOf [line16_basic, line17_age, spouseAmount.cont, dependantAmount.cont, line24_caregiver]}++fixPage2 :: BC428 Maybe -> Page2 Maybe -> Page2 Maybe+fixPage2 bc428 = fixEq $ \Page2{..}-> Page2{+  partB = fixPage2PartB bc428 partB}++fixPage2PartB :: BC428 Maybe -> Page2PartB Maybe -> Page2PartB Maybe+fixPage2PartB bc428 = fixEq $ \part@Page2PartB{..}-> part{+   line26 = bc428.page1.partB.line25,+   line33_sum = fixSubCalculation $+                totalOf [line27_cppQpp,+                         line28_cppQpp,+                         line29_employmentInsurance,+                         line30_employmentInsurance,+                         line31_firefighters,+                         line32_rescue],+   line35 = totalOf [line26, line33_sum.result, line34_adoption],+   line37 = totalOf [line35, line36_pension],+   line40 = totalOf [line37, line38_disability, line39],+   line45 = totalOf [line40, line41_interest, line42_education, line43_transferredChild, line44_transferredSpouse],+   medicalExpenses = fixMedicalExpenses 2491 medicalExpenses,+   line53_sum = fixSubCalculation $ totalOf [medicalExpenses.difference, line52],+   line54 = totalOf [line45, line53_sum.result],+   line56_fraction = line55_rate `fractionOf` line54,+   line58 = totalOf [line56_fraction, line57_donations],+   line59_fraction = Just 0.25 `fractionOf` line59_food,+   line60 = totalOf [line58, line59_fraction]}++fixPartC :: BC428 Maybe -> PartC Maybe -> PartC Maybe+fixPartC bc428 = fixEq $ \part@PartC{..}-> part{+   line61_tax = totalOf [bc428.page1.partA.column1.equalsTax,+                         bc428.page1.partA.column2.equalsTax,+                         bc428.page1.partA.column3.equalsTax,+                         bc428.page1.partA.column4.equalsTax,+                         bc428.page1.partA.column5.equalsTax,+                         bc428.page1.partA.column6.equalsTax,+                         bc428.page1.partA.column7.equalsTax],+   line63 = totalOf [line61_tax, line62_splitIncomeTax],+   line64_copy = bc428.page2.partB.line60,+   line66_fraction = Just 0.337 `fractionOf` line66_copy,+   line67_sum = fixSubCalculation $ totalOf [line64_copy, line65_dividendCredits, line66_fraction],+   line68 = nonNegativeDifference line63 line67_sum.result,+   line69_fraction = Just 0.337 `fractionOf` line69_copy,+   line70 = totalOf [line68, line69_fraction],+   line72 = nonNegativeDifference line70 line71_foreignCredit}++fixPage3 :: BC428 Maybe -> Page3 Maybe -> Page3 Maybe+fixPage3 bc428 = fixEq $ \page@Page3{..}-> page{+   partC = fixPartC bc428 partC,+   line73_basicReduction = Just 521,+   line76_difference = nonNegativeDifference line74_copy line75_base,+   line78_fraction = fixSubCalculation $ line77_rate `fractionOf` line76_difference,+   line79_difference = fixSubCalculation $ nonNegativeDifference line73_basicReduction line78_fraction.result,+   line80_difference = nonNegativeDifference partC.line72 line79_difference.result,+   line82_difference = nonNegativeDifference line80_difference line81_logging,+   line85_difference = nonNegativeDifference line82_difference line84_political,+   line88_sum = fixSubCalculation $ min 2000 <$> totalOf [line86_esop20, line87_evcc30],+   line89_difference = nonNegativeDifference line85_difference line88_sum.result,+   line91_tax = nonNegativeDifference line89_difference line90_mining}
+ src/Tax/Canada/Province/BC/BC428/Types.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Province.BC.BC428.Types where++import Data.Fixed (Centi)+import Language.Haskell.TH qualified as TH+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Shared (BaseCredit, MedicalExpenses, SubCalculation, TaxIncomeBracket)++data BC428 line = BC428 {+   page1 :: Page1 line,+   page2 :: Page2 line,+   page3 :: Page3 line}++data Page1 line = Page1 {+   partA :: Page1PartA line,+   partB :: Page1PartB line}++data Page1PartA line = Page1PartA {+   income :: line Centi,+   column1 :: TaxIncomeBracket line,+   column2 :: TaxIncomeBracket line,+   column3 :: TaxIncomeBracket line,+   column4 :: TaxIncomeBracket line,+   column5 :: TaxIncomeBracket line,+   column6 :: TaxIncomeBracket line,+   column7 :: TaxIncomeBracket line}++data Page1PartB line = Page1PartB {+   line16_basic :: line Centi,+   line17_age :: line Centi,+   spouseAmount :: BaseCredit line,+   dependantAmount :: BaseCredit line,+   line24_caregiver :: line Centi,+   line25 :: line Centi}++data Page2 line = Page2 {+  partB :: Page2PartB line}++data Page2PartB line = Page2PartB {+   line26 :: line Centi,+   line27_cppQpp :: line Centi,+   line28_cppQpp :: line Centi,+   line29_employmentInsurance :: line Centi,+   line30_employmentInsurance :: line Centi,+   line31_firefighters :: line Centi,+   line32_rescue :: line Centi,+   line33_sum :: SubCalculation line,+   line34_adoption :: line Centi,+   line35 :: line Centi,+   line36_pension :: line Centi,+   line37 :: line Centi,+   line38_disability :: line Centi,+   line39 :: line Centi,+   line40 :: line Centi,+   line41_interest :: line Centi,+   line42_education :: line Centi,+   line43_transferredChild :: line Centi,+   line44_transferredSpouse :: line Centi,+   line45 :: line Centi,+   medicalExpenses :: MedicalExpenses line,+   line52 :: line Centi,+   line53_sum :: SubCalculation line,+   line54 :: line Centi,+   line55_rate :: line Rational,+   line56_fraction :: line Centi,+   line57_donations :: line Centi,+   line58 :: line Centi,+   line59_food :: line Centi,+   line59_fraction :: line Centi,+   line60 :: line Centi}++data PartC line = PartC {+   line61_tax :: line Centi,+   line62_splitIncomeTax :: line Centi,+   line63 :: line Centi,+   line64_copy :: line Centi,+   line65_dividendCredits :: line Centi,+   line66_copy :: line Centi,+   line66_fraction :: line Centi,+   line67_sum :: SubCalculation line,+   line68 :: line Centi,+   line69_copy :: line Centi,+   line69_fraction :: line Centi,+   line70 :: line Centi,+   line71_foreignCredit :: line Centi,+   line72 :: line Centi}++data Page3 line = Page3 {+   partC :: PartC line,+   line73_basicReduction :: line Centi,+   line74_copy :: line Centi,+   line75_base :: line Centi,+   line76_difference :: line Centi,+   line77_rate :: line Rational,+   line78_fraction :: SubCalculation line,+   line79_difference :: SubCalculation line,+   line80_difference :: line Centi,+   line81_logging :: line Centi,+   line82_difference :: line Centi,+   line83_political :: line Centi,+   line84_political :: line Centi,+   line85_difference :: line Centi,+   line86_esop20 :: line Centi,+   line87_evcc30 :: line Centi,+   line88_sum :: SubCalculation line,+   line89_difference :: line Centi,+   line90_mining :: line Centi,+   line91_tax :: line Centi}++$(foldMap+   (\t-> concat <$> sequenceA [+       [d|+           deriving instance (Show (line Centi), Show (line Rational), Show (line Word))+                          => Show ($(TH.conT t) line)+           deriving instance (Eq (line Centi), Eq (line Rational), Eq (line Word))+                          => Eq ($(TH.conT t) line)+       |],+       Rank2.TH.deriveAll t,+       Transformation.Shallow.TH.deriveAll t])+   [''BC428, ''Page1, ''Page2, ''Page3,+    ''Page1PartA, ''Page1PartB, ''Page2PartB, ''PartC])
+ src/Tax/Canada/Province/BC/BC479/FieldNames.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.Province.BC.BC479.FieldNames (bc479Fields) where++import Data.Fixed (Centi)+import Rank2 qualified++import Tax.Canada.Province.BC.BC479.Types+import Tax.Canada.Shared (subCalculationFields)+import Tax.FDF (Entry (Amount, Checkbox, Constant, Count, Percent, Textual), FieldConst (Field), within)++bc479Fields = within "form1" Rank2.<$> BC479 {+   page1 = within "Page1" Rank2.<$> page1Fields,+   page2 = within "Page2" Rank2.<$> page2Fields,+   page3 = within "Page3" Rank2.<$> page3Fields}++page1Fields = Page1 {+   line1_netIncome_self = Field ["Chart", "Column1", "Line1", "Col1_Amount"] Amount,+   line1_netIncome_spouse = Field ["Chart", "Column2", "Line1", "Col2_Amount"] Amount,+   line2_uccb_rdsp_repayment_self = Field ["Chart", "Column1", "Line2", "Col1_Amount"] Amount,+   line2_uccb_rdsp_repayment_spouse = Field ["Chart", "Column2", "Line2", "Col2_Amount"] Amount,+   line3_sum_self = Field ["Chart", "Column1", "Line3", "Col1_Amount"] Amount,+   line3_sum_spouse = Field ["Chart", "Column2", "Line3", "Col2_Amount"] Amount,+   line4_uccb_rdsp_income_self = Field ["Chart", "Column1", "Line4", "Col1_Amount"] Amount,+   line4_uccb_rdsp_income_spouse = Field ["Chart", "Column2", "Line4", "Col2_Amount"] Amount,+   line5_difference_self = Field ["Chart", "Column1", "Line5", "Col1_Amount"] Amount,+   line5_difference_spouse = Field ["Chart", "Column2", "Line5", "Col2_Amount"] Amount,+   line6_sum = Field ["Chart", "Line6", "Amount"] Amount,+   line7_threshold = Field ["Line7", "Amount"] Amount,+   line8_difference = Field ["Line8", "Amount"] Amount,+   line_60330_sales = Field ["Line9", "Amount"] Amount,+   line_60350_spouse = Field ["Line10", "Amount"] Amount,+   line11_sum = Field ["Line11", "Amount"] Amount,+   line12_copy = Field ["Line12", "Amount1"] Amount,+   line12_fraction = Field ["Line12", "Amount2"] Amount,+   line13_difference = Field ["Line13", "Amount"] Amount,+   line_60890_separate = Field ["BCSHRTC", "Line60890", "CheckBox"] Checkbox,+   line_60480_renovation = Field ["BCSHRTC", "Line14", "Line60480", "Amount"] Amount,+   line14_fraction = Field ["BCSHRTC", "Line14", "Amount"] Amount,+   line15_sum = Field ["BCSHRTC", "Line15", "Amount"] Amount}++page2Fields = Page2 {+   line16_copy = Field ["Line16", "Amount"] Amount,+   line17_venture = Field ["BCVCTC", "Line17", "Amount"] Amount,+   line_60490_shares = Field ["BCVCTC", "Line18", "Amount"] Amount,+   line_60491_certificate = Field ["BCVCTC", "Line19", "Account_Number_Comb_EN", "Account_Number"] Textual,+   line_60495_shares = Field ["BCVCTC", "Line20", "Amount"] Amount,+   line_60496_certificate = Field ["BCVCTC", "Line21", "Account_Number"] Textual,+   line22_sum = subCalculationFields "BCVCTC" ["Line22", "I1", "Amount1"] ["Line22", "I2", "Amount2"],+   line_60510_fromT88 = Field ["BCMETC", "Line23", "Amount"] Amount,+   line_60530_fromT88 = Field ["BCMETC", "Line24", "Amount"] Amount,+   line_60545_buildings = Field ["BCCBTC", "Line25", "I1", "Amount1"] Amount,+   line_60546_partnership = Field ["BCCBTC", "Line26", "I1", "Amount1"] Amount,+   line27_sum = subCalculationFields "BCCBTC" ["Line27", "I1", "Amount1"] ["Line27", "I2", "Amount2"],+   line_60550_training = Field ["BCTTC", "Line28", "Amount"] Amount,+   line_60560_training = Field ["BCTTC", "Line29", "Amount"] Amount,+   line_60570_ships = Field ["BCTTC", "Line30", "Amount"] Amount,+   line31_sum = subCalculationFields "BCTTC" ["Line31", "I1", "Amount1"] ["Line31", "I2", "Amount2"],+   line32_credits = Field ["BCTTC", "Line32", "Amount"] Amount}++page3Fields = Page3 {+   line33_copy = Field ["Line33", "Amount"] Amount,+   tenancy_months1 = Field ["Table", "Row1", "Numberofmonths"] Count,+   tenancy_months2 = Field ["Table", "Row2", "Numberofmonths"] Count,+   rent_paid1 = Field ["Table", "Row1", "RentPaid"] Amount,+   rent_paid2 = Field ["Table", "Row2", "Rentpaid"] Amount,+   line_60575_sum = Field ["Line34", "Amount"] Count,+   line35_ceiling = Field ["Line35", "Amount_ReadOnly"] $ Constant 400 Amount,+   line36_income_copy = Field ["Line36", "Amount"] Amount,+   line37_threshold = Field ["Line37", "AmountRead_Only"] $ Constant 60_000 Amount,+   line38_difference = Field ["Line38", "Amount"] Amount,+   line39_rate = Field ["Line39", "PercentAmount_ReadOnly"] $ Constant 0.02 Percent,+   line40_fraction = subCalculationFields "Line40" ["L1", "Amount"] ["L2", "Amount2"],+   line_60576_difference = subCalculationFields "Line41" ["I1", "Amount1"] ["I2", "Amount2"],+   line42_credits = Field ["Line42", "Amount"] Amount}
+ src/Tax/Canada/Province/BC/BC479/Fix.hs view
@@ -0,0 +1,48 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE RecordWildCards #-}++module Tax.Canada.Province.BC.BC479.Fix (BC479, fixBC479) where++import Tax.Canada.Province.BC.BC479.Types+import Tax.Canada.Shared (fixSubCalculation, SubCalculation(result))+import Tax.Util (fixEq, fractionOf, nonNegativeDifference, totalOf)++fixBC479 :: BC479 Maybe -> BC479 Maybe+fixBC479 = fixEq $ \bc479@BC479{..}-> BC479{page1 = fixPage1 page1,+                                            page2 = fixPage2 bc479 page2,+                                            page3 = fixPage3 bc479 page3}++fixPage1 :: Page1 Maybe -> Page1 Maybe+fixPage1 = fixEq $ \page@Page1{..}-> page{+   line3_sum_self = totalOf [line1_netIncome_self, line2_uccb_rdsp_repayment_self],+   line3_sum_spouse = totalOf [line1_netIncome_spouse, line2_uccb_rdsp_repayment_spouse],+   line5_difference_self = nonNegativeDifference line3_sum_self line4_uccb_rdsp_income_self,+   line5_difference_spouse = nonNegativeDifference line3_sum_spouse line4_uccb_rdsp_income_spouse,+   line6_sum = totalOf [line5_difference_self, line5_difference_spouse],+   line8_difference = nonNegativeDifference line6_sum line7_threshold,+   line_60330_sales = Just 75,+   line11_sum = totalOf [line_60330_sales, line_60350_spouse],+   line12_copy = line8_difference,+   line12_fraction = (0.02 *) <$> line8_difference,+   line13_difference = nonNegativeDifference line11_sum line12_fraction,+   line14_fraction = (0.1 *) <$> line_60480_renovation,+   line15_sum = totalOf [line13_difference, line14_fraction]}++fixPage2 :: BC479 Maybe -> Page2 Maybe -> Page2 Maybe+fixPage2 bc479 = fixEq $ \page2@Page2{..}-> page2{+   line16_copy = bc479.page1.line15_sum,+   line22_sum = fixSubCalculation $ totalOf [line17_venture, line_60490_shares, line_60495_shares],+   line27_sum = fixSubCalculation $ totalOf [line_60545_buildings, line_60546_partnership],+   line31_sum = fixSubCalculation $ totalOf [line_60550_training, line_60560_training, line_60570_ships],+   line32_credits = totalOf [line16_copy, line22_sum.result, line27_sum.result, line_60510_fromT88, line31_sum.result]}++fixPage3 :: BC479 Maybe -> Page3 Maybe -> Page3 Maybe+fixPage3 bc479 = fixEq $ \page3@Page3{..}-> page3{+   line33_copy = bc479.page2.line32_credits,+   line_60575_sum = totalOf [tenancy_months1, tenancy_months2],+   line36_income_copy = bc479.page1.line6_sum,+   line38_difference = nonNegativeDifference line36_income_copy line37_threshold,+   line40_fraction = fixSubCalculation $ line39_rate `fractionOf` line38_difference,+   line_60576_difference = fixSubCalculation $ nonNegativeDifference line35_ceiling line40_fraction.result,+   line42_credits = totalOf [line33_copy, line_60576_difference.result]}
+ src/Tax/Canada/Province/BC/BC479/Types.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Province.BC.BC479.Types where++import Data.Fixed (Centi)+import Data.Text (Text)+import Language.Haskell.TH qualified as TH+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Shared (SubCalculation)++data BC479 line = BC479 {+   page1 :: Page1 line,+   page2 :: Page2 line,+   page3 :: Page3 line}++data Page1 line = Page1 {+   line1_netIncome_self :: line Centi,+   line1_netIncome_spouse :: line Centi,+   line2_uccb_rdsp_repayment_self :: line Centi,+   line2_uccb_rdsp_repayment_spouse :: line Centi,+   line3_sum_self :: line Centi,+   line3_sum_spouse :: line Centi,+   line4_uccb_rdsp_income_self :: line Centi,+   line4_uccb_rdsp_income_spouse :: line Centi,+   line5_difference_self :: line Centi,+   line5_difference_spouse :: line Centi,+   line6_sum :: line Centi,+   line7_threshold :: line Centi,+   line8_difference :: line Centi,+   line_60330_sales :: line Centi,+   line_60350_spouse :: line Centi,+   line11_sum :: line Centi,+   line12_copy :: line Centi,+   line12_fraction :: line Centi,+   line13_difference :: line Centi,+   line_60890_separate :: line Bool,+   line_60480_renovation :: line Centi,+   line14_fraction :: line Centi,+   line15_sum :: line Centi}++data Page2 line = Page2 {+   line16_copy :: line Centi,+   line17_venture :: line Centi,+   line_60490_shares :: line Centi,+   line_60491_certificate :: line Text,+   line_60495_shares :: line Centi,+   line_60496_certificate :: line Text,+   line22_sum :: SubCalculation line,+   line_60510_fromT88 :: line Centi,+   line_60530_fromT88 :: line Centi,+   line_60545_buildings :: line Centi,+   line_60546_partnership :: line Centi,+   line27_sum :: SubCalculation line,+   line_60550_training :: line Centi,+   line_60560_training :: line Centi,+   line_60570_ships :: line Centi,+   line31_sum :: SubCalculation line,+   line32_credits :: line Centi}++data Page3 line = Page3 {+   line33_copy :: line Centi,+   tenancy_months1 :: line Word,+   tenancy_months2 :: line Word,+   rent_paid1 :: line Centi,+   rent_paid2 :: line Centi,+   line_60575_sum :: line Word,+   line35_ceiling :: line Centi,+   line36_income_copy :: line Centi,+   line37_threshold :: line Centi,+   line38_difference :: line Centi,+   line39_rate :: line Rational,+   line40_fraction :: SubCalculation line,+   line_60576_difference :: SubCalculation line,+   line42_credits :: line Centi}++$(foldMap+   (\t-> concat <$> sequenceA [+       [d|+           deriving instance (Show (line Bool), Show (line Centi), Show (line Word),+                              Show (line Rational), Show (line Text)) => Show ($(TH.conT t) line)+           deriving instance (Eq (line Bool), Eq (line Centi), Eq (line Word),+                              Eq (line Rational), Eq (line Text)) => Eq ($(TH.conT t) line)+       |],+       Rank2.TH.deriveAll t,+       Transformation.Shallow.TH.deriveAll t])+   [''BC479, ''Page1, ''Page2, ''Page3])
+ src/Tax/Canada/Province/MB.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.Province.MB (MB428, fixMB428, fixReturns, mb428Fields, returnFields, t1Fields) where++import qualified Rank2++import Data.CAProvinceCodes (Code(MB))++import Tax.Canada.Federal qualified as Federal+import Tax.Canada.Federal (Forms(t1), fixFederalForms)+import Tax.Canada.Federal.Schedule9 qualified as Schedule9+import Tax.Canada.T1.Types (T1 (T1, page7, page8), Page7(Page7, step6_RefundOrBalanceOwing), Page8(Page8))+import Tax.Canada.T1.Types qualified as T1+import Tax.Canada.T1.FieldNames.AB (t1Fields)  -- same T1 form as Alberta+import Tax.Canada.T1.Fix (fixT1)++import Tax.Canada.Province.MB.MB428.Types qualified as MB+import Tax.Canada.Province.MB.MB428.Types qualified as MB.Page1 (Page1(..))+import Tax.Canada.Province.MB.MB428.Types qualified as MB.Page2 (Page2(..))+import Tax.Canada.Province.MB.MB428.Types (MB428 (MB428))+import Tax.Canada.Province.MB.MB428.Fix (fixMB428)+import Tax.Canada.Province.MB.MB428.FieldNames (mb428Fields)++import Tax.Canada.Shared(MedicalExpenses(..), BaseCredit(..))+import Tax.FDF (FieldConst, within)+import Tax.Util (fixEq)++import Data.Functor.Product (Product(Pair))++type Returns = Product Federal.Forms MB428++fixReturns :: Returns Maybe -> Returns Maybe+fixReturns =+  fixEq $ \(Pair ff@Federal.Forms{t1 = t1@T1{page7 = page7@Page7{step6_RefundOrBalanceOwing},+                                             page8 = page8@Page8{step6_RefundOrBalanceOwing = page8step6}},+                                  schedule9}+                 mb428@MB428{page1 = page1@MB.Page1{partA, partB = partB1@MB.Page1PartB{spouseAmount}},+                             page2 = page2@MB.Page2{MB.partB = partB2@MB.Page2PartB{MB.medicalExpenses}},+                             page3 = page3@MB.Page3{MB.partC}})+          -> Pair (fixFederalForms ff{t1 = t1{page7 =+                                              page7{step6_RefundOrBalanceOwing =+                                                    step6_RefundOrBalanceOwing{T1.line_42800_ProvTerrTax =+                                                                               mb428.page3.partC.line82_tax}}}})+                  (fixMB428 mb428{MB.page1 =+                                  page1{MB.Page1.income = t1.page5.step4_TaxableIncome.line_26000_TaxableIncome,+                                        MB.Page1.partB = partB1{MB.spouseAmount =+                                                                   spouseAmount{reduction = t1.page1.spouse.line23600},+                                                                MB.line19_cppQpp = t1.page6.line30800,+                                                                MB.line20_cppQpp = t1.page6.line31000,+                                                                MB.line21_employmentInsurance = t1.page6.line31200,+                                                                MB.line22_employmentInsurance = t1.page6.line31217}},+                                  MB.page2 =+                                  page2{MB.Page2.partB = partB2{MB.line37_interest = t1.page6.line31900,+                                                                MB.medicalExpenses =+                                                                medicalExpenses{+                                                                   expenses = t1.page6.medical_expenses.familyExpenses,+                                                                   netIncome = t1.page4.line_23600_NetIncome},+                                                                MB.donations = partB2.donations{+                                                                   MB.line54_base = schedule9.line13_min,+                                                                   MB.line55_base = schedule9.line14_difference}}},+                                  MB.page3 =+                                  page3{MB.partC = partC{MB.line63_copy = t1.page7.partC_NetFederalTax.line40427}}})++returnFields :: Returns FieldConst+returnFields = Pair (Federal.formFieldsForProvince MB) (within "428" Rank2.<$> mb428Fields)
+ src/Tax/Canada/Province/MB/MB428/FieldNames.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.Province.MB.MB428.FieldNames (mb428Fields) where++import Data.Fixed (Centi)+import Rank2 qualified++import Tax.Canada.Province.MB.MB428.Types+import Tax.Canada.Shared (BaseCredit(..), MedicalExpenses(..), TaxIncomeBracket (..), subCalculationFields)+import Tax.FDF (Entry (Count, Constant, Amount, Percent), FieldConst (Field, NoField), within)++mb428Fields = within "form1" Rank2.<$> MB428 {+   page1 = within "Page1" Rank2.<$> page1Fields,+   page2 = within "Page2" Rank2.<$> page2Fields,+   page3 = within "Page3" Rank2.<$> page3Fields}+++page1Fields = Page1 {+   income = Field ["Line1", "Amount"] Amount,+   partA = within "Table" Rank2.<$> page1PartAFields,+   partB = page1PartBFields}++page1PartAFields = Page1PartA {+   column1 = within "Column1" Rank2.<$> taxIncomeBracketFields      0  0.108      0,+   column2 = within "Column2" Rank2.<$> taxIncomeBracketFields  36_842 0.1275 3_978.94,+   column3 = within "Column3" Rank2.<$> (taxIncomeBracketFields 79_625 0.174  9_433.77)}++taxIncomeBracketFields :: Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst+taxIncomeBracketFields threshold rate baseTax = TaxIncomeBracket {+   income = Field ["Line2", "Amount"] Amount,+   threshold = Field ["Line3", "Amount"] $ Constant threshold Amount,+   overThreshold = Field ["Line4", "Amount"] Amount,+   rate = Field ["Line5", "Percent"] $ Constant rate Percent,+   timesRate = Field ["Line6", "Amount"] Amount,+   baseTax = Field ["Line7", "Amount"] $ Constant baseTax Amount,+   equalsTax = Field ["Line8", "Amount"] Amount}++page1PartBFields = Page1PartB {+   line9_basic = Field ["Line9", "Amount"] Amount,+   line10_age = Field ["Line10", "Amount"] Amount,+   spouseAmount = BaseCredit{+       baseAmount = Field ["Line11", "Amount"] $ Constant 9_134 Amount,+       reduction = Field ["Line12", "Amount"] Amount,+       difference = Field ["line13", "Amount1"] Amount,+       cont = Field ["line13", "Amount2"] Amount},+   dependantAmount = BaseCredit{+       baseAmount = Field ["Line14", "Amount"] $ Constant 9_134 Amount,+       reduction = Field ["Line15", "Amount"] Amount,+       difference = Field ["Line16", "Amount1"] Amount,+       cont = Field ["Line16", "Amount2"] Amount},+   line17_infirm = Field ["Line17", "Amount"] Amount,+   line18 = Field ["Line18", "Amount"] Amount,+   line19_cppQpp = Field ["Line19", "Amount"] Amount,+   line20_cppQpp = Field ["Line20", "Amount"] Amount,+   line21_employmentInsurance = Field ["Line21", "Amount"] Amount,+   line22_employmentInsurance = Field ["Line22", "Amount"] Amount,+   line23_firefighters = Field ["Line23", "Amount"] Amount,+   line24_rescue = Field ["Line24", "Amount"] Amount,+   line25_fitness = Field ["Line25", "Amount"] Amount,+   line26_arts = Field ["Line26", "Amount"] Amount,+   line27_adoption = Field ["Line27", "Amount"] Amount,+   line28_sum = subCalculationFields "Line28" ["Amount1"] ["Amount2"],+   line29 = Field ["Line29", "Amount"] Amount}++page2Fields = Page2 {+  partB = within "PartB" Rank2.<$> page2PartBFields}++page2PartBFields = Page2PartB {+   line30 = Field ["Line30", "Amount"] Amount,+   line31_pension = Field ["Line31", "Amount"] Amount,+   line32_caregiver = Field ["Line32", "Amount"] Amount,+   line33 = Field ["Line33", "Amount"] Amount,+   line34_disability = Field ["Line34", "Amount"] Amount,+   line35 = Field ["Line35", "Amount"] Amount,+   line36 = Field ["Line36", "Amount"] Amount,+   line37_interest = Field ["Line37", "Amount"] Amount,+   line38_education = Field ["Line38", "Amount"] Amount,+   line39_transferredChild = Field ["Line39", "Amount"] Amount,+   line40_transferredSpouse = Field ["Line40", "Amount"] Amount,+   line41_family = Field ["Line41", "Amount"] Amount,+   line42_sum = Field ["Line42", "Amount"] Amount,+   medicalExpenses = within "MedicalExpenses" Rank2.<$> medicalExpensesFields,+   line49 = Field ["Line49", "Amount"] Amount,+   line50_sum = subCalculationFields "Line50" ["Amount1"] ["Amount2"],+   line51 = Field ["Line51", "Amount"] Amount,+   line52_rate = Field ["Line52", "Percent_ReadOnly"] $ Constant 0.108 Percent,+   line53_fraction = Field ["Line53", "Amount"] Amount,+   donations = donationFields,+   line56_sum = subCalculationFields "Line56" ["Amount1"] ["Amount2"],+   line57 = Field ["Line57", "Amount"] Amount}++medicalExpensesFields = MedicalExpenses {+   expenses = Field ["Line43", "Amount"] Amount,+   netIncome = Field ["Line44", "Amount"] Amount,+   incomeRate = Field ["Line45", "Percent_ReadOnly"] $ Constant 0.03 Percent,+   fraction = Field ["Line46", "Amount"] Amount,+   lesser = Field ["Line47", "Amount"] Amount,+   difference = Field ["Line48", "Amount"] Amount}++donationFields = Donations {+   line54_base = Field ["Line54", "Amount1"] Amount,+   line54_fraction = Field ["Line54", "Amount2"] Amount,+   line55_base = Field ["Line55", "Amount1"] Amount,+   line55_fraction = Field ["Line55", "Amount2"] Amount}++page3Fields = Page3 {+   partC = within "PartC" Rank2.<$> partCFields}++partCFields = PartC {+   line58_tax = Field ["Line58", "Amount"] Amount,+   line59_splitIncomeTax = Field ["Line59", "Amount"] Amount,+   line60 = Field ["Line60", "Amount"] Amount,+   line61_copy = Field ["Line61", "Amount"] Amount,+   line62_dividendCredits = Field ["Line62", "Amount"] Amount,+   line63_copy = Field ["Line63", "Amount1"] Amount,+   line63_fraction = Field ["Line63", "Amount2"] Amount,+   line64_sum = subCalculationFields "Line64" ["Amount1"] ["Amount2"],+   line65_difference = Field ["Line65", "Amount"] Amount,+   line66_fromT691 = Field ["Line66", "Amount1"] Amount,+   line66_fraction = Field ["Line66", "Amount2"] Amount,+   line67 = Field ["Line67", "Amount"] Amount,+   line68_political = Field ["Line68", "Amount"] Amount,+   line69_political = Field ["Line69", "Amount"] Amount,+   line70_difference = Field ["Line70", "Amount"] Amount,+   line71_labour = Field ["Line71", "Amount"] Amount,+   line72_difference = Field ["Line72", "Amount"] Amount,+   line73_foreignCredit = Field ["Line73", "Amount"] Amount,+   line74_difference = Field ["Line74", "Amount"] Amount,+   line75_community = Field ["Line75", "Amount"] Amount,+   line76_difference = Field ["Line76", "Amount"] Amount,+   line77_venture = Field ["Line77", "Amount"] Amount,+   line78_difference = Field ["Line78", "Amount"] Amount,+   line79_sharePurchase = Field ["Line79", "Amount"] Amount,+   line80_difference = Field ["Line80", "Amount"] Amount,+   line81_mineral = Field ["Line81", "Amount"] Amount,+   line82_tax = Field ["Line82", "Amount"] Amount}
+ src/Tax/Canada/Province/MB/MB428/Fix.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++module Tax.Canada.Province.MB.MB428.Fix (MB428, fixMB428) where++import Control.Applicative (liftA2)+import Control.Monad (guard)+import Data.Fixed (Centi)+import Rank2 qualified++import Tax.Canada.Province.MB.MB428.Types+import Tax.Canada.Shared (fixBaseCredit, fixMedicalExpenses, fixSubCalculation, fixTaxIncomeBracket,+                          BaseCredit(cont), MedicalExpenses (difference),+                          SubCalculation (result), TaxIncomeBracket (equalsTax))+import Tax.Util (fixEq, fractionOf, nonNegativeDifference, totalOf)++fixMB428 :: MB428 Maybe -> MB428 Maybe+fixMB428 = fixEq $ \mb428@MB428{..}-> MB428{page1 = fixPage1 page1,+                                            page2 = fixPage2 mb428 page2,+                                            page3 = fixPage3 mb428 page3}++fixPage1 :: Page1 Maybe -> Page1 Maybe+fixPage1 = fixEq $ \Page1{..}-> Page1{+   income = income,+   partA = fixPage1PartA income partA,+   partB = fixPage1PartB partB}++fixPage1PartA :: Maybe Centi -> Page1PartA Maybe -> Page1PartA Maybe+fixPage1PartA income = fixEq $ \Page1PartA{..}-> Page1PartA{+   column1 = fixTaxIncomeBracket income (Just column2) column1,+   column2 = fixTaxIncomeBracket income (Just column3) column2,+   column3 = fixTaxIncomeBracket income Nothing column3}++fixPage1PartB :: Page1PartB Maybe -> Page1PartB Maybe+fixPage1PartB = fixEq $ \part@Page1PartB{..}-> part{+   line9_basic = Just 15000,+   spouseAmount = fixBaseCredit spouseAmount,+   dependantAmount = fixBaseCredit dependantAmount,+   line18 = totalOf [line9_basic, line10_age, spouseAmount.cont, dependantAmount.cont, line17_infirm],+   line28_sum = fixSubCalculation $+                totalOf [line19_cppQpp,+                         line20_cppQpp,+                         line21_employmentInsurance,+                         line22_employmentInsurance,+                         line23_firefighters,+                         line24_rescue,+                         line25_fitness,+                         line26_arts,+                         line27_adoption],+   line29 = totalOf [line18, line28_sum.result]}++fixPage2 :: MB428 Maybe -> Page2 Maybe -> Page2 Maybe+fixPage2 mb428 = fixEq $ \Page2{..}-> Page2{+  partB = fixPage2PartB mb428 partB}++fixPage2PartB :: MB428 Maybe -> Page2PartB Maybe -> Page2PartB Maybe+fixPage2PartB mb428 = fixEq $ \part@Page2PartB{..}-> part{+   line30 = mb428.page1.partB.line29,+   line33 = totalOf [line30, line31_pension, line32_caregiver],+   line36 = totalOf [line33, line34_disability, line35],+   line42_sum = totalOf [line36,+                         line37_interest,+                         line38_education,+                         line39_transferredChild,+                         line40_transferredSpouse,+                         line41_family],+   medicalExpenses = fixMedicalExpenses 1728 medicalExpenses,+   line50_sum = fixSubCalculation $ totalOf [medicalExpenses.difference, line49],+   line51 = totalOf [line42_sum, line50_sum.result],+   line53_fraction = line52_rate `fractionOf` line51,+   donations = fixDonations donations,+   line56_sum = fixSubCalculation $ totalOf [donations.line54_fraction, donations.line55_fraction],+   line57 = totalOf [line53_fraction, line56_sum.result]}++fixDonations :: Donations Maybe -> Donations Maybe+fixDonations = fixEq $ \part@Donations{..} -> part{+   line54_fraction = Just 0.108 `fractionOf` line54_base,+   line55_fraction = Just 0.174 `fractionOf` line55_base}++fixPage3 :: MB428 Maybe -> Page3 Maybe -> Page3 Maybe+fixPage3 mb428 = fixEq $ \page@Page3{..}-> page{+   partC = fixPartC mb428 partC}++fixPartC :: MB428 Maybe -> PartC Maybe -> PartC Maybe+fixPartC mb428 = fixEq $ \part@PartC{..}-> part{+   line58_tax = totalOf [mb428.page1.partA.column1.equalsTax,+                         mb428.page1.partA.column2.equalsTax,+                         mb428.page1.partA.column3.equalsTax],+   line60 = totalOf [line58_tax, line59_splitIncomeTax],+   line61_copy = mb428.page2.partB.line57,+   line63_fraction = Just 0.5 `fractionOf` line63_copy,+   line64_sum = fixSubCalculation $ totalOf [line61_copy, line62_dividendCredits, line63_fraction],+   line65_difference = nonNegativeDifference line60 line64_sum.result,+   line66_fraction = Just 0.5 `fractionOf` line66_fromT691,+   line67 = totalOf [line65_difference, line66_fraction],+   line70_difference = nonNegativeDifference line67 line69_political,+   line72_difference = nonNegativeDifference line70_difference line71_labour,+   line74_difference = nonNegativeDifference line72_difference line73_foreignCredit,+   line76_difference = nonNegativeDifference line74_difference line75_community,+   line78_difference = nonNegativeDifference line76_difference line77_venture,+   line80_difference = nonNegativeDifference line78_difference line79_sharePurchase,+   line82_tax = nonNegativeDifference line80_difference line81_mineral}
+ src/Tax/Canada/Province/MB/MB428/Types.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Province.MB.MB428.Types where++import Data.Fixed (Centi)+import Language.Haskell.TH qualified as TH+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Shared (BaseCredit, MedicalExpenses, SubCalculation, TaxIncomeBracket)++data MB428 line = MB428 {+   page1 :: Page1 line,+   page2 :: Page2 line,+   page3 :: Page3 line}++data Page1 line = Page1 {+   income :: line Centi,+   partA :: Page1PartA line,+   partB :: Page1PartB line}++data Page1PartA line = Page1PartA {+   column1 :: TaxIncomeBracket line,+   column2 :: TaxIncomeBracket line,+   column3 :: TaxIncomeBracket line}++data Page1PartB line = Page1PartB {+   line9_basic :: line Centi,+   line10_age :: line Centi,+   spouseAmount :: BaseCredit line,+   dependantAmount :: BaseCredit line,+   line17_infirm :: line Centi,+   line18 :: line Centi,+   line19_cppQpp :: line Centi,+   line20_cppQpp :: line Centi,+   line21_employmentInsurance :: line Centi,+   line22_employmentInsurance :: line Centi,+   line23_firefighters :: line Centi,+   line24_rescue :: line Centi,+   line25_fitness :: line Centi,+   line26_arts :: line Centi,+   line27_adoption :: line Centi,+   line28_sum :: SubCalculation line,+   line29 :: line Centi}++data Page2 line = Page2 {+  partB :: Page2PartB line}++data Page2PartB line = Page2PartB {+   line30 :: line Centi,+   line31_pension :: line Centi,+   line32_caregiver :: line Centi,+   line33 :: line Centi,+   line34_disability :: line Centi,+   line35 :: line Centi,+   line36 :: line Centi,+   line37_interest :: line Centi,+   line38_education :: line Centi,+   line39_transferredChild :: line Centi,+   line40_transferredSpouse :: line Centi,+   line41_family :: line Centi,+   line42_sum :: line Centi,+   medicalExpenses :: MedicalExpenses line,+   line49 :: line Centi,+   line50_sum :: SubCalculation line,+   line51 :: line Centi,+   line52_rate :: line Rational,+   line53_fraction :: line Centi,+   donations :: Donations line,+   line56_sum :: SubCalculation line,+   line57 :: line Centi}++data Donations line = Donations {+   line54_base :: line Centi,+   line54_fraction :: line Centi,+   line55_base :: line Centi,+   line55_fraction :: line Centi}++data Page3 line = Page3 {+   partC :: PartC line}++data PartC line = PartC {+   line58_tax :: line Centi,+   line59_splitIncomeTax :: line Centi,+   line60 :: line Centi,+   line61_copy :: line Centi,+   line62_dividendCredits :: line Centi,+   line63_copy :: line Centi,+   line63_fraction :: line Centi,+   line64_sum :: SubCalculation line,+   line65_difference :: line Centi,+   line66_fromT691 :: line Centi,+   line66_fraction :: line Centi,+   line67 :: line Centi,+   line68_political :: line Centi,+   line69_political :: line Centi,+   line70_difference :: line Centi,+   line71_labour :: line Centi,+   line72_difference :: line Centi,+   line73_foreignCredit :: line Centi,+   line74_difference :: line Centi,+   line75_community :: line Centi,+   line76_difference :: line Centi,+   line77_venture :: line Centi,+   line78_difference :: line Centi,+   line79_sharePurchase :: line Centi,+   line80_difference :: line Centi,+   line81_mineral :: line Centi,+   line82_tax :: line Centi}++$(foldMap+   (\t-> concat <$> sequenceA [+       [d|+           deriving instance (Show (line Centi), Show (line Rational), Show (line Word))+                          => Show ($(TH.conT t) line)+           deriving instance (Eq (line Centi), Eq (line Rational), Eq (line Word))+                          => Eq ($(TH.conT t) line)+       |],+       Rank2.TH.deriveAll t,+       Transformation.Shallow.TH.deriveAll t])+   [''MB428, ''Page1, ''Page2, ''Page3,+    ''Page1PartA, ''Page1PartB, ''Page2PartB, ''PartC, ''Donations])
+ src/Tax/Canada/Province/NB.hs view
@@ -0,0 +1,3 @@+module Tax.Canada.Province.NB (t1Fields) where++import Tax.Canada.T1.FieldNames.NB (t1Fields)
+ src/Tax/Canada/Province/NL.hs view
@@ -0,0 +1,3 @@+module Tax.Canada.Province.NL (t1Fields) where++import Tax.Canada.T1.FieldNames.NL (t1Fields)
+ src/Tax/Canada/Province/ON.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE Haskell2010 #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Province.ON (Returns(..), ON428, ON479, fixON428, fixON479, fixReturns,+                               returnFields, t1Fields, on428Fields, on479Fields) where++import Data.CAProvinceCodes (Code(ON))+import Rank2 qualified+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Federal qualified as Federal+import Tax.Canada.Federal (Forms(t1), fixFederalForms)+import Tax.Canada.Federal.Schedule9 qualified as Schedule9+import Tax.Canada.T1.Types (T1 (T1, page7, page8), Page7(Page7, step6_RefundOrBalanceOwing), Page8(Page8))+import Tax.Canada.T1.Types qualified as T1+import Tax.Canada.T1.Types qualified as Page8 (Page8(..))+import Tax.Canada.T1.FieldNames.ON (t1Fields)++import Tax.Canada.Province.ON.ON428.Types qualified as ON+import Tax.Canada.Province.ON.ON428.Types qualified as ON.Page1 (Page1(..))+import Tax.Canada.Province.ON.ON428.Types qualified as ON.Page2 (Page2(..))+import Tax.Canada.Province.ON.ON428.Types (ON428 (ON428))+import Tax.Canada.Province.ON.ON428.Fix (fixON428)+import Tax.Canada.Province.ON.ON428.FieldNames (on428Fields)+import Tax.Canada.Province.ON.ON479.Types (ON479 (ON479, page2), Page2(line23_credits))+import Tax.Canada.Province.ON.ON479.Fix (fixON479)+import Tax.Canada.Province.ON.ON479.FieldNames (on479Fields)++import Tax.Canada.Shared(MedicalExpenses(..), BaseCredit(..))+import Tax.FDF (FieldConst, within)+import Tax.Util (fixEq)++data Returns line = Returns {+  federal :: Federal.Forms line,+  on428 :: ON428 line,+  on479 :: ON479 line}++deriving instance (Show (Federal.Forms line), Show (ON428 line), Show (ON479 line)) => Show (Returns line)+deriving instance (Eq (Federal.Forms line), Eq (ON428 line), Eq (ON479 line)) => Eq (Returns line)+Rank2.TH.deriveAll ''Returns+Transformation.Shallow.TH.deriveAll ''Returns++fixReturns :: Returns Maybe -> Returns Maybe+fixReturns =+  fixEq $ \Returns{federal = ff@Federal.Forms{t1 = t1@T1{page7 = page7@Page7{step6_RefundOrBalanceOwing},+                                                         page8 = page8@Page8{step6_RefundOrBalanceOwing = page8step6}},+                                              schedule9},+                   on428 = on428@ON428{page1 = page1@ON.Page1{partB = partB1@ON.Page1PartB{spouseAmount}},+                                       page2 = page2@ON.Page2{ON.partB = partB2@ON.Page2PartB{ON.medicalExpenses},+                                                              ON.partC}},+                   on479}+          -> Returns{federal = fixFederalForms ff{t1 =+                                                  t1{page7 =+                                                     page7{step6_RefundOrBalanceOwing =+                                                           step6_RefundOrBalanceOwing{T1.line_42800_ProvTerrTax=+                                                                                      on428.page4.line90}},+                                                     page8 =+                                                     page8{Page8.step6_RefundOrBalanceOwing =+                                                           page8step6{T1.line_47900_ProvTerrCredits =+                                                                      on479.page2.line23_credits}}}},+                     on428 = fixON428 on428{+                        ON.page1 =+                            page1{ON.line1 = t1.page5.step4_TaxableIncome.line_26000_TaxableIncome,+                                  ON.Page1.partB = partB1{ON.spouseAmount = spouseAmount{reduction = t1.page1.spouse.line23600},+                                                          ON.line19_cppQpp = t1.page6.line30800,+                                                          ON.line20_cppQpp = t1.page6.line31000,+                                                          ON.line21_employmentInsurance = t1.page6.line31200,+                                                          ON.line22_employmentInsurance = t1.page6.line31217}},+                        ON.page2 =+                            page2{ON.Page2.partB = partB2{ON.line32_interest = t1.page6.line31900,+                                                          ON.medicalExpenses =+                                                             medicalExpenses{+                                                             netIncome = t1.page4.line_23600_NetIncome},+                                                          ON.donations = partB2.donations{+                                                             ON.line47_base = schedule9.line13_min,+                                                             ON.line48_base = schedule9.line14_difference}},+                                  ON.partC = partC{ON.line59_copy = t1.page7.partC_NetFederalTax.line40427}}},+                     on479}++returnFields :: Returns FieldConst+returnFields = Returns{+  federal = Federal.formFieldsForProvince ON,+  on428 = within "428" Rank2.<$> on428Fields,+  on479 = within "479" Rank2.<$> on479Fields}
+ src/Tax/Canada/Province/ON/ON428/FieldNames.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.Province.ON.ON428.FieldNames (on428Fields) where++import Data.Fixed (Centi)+import Rank2 qualified++import Tax.Canada.Province.ON.ON428.Types+import Tax.Canada.Province.ON.ON428.Types qualified as HealthPremiumBracket (HealthPremiumBracket(..))+import Tax.Canada.Shared (BaseCredit(..), MedicalExpenses(..), TaxIncomeBracket (..), subCalculationFields)+import Tax.FDF (Entry (Count, Constant, Amount, Percent), FieldConst (Field, NoField), within)++on428Fields = within "form1" Rank2.<$> ON428 {+   page1 = within "Page1" Rank2.<$> page1Fields,+   page2 = within "Page2" Rank2.<$> page2Fields,+   page3 = within "Page3" Rank2.<$> page3Fields,+   page4 = within "Page4" Rank2.<$> page4Fields}+++page1Fields = Page1 {+   line1 = Field ["Line1", "Amount"] Amount,+   partA = within "Chart" Rank2.<$> page1PartAFields,+   partB = within "Part_B" Rank2.<$> page1PartBFields}++page1PartAFields = Page1PartA {+   column1 = within "Column1" Rank2.<$> taxIncomeBracketFields 0 0.0505 0,+   column2 = within "Column2" Rank2.<$> taxIncomeBracketFields 49_231.00 0.0915 2_486.17,+   column3 = within "Column3" Rank2.<$> taxIncomeBracketFields 98_463.00 0.1116 6_990.89,+   column4 = within "Column4" Rank2.<$> taxIncomeBracketFields 150_000.00 0.1216 12_742.42,+   column5 = within "Column5" Rank2.<$> taxIncomeBracketFields 220_000.00 0.1316 21_254.42}++taxIncomeBracketFields :: Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst+taxIncomeBracketFields threshold rate baseTax = TaxIncomeBracket {+   income = Field ["Line2", "Amount"] Amount,+   threshold = Field ["Line3", "Amount"] $ Constant threshold Amount,+   overThreshold = Field ["Line4", "Amount"] Amount,+   rate = Field ["Line5", "Percent"] $ Constant rate Percent,+   timesRate = Field ["Line6", "Amount"] Amount,+   baseTax = Field ["Line7", "Amount"] $ Constant baseTax Amount,+   equalsTax = Field ["Line8", "Amount"] Amount}++page1PartBFields = Page1PartB {+   line9_basic = Field ["Line9", "Amount"] Amount,+   line10_age = Field ["Line10", "Amount"] Amount,+   spouseAmount = within "Spouse-Amount" Rank2.<$> BaseCredit{+       baseAmount = Field ["Line11", "Amount"] $ Constant 11_082 Amount,+       reduction = Field ["Line12", "Amount"] Amount,+       difference = Field ["Line13", "Amount1"] Amount,+       cont = Field ["Line13", "Amount2"] Amount},+   dependantAmount = within "Eligible-Dependant" Rank2.<$> BaseCredit{+       baseAmount = Field ["Line14", "Amount"] $ Constant 11_082 Amount,+       reduction = Field ["Line15", "Amount"] Amount,+       difference = Field ["Line16", "Amount1"] Amount,+       cont = Field ["Line16", "Amount2"] Amount},+   line17_caregiver = Field ["Line17", "Amount"] Amount,+   line18 = Field ["Line18", "Amount"] Amount,+   line19_cppQpp = Field ["CPP-QPP", "Line19", "Amount"] Amount,+   line20_cppQpp = Field ["CPP-QPP", "Line20", "Amount"] Amount,+   line21_employmentInsurance = Field ["Employment-Insurance", "Line21", "Amount"] Amount,+   line22_employmentInsurance = Field ["Employment-Insurance", "Line22", "Amount"] Amount,+   line23_adoption = Field ["Line23", "Amount"] Amount,+   line24_sum = subCalculationFields "Line24" ["Amount1"] ["Amount2"],+   line25 = Field ["Line25", "Amount"] Amount}++page2Fields = Page2 {+  partB = page2PartBFields,+  partC = page2PartCFields}++page2PartBFields = Page2PartB {+   line26 = Field ["Line26", "Amount"] Amount,+   line27_pension = Field ["Line27", "Amount"] Amount,+   line28 = Field ["Line28", "Amount"] Amount,+   line29_disability = Field ["Line29", "Amount"] Amount,+   line30 = Field ["Line30", "Amount"] Amount,+   line31 = Field ["Line31", "Amount"] Amount,+   line32_interest = Field ["Line32", "Amount"] Amount,+   line33_education = Field ["Line33", "Amount"] Amount,+   line34_transferred = Field ["Line34", "Amount"] Amount,+   line35 = Field ["Line35", "Amount"] Amount,+   medicalExpenses = within "Medical-Expenses" Rank2.<$> medicalExpensesFields,+   line42 = Field ["Line42", "Amount"] Amount,+   line43_sum = subCalculationFields "Line43" ["Amount1"] ["Amount2"],+   line44 = Field ["Line44", "Amount"] Amount,+   line45_rate = Field ["Line45", "Percent_ReadOnly"] $ Constant 0.0505 Percent,+   line46_fraction = Field ["Line46", "Amount"] Amount,+   donations = within "Donations" Rank2.<$> donationsFields,+   line50 = Field ["Line50", "Amount"] Amount}++medicalExpensesFields = MedicalExpenses {+   expenses = Field ["Line36", "Amount"] Amount,+   netIncome = Field ["Line37", "Amount"] Amount,+   incomeRate = Field ["Line38", "Percent_ReadOnly"] $ Constant 0.03 Percent,+   fraction = Field ["Line39", "Amount"] Amount,+   lesser = Field ["Line40", "Amount"] Amount,+   difference = Field ["Line41", "Amount"] Amount}++donationsFields = Donations {+   line47_base = Field ["Line47", "Amount1"] Amount,+   line47_fraction = Field ["Line47", "Amount2"] Amount,+   line48_base = Field ["Line48", "Amount1"] Amount,+   line48_fraction = Field ["Line48", "Amount2"] Amount,+   line49_sum = subCalculationFields "Line49" ["Amount1"] ["Amount2"]}++page2PartCFields = Page2PartC {+   line51_tax = Field ["Line51", "Amount"] Amount,+   line52_credits = Field ["Line52", "Amount"] Amount,+   line53 = Field ["Line53", "Amount"] Amount,+   line54 = Field ["Line54", "Amount"] Amount,+   line55 = Field ["Line55", "Amount"] Amount,+   line56 = Field ["Min-Tax-Carryover", "Line56", "Amount"] Amount,+   line57 = Field ["Min-Tax-Carryover", "Line57", "Amount"] Amount,+   line58 = Field ["Min-Tax-Carryover", "Line58", "Amount"] Amount,+   line59_copy = Field ["Min-Tax-Carryover", "Line59", "Amount1"] Amount,+   line59_product = Field ["Min-Tax-Carryover", "Line59", "Amount2"] Amount,+   line60_lesser = Field ["Min-Tax-Carryover", "Line60", "Amount"] Amount,+   line61 = Field ["Line61", "Amount"] Amount}++page3Fields = Page3 {+   line62 = Field ["Line62", "Amount"] Amount,+   line63 = Field ["ON-Surtax", "Line63", "Amount"] Amount,+   line64 = Field ["ON-Surtax", "Line64", "Amount"] Amount,+   line65 = Field ["ON-Surtax", "Line65", "Amount"] Amount,+   line66_copy = Field ["Line66", "Amount1"] Amount,+   line66_surtax = Field ["Line66", "Amount2"] Amount,+   line67_copy = Field ["Line67", "Amount1"] Amount,+   line67_surtax = Field ["Line67", "Amount2"] Amount,+   line68_sum = subCalculationFields "Line68" ["Amount1"] ["Amount2"],+   line69 = Field ["Line69", "Amount2"] Amount,+   line70 = Field ["Line70", "Amount"] Amount,+   line71 = Field ["Line71", "Amount"] Amount,+   line72 = Field ["Line72", "Amount"] Amount,+   line73 = Field ["Line73", "Amount"] Amount,+   line74_basicReduction = Field ["Line74", "Amount"] $ Constant 274 Amount,+   line75_childrenNum = Field ["Line75", "Line_60969", "Number"] Count,+   line75_amount = Field ["Line75", "Amount"] Amount,+   line76_childrenNum = Field ["Line76", "Line_60970", "Number"] Count,+   line76_amount = Field ["Line76", "Amount"] Amount,+   line77 = Field ["Line77", "Amount"] Amount,+   line78_copy = Field ["Line78", "Amount1"] Amount,+   line78_product = Field ["Line78", "Amount2"] Amount,+   line79 = Field ["Line79", "Amount"] Amount,+   line80_difference = subCalculationFields "Line80" ["Amount1"] ["Amount2"],+   line81 = Field ["Line81", "Amount"] Amount,+   line82 = Field ["Line82", "Amount"] Amount,+   line83 = Field ["Line83", "Amount"] Amount}++page4Fields = Page4 {+   line84 = Field ["Line84", "Amount"] Amount,+   line85_lift = Field ["Line85", "Amount"] Amount,+   line86 = Field ["Line86", "Amount"] Amount,+   line87_foodDonations = Field ["Line87", "Line62150", "Amount1"] Amount,+   line87_fraction = Field ["Line87", "Amount2"] Amount,+   line88 = Field ["Line88", "Amount"] Amount,+   line89_health = Field ["Line89", "Amount"] Amount,+   line90 = Field ["Line90", "Amount"] Amount,+   healthPremium = within "ON_Health_Prenium-worksheet" . within "Chart_ON_Health_Prenium" Rank2.<$> healthPremiumFields}++healthPremiumFields = HealthPremium {+   row1 = within "Taxable_Line2" Rank2.<$> healthPremiumBracketFields{HealthPremiumBracket.equalsTax = NoField},+   row2 = within "Taxable_Line4" Rank2.<$> healthPremiumBracketFields,+   row3 = within "Taxable_Line6" Rank2.<$> healthPremiumBracketFields,+   row4 = within "Taxable_Line8" Rank2.<$> healthPremiumBracketFields,+   row5 = within "Taxable_Line10" Rank2.<$> healthPremiumBracketFields}++healthPremiumBracketFields = HealthPremiumBracket {+   taxableIncome = Field ["Amount1"] Amount,+   overThreshold = Field ["Amount2"] Amount,+   timesRate     = Field ["Amount3"] Amount,+   equalsTax     = Field ["Amount4"] Amount}
+ src/Tax/Canada/Province/ON/ON428/Fix.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++module Tax.Canada.Province.ON.ON428.Fix (ON428, fixON428) where++import Control.Applicative (liftA2)+import Control.Monad (guard, mfilter)+import Data.Fixed (Centi)+import Rank2 qualified++import Tax.Canada.Province.ON.ON428.Types+import Tax.Canada.Shared (fixBaseCredit, fixMedicalExpenses, fixSubCalculation, fixTaxIncomeBracket,+                          BaseCredit(cont), MedicalExpenses (difference),+                          SubCalculation (result), TaxIncomeBracket (equalsTax))+import Tax.Util (fixEq, fractionOf, nonNegativeDifference, totalOf)++fixON428 :: ON428 Maybe -> ON428 Maybe+fixON428 = fixEq $ \on428@ON428{..}-> ON428{page1 = fixPage1 page1,+                                            page2 = fixPage2 on428 page2,+                                            page3 = fixPage3 on428 page3,+                                            page4 = fixPage4 on428 page4}++fixPage1 :: Page1 Maybe -> Page1 Maybe+fixPage1 = fixEq $ \Page1{..}-> Page1{+   line1 = line1,+   partA = fixPage1PartA line1 partA,+   partB = fixPage1PartB partB}++fixPage1PartA :: Maybe Centi -> Page1PartA Maybe -> Page1PartA Maybe+fixPage1PartA income = fixEq $ \Page1PartA{..}-> Page1PartA{+   column1 = fixTaxIncomeBracket income (Just column2) column1,+   column2 = fixTaxIncomeBracket income (Just column3) column2,+   column3 = fixTaxIncomeBracket income (Just column4) column3,+   column4 = fixTaxIncomeBracket income (Just column5) column4,+   column5 = fixTaxIncomeBracket income Nothing column5}++fixPage1PartB :: Page1PartB Maybe -> Page1PartB Maybe+fixPage1PartB = fixEq $ \part@Page1PartB{..}-> part{+   line9_basic = Just 11865,+   spouseAmount = fixBaseCredit spouseAmount,+   dependantAmount = fixBaseCredit dependantAmount,+   line18 = totalOf [line9_basic, line10_age, spouseAmount.cont, dependantAmount.cont, line17_caregiver],+   line24_sum = fixSubCalculation $+                totalOf [line19_cppQpp,+                         line20_cppQpp,+                         line21_employmentInsurance,+                         line22_employmentInsurance,+                         line23_adoption],+   line25 = totalOf [line18, line24_sum.result]}++fixPage2 :: ON428 Maybe -> Page2 Maybe -> Page2 Maybe+fixPage2 on428 = fixEq $ \Page2{..}-> Page2{+  partB = fixPage2PartB on428 partB,+  partC = fixPage2PartC on428 partC}++fixPage2PartB :: ON428 Maybe -> Page2PartB Maybe -> Page2PartB Maybe+fixPage2PartB on428 = fixEq $ \part@Page2PartB{..}-> part{+   line26 = on428.page1.partB.line25,+   line28 = totalOf [line26, line27_pension],+   line31 = totalOf [line28, line29_disability, line30],+   line35 = totalOf [line31, line32_interest, line33_education, line34_transferred],+   medicalExpenses = fixMedicalExpenses 2685 medicalExpenses,+   line43_sum = fixSubCalculation $ totalOf [medicalExpenses.difference, line42],+   line44 = totalOf [line35, line43_sum.result],+   line46_fraction = line45_rate `fractionOf` line44,+   donations = fixDonations donations,+   line50 = totalOf [line46_fraction, donations.line49_sum.result]}++fixPage2PartC :: ON428 Maybe -> Page2PartC Maybe -> Page2PartC Maybe+fixPage2PartC on428 = fixEq $ \part@Page2PartC{..}-> part{+   line51_tax = totalOf [on428.page1.partA.column1.equalsTax,+                         on428.page1.partA.column2.equalsTax,+                         on428.page1.partA.column3.equalsTax,+                         on428.page1.partA.column4.equalsTax,+                         on428.page1.partA.column5.equalsTax],+   line52_credits = on428.page2.partB.line50,+   line53 = nonNegativeDifference line51_tax line52_credits,+   line55 = totalOf [line53, line54],+   line56 = line53,+   line58 = nonNegativeDifference line56 line57,+   line59_product = Just 0.3367 `fractionOf` line59_copy,+   line60_lesser = min <$> line58 <*> line59_product,+   line61 = nonNegativeDifference line55 line60_lesser}++fixDonations :: Donations Maybe -> Donations Maybe+fixDonations = fixEq $ \part@Donations{..} -> part{+   line47_fraction = Just 0.0505 `fractionOf` line47_base,+   line48_fraction = Just 0.1116 `fractionOf` line48_base,+   line49_sum = fixSubCalculation $ totalOf [line47_fraction, line48_fraction]}++fixPage3 :: ON428 Maybe -> Page3 Maybe -> Page3 Maybe+fixPage3 on428 = fixEq $ \page@Page3{..}-> page{+   line62 = on428.page2.partC.line61,+   line63 = line62,+   line64 = on428.page2.partC.line54,+   line65 = nonNegativeDifference line63 line64,+   line66_copy = line65,+   line66_surtax = Just 0.2 `fractionOf` nonNegativeDifference line66_copy (Just 5315),+   line67_copy = line65,+   line67_surtax = Just 0.36 `fractionOf` nonNegativeDifference line67_copy (Just 6802),+   line68_sum = fixSubCalculation $ totalOf [line66_surtax, line67_surtax],+   line69 = totalOf [line62, line68_sum.result],+   line70 = on428.page2.partC.line57,+   line71 = nonNegativeDifference line69 line70,+   line73 = totalOf [line71, line72],+   line75_amount = ((506 *) . fromIntegral) <$> line75_childrenNum,+   line76_amount = ((506 *) . fromIntegral) <$> line76_childrenNum,+   line77 = totalOf [line74_basicReduction, line75_amount, line76_amount],+   line78_copy = line77,+   line78_product = (2 *) <$> line78_copy,+   line79 = line73,+   line80_difference = fixSubCalculation $ nonNegativeDifference line78_product line79,+   line81 = nonNegativeDifference line73 line80_difference.result,+   line83 = nonNegativeDifference line81 line82}++fixPage4 :: ON428 Maybe -> Page4 Maybe -> Page4 Maybe+fixPage4 on428 = fixEq $ \page@Page4{..}-> page{+   line84 = on428.page3.line83,+   line86 = nonNegativeDifference line84 line85_lift,+   line87_fraction = Just 0.25 `fractionOf` line87_foodDonations,+   line88 = nonNegativeDifference line86 line87_fraction,+   line89_health = totalOf [between 0 20000 0,+                            healthPremium.row1.equalsTax,+                            between 25000 36000 300,+                            healthPremium.row2.equalsTax,+                            between 38500 48000 450,+                            healthPremium.row3.equalsTax,+                            between 48600 72000 600,+                            healthPremium.row4.equalsTax,+                            between 72600 200000 750,+                            healthPremium.row5.equalsTax,+                            if income > 200600 then Just 900 else Nothing],+   line90 = totalOf [line88, line89_health],+   healthPremium = fixHealthPremium income healthPremium}+   where income = sum on428.page1.line1+         between floor ceiling tax+            | income > floor && income <= ceiling = Just tax+            | otherwise = Nothing++fixHealthPremium :: Centi -> HealthPremium Maybe -> HealthPremium Maybe+fixHealthPremium income = fixEq $ \HealthPremium{..}-> HealthPremium{+   row1 = fixHealthPremiumBracket income 20000 25000 0.06 0 row1,+   row2 = fixHealthPremiumBracket income 36000 38500 0.06 300 row2,+   row3 = fixHealthPremiumBracket income 48000 48600 0.25 450 row3,+   row4 = fixHealthPremiumBracket income 72000 72600 0.25 600 row4,+   row5 = fixHealthPremiumBracket income 200000 200600 0.25 750 row5}++fixHealthPremiumBracket :: Centi -> Centi -> Centi -> Rational -> Centi+                        -> HealthPremiumBracket Maybe -> HealthPremiumBracket Maybe+fixHealthPremiumBracket income floor ceiling rate base HealthPremiumBracket{..}+   | income > floor && income < ceiling = HealthPremiumBracket{+       taxableIncome = Just income,+       overThreshold = Just $ income - floor,+       timesRate = Just rate `fractionOf` overThreshold,+       equalsTax = totalOf [timesRate, Just base]}+   | otherwise = Rank2.pure Nothing
+ src/Tax/Canada/Province/ON/ON428/Types.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Province.ON.ON428.Types where++import Data.Fixed (Centi)+import Language.Haskell.TH qualified as TH+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Shared (BaseCredit, MedicalExpenses, SubCalculation, TaxIncomeBracket)++data ON428 line = ON428 {+   page1 :: Page1 line,+   page2 :: Page2 line,+   page3 :: Page3 line,+   page4 :: Page4 line}++data Page1 line = Page1 {+   line1 :: line Centi,+   partA :: Page1PartA line,+   partB :: Page1PartB line}++data Page1PartA line = Page1PartA {+   column1 :: TaxIncomeBracket line,+   column2 :: TaxIncomeBracket line,+   column3 :: TaxIncomeBracket line,+   column4 :: TaxIncomeBracket line,+   column5 :: TaxIncomeBracket line}++data Page1PartB line = Page1PartB {+   line9_basic :: line Centi,+   line10_age :: line Centi,+   spouseAmount :: BaseCredit line,+   dependantAmount :: BaseCredit line,+   line17_caregiver :: line Centi,+   line18 :: line Centi,+   line19_cppQpp :: line Centi,+   line20_cppQpp :: line Centi,+   line21_employmentInsurance :: line Centi,+   line22_employmentInsurance :: line Centi,+   line23_adoption :: line Centi,+   line24_sum :: SubCalculation line,+   line25 :: line Centi}++data Page2 line = Page2 {+  partB :: Page2PartB line,+  partC :: Page2PartC line}++data Page2PartB line = Page2PartB {+   line26 :: line Centi,+   line27_pension :: line Centi,+   line28 :: line Centi,+   line29_disability :: line Centi,+   line30 :: line Centi,+   line31 :: line Centi,+   line32_interest :: line Centi,+   line33_education :: line Centi,+   line34_transferred :: line Centi,+   line35 :: line Centi,+   medicalExpenses :: MedicalExpenses line,+   line42 :: line Centi,+   line43_sum :: SubCalculation line,+   line44 :: line Centi,+   line45_rate :: line Rational,+   line46_fraction :: line Centi,+   donations :: Donations line,+   line50 :: line Centi}++data Donations line = Donations {+   line47_base :: line Centi,+   line47_fraction :: line Centi,+   line48_base :: line Centi,+   line48_fraction :: line Centi,+   line49_sum :: SubCalculation line}++data Page2PartC line = Page2PartC {+   line51_tax :: line Centi,+   line52_credits :: line Centi,+   line53 :: line Centi,+   line54 :: line Centi,+   line55 :: line Centi,+   line56 :: line Centi,+   line57 :: line Centi,+   line58 :: line Centi,+   line59_copy :: line Centi,+   line59_product :: line Centi,+   line60_lesser :: line Centi,+   line61 :: line Centi}++data Page3 line = Page3 {+   line62 :: line Centi,+   line63 :: line Centi,+   line64 :: line Centi,+   line65 :: line Centi,+   line66_copy :: line Centi,+   line66_surtax :: line Centi,+   line67_copy :: line Centi,+   line67_surtax :: line Centi,+   line68_sum :: SubCalculation line,+   line69 :: line Centi,+   line70 :: line Centi,+   line71 :: line Centi,+   line72 :: line Centi,+   line73 :: line Centi,+   line74_basicReduction :: line Centi,+   line75_amount :: line Centi,+   line75_childrenNum :: line Word,+   line76_amount :: line Centi,+   line76_childrenNum :: line Word,+   line77 :: line Centi,+   line78_copy :: line Centi,+   line78_product :: line Centi,+   line79 :: line Centi,+   line80_difference :: SubCalculation line,+   line81 :: line Centi,+   line82 :: line Centi,+   line83 :: line Centi}++data Page4 line = Page4 {+   line84 :: line Centi,+   line85_lift :: line Centi,+   line86 :: line Centi,+   line87_foodDonations :: line Centi,+   line87_fraction :: line Centi,+   line88 :: line Centi,+   line89_health :: line Centi,+   line90 :: line Centi,+   healthPremium :: HealthPremium line}++data HealthPremium line = HealthPremium {+   row1 :: HealthPremiumBracket line,+   row2 :: HealthPremiumBracket line,+   row3 :: HealthPremiumBracket line,+   row4 :: HealthPremiumBracket line,+   row5 :: HealthPremiumBracket line}++data HealthPremiumBracket line = HealthPremiumBracket {+   taxableIncome :: line Centi,+   overThreshold :: line Centi,+   timesRate :: line Centi,+   equalsTax :: line Centi}++$(foldMap+   (\t-> concat <$> sequenceA [+       [d|+           deriving instance (Show (line Centi), Show (line Rational), Show (line Word))+                          => Show ($(TH.conT t) line)+           deriving instance (Eq (line Centi), Eq (line Rational), Eq (line Word))+                          => Eq ($(TH.conT t) line)+       |],+       Rank2.TH.deriveAll t,+       Transformation.Shallow.TH.deriveAll t])+   [''ON428, ''Page1, ''Page2, ''Page3, ''Page4,+    ''Page1PartA, ''Page1PartB, ''Page2PartB, ''Page2PartC,+    ''Donations, ''HealthPremium, ''HealthPremiumBracket])
+ src/Tax/Canada/Province/ON/ON479/FieldNames.hs view
@@ -0,0 +1,48 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.Province.ON.ON479.FieldNames (on479Fields) where++import Data.Fixed (Centi)+import Rank2 qualified++import Tax.Canada.Province.ON.ON479.Types+import Tax.Canada.Shared (subCalculationFields)+import Tax.FDF (Entry (Count, Constant, Amount, Percent, RadioButton, Textual), FieldConst (Field), within)++on479Fields = within "form1" Rank2.<$> ON479 {+   page1 = within "Page1" Rank2.<$> page1Fields,+   page2 = within "Page2" Rank2.<$> page2Fields}+++page1Fields = Page1 {+   line_63050_childcare = Field ["Line1", "Amount"] Amount,+   line4_homecare_copy = Field ["Line2", "Amount"] Amount,+   line5_allowable = Field ["Line3", "Percent_ReadOnly"] $ Constant 0.25 Percent,+   line6_fraction = Field ["Line4", "Amount"] Amount,+   line7_netIncome_copy = Field ["Line5", "Amount"] Amount,+   line8_spouse_copy = Field ["Line6", "Amount"] Amount,+   line9_sum = Field ["Line7", "Amount1"] Amount,+   line10_base = Field ["Line8", "Amount"] $ Constant 35_000 Amount,+   line11_difference = Field ["Line9", "Amount"] Amount,+   line12_rate = Field ["Line10", "Percent_ReadOnly"] $ Constant 0.05 Percent,+   line13_fraction = subCalculationFields "Line11" ["Amount1"] ["Amount2"],+   line_63095_difference = subCalculationFields "Line12" ["Amount1"] ["Amount2"],+   line_63100_transit = Field ["Line13", "Line63100", "Amount"] Amount,+   line_63100_fraction = Field ["Line13", "Amount"] Amount,+   line16_sum = Field ["Line14", "Amount"] Amount}++page2Fields = Page2 {+   line17_copy = Field ["Line15", "Amount"] Amount,+   line_63110_contributions = Field ["ON_Political_Contribution", "Line16", "Amount"] Amount,+   line_63110_credit = Field ["ON_Political_Contribution", "Line17", "Amount"] Amount,+   line_63220_fromT1221 = Field ["Line18", "Line63220", "Amount1"] Amount,+   line_63220_fraction = Field ["Line18", "Amount2"] Amount,+   line_63260_placements = Field ["ON_coop_education", "Line63260", "NmbrApprentices"] Count,+   line_63265_partnership = Field ["ON_coop_education", "Line63265", "RadioButtonGroup"] $ RadioButton [True, False],+   line_63270_business = Field ["ON_coop_education", "Line63270", "BusinessNumber_9_Comb_Bottom_Adv", "BusinessNumber"] Textual,+   line_63300_total = Field ["Line19", "Amount"] Amount,+   line23_credits = Field ["Line20", "Amount"] Amount}
+ src/Tax/Canada/Province/ON/ON479/Fix.hs view
@@ -0,0 +1,39 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++module Tax.Canada.Province.ON.ON479.Fix (ON479, fixON479) where++import Control.Applicative (liftA2)+import Control.Monad (guard, mfilter)+import Data.Fixed (Centi)+import Rank2 qualified++import Tax.Canada.Province.ON.ON479.Types+import Tax.Canada.Shared (fixSubCalculation, SubCalculation(result))+import Tax.Util (fixEq, fractionOf, nonNegativeDifference, totalOf)++fixON479 :: ON479 Maybe -> ON479 Maybe+fixON479 = fixEq $ \on479@ON479{..}-> ON479{page1 = fixPage1 page1,+                                            page2 = fixPage2 on479 page2}++fixPage1 :: Page1 Maybe -> Page1 Maybe+fixPage1 = fixEq $ \page@Page1{..}-> page{+   line6_fraction = line5_allowable `fractionOf` line4_homecare_copy,+   line9_sum = totalOf [line7_netIncome_copy, line8_spouse_copy],+   line11_difference = nonNegativeDifference line9_sum line10_base,+   line13_fraction = fixSubCalculation $ line12_rate `fractionOf` line11_difference,+   line_63095_difference = fixSubCalculation $ nonNegativeDifference line6_fraction line13_fraction.result,+   line_63100_fraction = (0.15 *) <$> line_63100_transit,+   line16_sum = totalOf [line_63050_childcare, line_63095_difference.result, line_63100_fraction]}++fixPage2 :: ON479 Maybe -> Page2 Maybe -> Page2 Maybe+fixPage2 on479 = fixEq $ \page2@Page2{..}-> page2{+   line17_copy = on479.page1.line16_sum,+   line_63110_credit = if line_63110_contributions >= Just 3531 then Just 1552 else line_63110_credit, -- TODO worksheet?+   line_63220_fraction = (0.05 *) <$> line_63220_fromT1221,+   line23_credits = totalOf [line17_copy, line_63110_credit, line_63220_fraction, line_63300_total]}
+ src/Tax/Canada/Province/ON/ON479/Types.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Tax.Canada.Province.ON.ON479.Types where++import Data.Fixed (Centi)+import Data.Text (Text)+import Language.Haskell.TH qualified as TH+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.Canada.Shared (SubCalculation)++data ON479 line = ON479 {+   page1 :: Page1 line,+   page2 :: Page2 line}++data Page1 line = Page1 {+   line_63050_childcare :: line Centi,+   line4_homecare_copy :: line Centi,+   line5_allowable :: line Rational,+   line6_fraction :: line Centi,+   line7_netIncome_copy :: line Centi,+   line8_spouse_copy :: line Centi,+   line9_sum :: line Centi,+   line10_base :: line Centi,+   line11_difference :: line Centi,+   line12_rate :: line Rational,+   line13_fraction :: SubCalculation line,+   line_63095_difference :: SubCalculation line,+   line_63100_transit :: line Centi,+   line_63100_fraction :: line Centi,+   line16_sum :: line Centi}++data Page2 line = Page2 {+   line17_copy :: line Centi,+   line_63110_contributions :: line Centi,+   line_63110_credit :: line Centi,+   line_63220_fromT1221 :: line Centi,+   line_63220_fraction :: line Centi,+   line_63260_placements :: line Word,+   line_63265_partnership :: line Bool,+   line_63270_business :: line Text,+   line_63300_total :: line Centi,+   line23_credits :: line Centi}++$(foldMap+   (\t-> concat <$> sequenceA [+       [d|+           deriving instance (Show (line Bool), Show (line Centi), Show (line Rational), Show (line Text), Show (line Word))+                          => Show ($(TH.conT t) line)+           deriving instance (Eq (line Bool), Eq (line Centi), Eq (line Rational), Eq (line Text), Eq (line Word))+                          => Eq ($(TH.conT t) line)+       |],+       Rank2.TH.deriveAll t,+       Transformation.Shallow.TH.deriveAll t])+   [''ON479, ''Page1, ''Page2])
+ src/Tax/Canada/Province/PE.hs view
@@ -0,0 +1,3 @@+module Tax.Canada.Province.PE (t1Fields) where++import Tax.Canada.T1.FieldNames.PE (t1Fields)
+ src/Tax/Canada/Province/QC.hs view
@@ -0,0 +1,3 @@+module Tax.Canada.Province.QC (t1Fields) where++import Tax.Canada.T1.FieldNames.QC (t1Fields)
+ src/Tax/Canada/Shared.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++-- | Common types and functions shared by multiple Canadian tax forms+module Tax.Canada.Shared where++import Control.Monad (guard, mfilter)+import Data.Fixed (Centi)+import Data.Text (Text)+import Language.Haskell.TH qualified as TH+import Rank2.TH qualified+import Transformation.Shallow.TH qualified++import Tax.FDF (FieldConst(Field), Entry(Amount))+import Tax.Util (fixEq, fractionOf, nonNegativeDifference)++data TaxIncomeBracket line = TaxIncomeBracket {+   income :: line Centi,+   threshold :: line Centi,+   overThreshold :: line Centi,+   rate :: line Rational,+   timesRate :: line Centi,+   baseTax :: line Centi,+   equalsTax :: line Centi}++data MedicalExpenses line = MedicalExpenses {+   expenses :: line Centi,+   netIncome :: line Centi,+   incomeRate :: line Rational,+   fraction :: line Centi,+   lesser :: line Centi,+   difference :: line Centi}++-- | Used in several provincial forms to calculate a fixed amount of tax credit reduced by income.+data BaseCredit line = BaseCredit {+   baseAmount :: line Centi,+   reduction :: line Centi,+   difference :: line Centi,+   cont :: line Centi}++-- | A pair of form fields appearing next to each other at the same line, the right field value always a copy of the+-- left one.+data SubCalculation line = SubCalculation {+   calculation :: line Centi,+   result :: line Centi}++$(foldMap+   (\t-> concat <$> sequenceA [+       [d|+           deriving instance (Show (line Centi), Show (line Rational))+                          => Show ($(TH.conT t) line)+           deriving instance (Eq (line Centi), Eq (line Rational))+                          => Eq ($(TH.conT t) line)+       |],+       Rank2.TH.deriveAll t,+       Transformation.Shallow.TH.deriveAll t])+   [''BaseCredit, ''MedicalExpenses, ''SubCalculation, ''TaxIncomeBracket])++fixTaxIncomeBracket :: Maybe Centi -> Maybe (TaxIncomeBracket Maybe) -> TaxIncomeBracket Maybe -> TaxIncomeBracket Maybe+fixTaxIncomeBracket theIncome nextBracket = fixEq $ \bracket@TaxIncomeBracket{..} -> bracket{+   income = do i <- theIncome+               floor <- threshold+               let ceiling = nextBracket >>= (.threshold)+               guard (floor <= i && all (i <) ceiling)+               Just i,+   overThreshold = liftA2 (-) income threshold,+   timesRate = fromRational <$> liftA2 (*) (toRational <$> overThreshold) rate,+   equalsTax = liftA2 (+) timesRate baseTax}++fixBaseCredit :: BaseCredit Maybe -> BaseCredit Maybe+fixBaseCredit = fixEq $ \credit@BaseCredit{..}-> credit{+   difference = mfilter (> 0) $ liftA2 (-) baseAmount reduction,+   cont = difference}++fixMedicalExpenses :: Centi -> MedicalExpenses Maybe -> MedicalExpenses Maybe+fixMedicalExpenses ceiling = fixEq $ \part@MedicalExpenses{..} -> part{+   fraction = incomeRate `fractionOf` netIncome,+   lesser = min ceiling <$> fraction,+   difference = nonNegativeDifference expenses lesser}++fixSubCalculation :: Maybe Centi -> SubCalculation Maybe+fixSubCalculation result = SubCalculation{+   calculation = result,+   result = result}++subCalculationFields :: Text -> [Text] -> [Text] -> SubCalculation FieldConst+subCalculationFields parent calculationPath resultPath = SubCalculation{+   calculation = Field (parent : calculationPath) Amount,+   result = Field (parent : resultPath) Amount}
+ src/Tax/Canada/T1.hs view
@@ -0,0 +1,57 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}++-- | The T1 forms look similar, but there are subtle differences between different provinces and+-- territories. Therefore they share the same 'T1' form type and the same 'fixT1' completion function, but field+-- paths are separately provided by 't1FieldsForProvince'.+module Tax.Canada.T1 (fixT1, formPrefixForProvince, t1FieldsForProvince, module Tax.Canada.T1.Types) where++import Data.CAProvinceCodes qualified as Province+import Data.Enum.Memo (memoize)++import Tax.FDF (FieldConst)+import Tax.Canada.T1.Types+import Tax.Canada.T1.Fix (fixT1)+import Tax.Canada.T1.FieldNames.AB qualified as AB+import Tax.Canada.T1.FieldNames.BC qualified as BC+import Tax.Canada.T1.FieldNames.NB qualified as NB+import Tax.Canada.T1.FieldNames.NL qualified as NL+import Tax.Canada.T1.FieldNames.NT qualified as NT+import Tax.Canada.T1.FieldNames.NU qualified as NU+import Tax.Canada.T1.FieldNames.ON qualified as ON+import Tax.Canada.T1.FieldNames.QC qualified as QC+import Tax.Canada.T1.FieldNames.YT qualified as YT++-- | The distinct provincial prefix of the T1 form PDF file, such as @5006@ in @5006-r-fill-23e.pdf@ for Ontario+formPrefixForProvince :: Province.Code -> String+formPrefixForProvince = memoize $ \case+   Province.AB -> "5015"+   Province.BC -> "5010"+   Province.MB -> "5015"+   Province.NB -> "5000"+   Province.NL -> "5001"+   Province.NS -> "5015"+   Province.NT -> "5012"+   Province.NU -> "5014"+   Province.ON -> "5006"+   Province.PE -> "5000"+   Province.QC -> "5005"+   Province.SK -> "5015"+   Province.YT -> "5011"++-- | T1 field paths for the given province+t1FieldsForProvince :: Province.Code -> T1 FieldConst+t1FieldsForProvince = memoize $ \case+   Province.AB -> AB.t1Fields+   Province.BC -> BC.t1Fields+   Province.MB -> AB.t1Fields+   Province.NB -> NB.t1Fields+   Province.NL -> NL.t1Fields+   Province.NS -> AB.t1Fields+   Province.NT -> NT.t1Fields+   Province.NU -> NU.t1Fields+   Province.ON -> ON.t1Fields+   Province.PE -> NB.t1Fields+   Province.QC -> QC.t1Fields+   Province.SK -> AB.t1Fields+   Province.YT -> YT.t1Fields
− src/Tax/Canada/T1/FieldNames.hs
@@ -1,336 +0,0 @@-{-# LANGUAGE ImportQualifiedPost #-}-{-# LANGUAGE DisambiguateRecordFields #-}-{-# LANGUAGE NamedFieldPuns #-}-{-# LANGUAGE OverloadedStrings #-}--module Tax.Canada.T1.FieldNames (t1Fields) where--import Data.Fixed (Centi)-import Data.Text (Text)-import Data.Time (Day)-import Rank2 qualified--import Tax.FDF (FieldConst (Field), Entry (..), within)-import Tax.Canada.T1.Types--t1Fields :: T1 FieldConst-t1Fields = within "form1" Rank2.<$> T1 {-   page1 = within "Page1" . within "Step1" Rank2.<$> page1Fields,-   page2 = within "Page2" Rank2.<$> page2Fields,-   page3 = within "Page3" . within "Step2" Rank2.<$> page3Fields,-   page4 = within "Page4" . within "Step3" Rank2.<$> page4Fields,-   page5 = within "Page5" Rank2.<$> page5Fields,-   page6 = within "Page6" . within "PartB" Rank2.<$> page6Fields,-   page7 = within "Page7" Rank2.<$> page7Fields,-   page8 = within "Page8" Rank2.<$> page8Fields}--page1Fields = Page1 {-   identification = within "Identification" Rank2.<$> page1IdentificationFields,-   residence = within "Residence_Info" Rank2.<$> page1ResidenceFields,-   spouse = within "Info_Spouse_CLP" Rank2.<$> page1SpouseFields}--page1IdentificationFields = Identification {-   emailAddress = Field ["EmailAddress"] Textual,-   dateDeath = Field ["DateDeath_Comb_BordersAll", "DateDeath_Comb"] Date,-   postalCode = Field ["PostalCode_Comb_BordersAll", "PostalCode"] Textual,-   your_Language = Field ["Your_Language", "RadioButtonlanguaget"] $ RadioButton [English, French],-   id_City = Field ["ID_City"] Textual,-   sin = Field ["SIN_Comb_BordersAll", "SIN_Comb"] Textual,-   id_LastName = Field ["ID_LastName"] Textual,-   dateBirth = Field ["DateBirth_Comb_BordersAll", "DateBirth_Comb"] Date,-   id_FirstNameInitial = Field ["ID_FirstNameInitial"] Textual,-   id_MailingAddress = Field ["ID_MailingAddress"] Textual,-   maritalStatus = Field ["MaritalStatus_Checkbox"] $ RadioButtons "MaritalStatus" [Married .. Single],-   id_RuralRoute = Field ["ID_RuralRoute"] Textual,-   id_POBox = Field ["ID_POBox"] Textual,-   prov_DropDown = Field ["Prov_DropDown"] Province}--page1ResidenceFields = Residence {-   prov_DropDown_Business = Field ["Prov_DropDown-Business"] Province,-   prov_DropDown_Residence = Field ["Prov_DropDown-Residence"] Province,-   date_Departure = Field ["Date_Departure", "DateMMDD_Comb_BordersAll_Std", "DateMMDD_Comb"] Date,-   date_Entry = Field ["Date_Entry", "DateMMDD_Comb_BordersAll_Std", "DateMMDD_Comb"] Date,-   prov_DropDown = Field ["Prov_DropDown"] Textual}-  -page1SpouseFields = Spouse {-   line23600 = Field ["Line23600", "Amount"] Amount,-   self_employment = Field ["Self-employment", "Checkbox"] Checkbox,-   spouse_First_Name = Field ["Spouse_First_Name"] Textual,-   line11700 = Field ["Line11700", "Amount"] Amount,-   line21300 = Field ["Line21300", "Amount"] Amount,-   sin = Field ["SIN_Comb_BordersAll", "SIN_Comb"] Textual}--page2Fields = Page2 {-   foreign_property = Field ["Foreign_property", "Line26600"] $ Switch "Option1" "Option2" "ForeignProperty_CheckBox",-   tax_exempt = Field ["Tax_exempt", "Exempt", "Spouse_SelfEmployed"] Checkbox,-   electionsCanada = within "ElectionsCanada" Rank2.<$> page2ElectionsCanadaFields,-   cai = Field ["CAI", "CAI_ON", "Tick_box"] Checkbox,-   organ_donor = Field ["Organ_donor", "Question"] $ Switch "Option1" "Option2" "OrganDonor_CheckBox"-}--page2ElectionsCanadaFields = ElectionsCanada {-   citizenship = Field ["LineA"] $ Switch "Option1" "Option2" "A_CheckBox",-   authorization = Field ["LineB"] $ Switch "Option1" "Option2" "B_Authorize_CheckBox"}--page3Fields = Page3 {-   line_10400_OtherEmploymentIncome = Field ["Line_10400_OtherEmploymentIncome", "Line_10400_Amount"] Amount,-   line_12100_InvestmentIncome = Field ["Line_12100_InvestmentIncome", "Line_12100_Amount"] Amount,-   line_11300_OldAgeSecurityPension = Field ["Line_11300_OldAgeSecurityPension", "Line_11300_Amount"] Amount,-   line_11500_OtherPensions = Field ["Line_11500_OtherPensions", "Line_11500_Amount"] Amount,-   line_13000_OtherIncome = Field ["Line_13000_OtherIncome", "Line_13000_Amount"] Amount,-   line_13000_OtherIncomeSource = Field ["Line_13000_OtherIncome", "Line_13000_Specify"] Textual,-   line_11410_DisabilityBenefits = Field ["Line_11410_DisabilityBenefits", "Line_11410_Amount"] Amount,-   line_14400_WorkersCompBen = Field ["Line_14400_WorkersCompBen", "Line_14400_Amount"] Amount,-   line_11400_CPP_QPP = Field ["Line_11400_CPP_QPP", "Line_11400_Amount"] Amount,-   line_25_sum = Field ["Line_25", "Amount1"] Amount,-   line_25_cont = Field ["Line_25", "Amount2"] Amount,-   line_11700_UCCB = Field ["Line_11700_UCCB", "Line_11700_Amount"] Amount,-   line_10100_EmploymentIncome = Field ["Line_10100_EmploymentIncome", "Line_10100_Amount"] Amount,-   line_12700_TaxableCapitalGains = Field ["Line_12700_TaxableCapitalGains", "Line_12700_Amount"] Amount,-   line_13700_Amount = Field ["Line21", "Line_13700_Amount"] Amount,-   line_13699_Amount = Field ["Line21", "Line_13699_Amount"] Amount,-   line_11900_EmploymentInsurance = Field ["Line_11900_EmploymentInsurance", "Line_11900_Amount"] Amount,-   line_14100_Amount = Field ["Line23", "Line_14100_Amount"] Amount,-   line_14099_Amount = Field ["Line23", "Line_14099_Amount"] Amount,-   line_10120_Commissions = Field ["Line_10120_Commissions", "Line_10120_Amount"] Amount,-   line_11600_ElectedSplitPension = Field ["Line_11600_ElectedSplitPension", "Line_11600_Amount"] Amount,-   line_14700_EqualsAmount = Field ["Line_14700_AddLines", "Line_14700_EqualsAmount"] Amount,-   line_14700_PlusAmount = Field ["Line_14700_AddLines", "Line_14700_PlusAmount"] Amount,-   line_13010_Taxablescholarship = Field ["Line_13010_Taxablescholarship", "Amount"] Amount,-   line_19 = Field ["Line_19", "Amount"] Amount,-   line_12599_12600_RentalIncome = Field ["Line_12599_12600_RentalIncome", "Line_12599_Amount"] Amount,-   line_12600_Amount = Field ["Line_12599_12600_RentalIncome", "Line_12600_Amount"] Amount,-   line_12200_PartnershipIncome = Field ["Line_12200_PartnershipIncome", "Line_12200_Amount"] Amount,-   line_11905_Employmentmaternity = Field ["Line_11905_Employmentmaternity", "Line_11905_Amount"] Amount,-   line_14500_SocialAssistPay = Field ["Line_14500_SocialAssistPay", "Line_14500_Amount"] Amount,-   line_15000_TotalIncome = Field ["Line_15000_TotalIncome", "Line_15000_Amount"] Amount,-   line_10105_Taxexemptamount = Field ["Line_10105_Taxexemptamount", "Line_10105_Amount"] Amount,-   line_12900_RRSPIncome = Field ["Line_12900_RRSPIncome", "Line_12900_Amount"] Amount,-   line_12500_RDSP = Field ["Line_12500_RDSP", "Line_12500_Amount"] Amount,-   line_26 = Field ["Line_26", "Amount1"] Amount,-   line_12000_TaxableDividends = Field ["Line_12000_TaxableDividends", "Amount"] Amount,-   line_14600_NetFedSupplements = Field ["Line_14600_NetFedSupplements", "Line_14600_Amount"] Amount,-   line_10130_sf = Field ["Line_10130_sf", "Line_10130_Amount"] Amount,-   line_12010_OtherTaxableDividends = Field ["Line_12010_OtherTaxableDividends", "Line_12010_Amount"] Amount,-   line_11701_UCCBDesignated = Field ["Line_11701_UCCBDesignated", "Line_11701_Amount"] Amount,-   line_13499_Amount = Field ["Line20", "Line_13499_Amount"] Amount,-   line_13500_Amount = Field ["Line20", "Line_13500_Amount"] Amount,-   line_12800_Amount = Field ["Line_12799_12800_SupportPayReceived", "Line_12800_Amount"] Amount,-   line_12799_Amount = Field ["Line_12799_12800_SupportPayReceived", "Line_12799_Amount"] Amount,-   line_14299_Amount = Field ["Line24", "Line_14299_Amount"] Amount,-   line_14300_Amount = Field ["Line24", "Line_14300_Amount"] Amount,-   line_13900_Amount = Field ["Line22", "Line_13900_Amount"] Amount,-   line_13899_Amount = Field ["Line22", "Line_13899_Amount"] Amount}-                                                                                           -page4Fields = Page4 {-   line_21000_SplitPensionDeduction = Field ["Line_21000_SplitPensionDeduction", "Line_21000_Amount"] Amount,-   line_23500_SocialBenefits = Field ["Line_23500_SocialBenefits", "Line_23500_Amount"] Amount,-   line_23400_NetBeforeAdjust = Field ["Line_23400_NetBeforeAdjust", "Line_23400_Amount"] Amount,-   line_22100_CarryingChargesInterest = Field ["Line_22100_CarryingChargesInterest", "Line_22100_Amount"] Amount,-   line_21500_DisabilityDeduction = Field ["Line_21500_DisabilityDeduction", "Line_21500_Amount"] Amount,-   line_15000_TotalIncome_2 = Field ["Line_15000_TotalIncome_2", "Line_15000_Amount"] Amount,-   line_22900_OtherEmployExpenses = Field ["Line_22900_OtherEmployExpenses", "Line_22900_Amount"] Amount,-   line_20800_RRSPDeduction = Field ["Line_20800_RRSPDeduction", "Line_20800_Amount"] Amount,-   line_22000_Amount = Field ["Line42", "Line_22000_Amount"] Amount,-   line_21999_Amount = Field ["Line42", "Line_21999_Amount"] Amount,-   line_21699_Amount = Field ["Line40", "Line_21699_Amount"] Amount,-   line_21700_Amount = Field ["Line40", "Line_21700_Amount"] Amount,-   line_23210 = Field ["Line23210", "Amount"] Amount,-   line_20810_PRPP = Field ["Line_20810_PRPP", "Line_20810_Amount"] Amount,-   line_20700_RPPDeduction = Field ["Line_20700_RPPDeduction", "Line_20700_Amount"] Amount,-   line_22215_DeductionCPP_QPP = Field ["Line_22215_DeductionCPP_QPP", "Line_22215_Amount"] Amount,-   line_23300_sum = Field ["Line_23300_AddLines", "Line_23300_Amount1"] Amount,-   line_23300_cont = Field ["Line_23300_AddLines", "Line_23300_Amount2"] Amount,-   line_23600_NetIncome = Field ["Line_23600_NetIncome", "Line_23600_Amount"] Amount,-   line_21200_Dues = Field ["Line_21200_Dues", "Line_21200_Amount"] Amount,-   line_20600_PensionAdjustment = Field ["Line_20600_PensionAdjustment", "Line_20600_Amount"] Amount,-   line_22400_XplorationDevExpenses = Field ["Line_22400_XplorationDevExpenses", "Line_22400_Amount"] Amount,-   line_23200_OtherDeductions = Field ["Line_23200_OtherDeductions", "Line_23200_Amount"] Amount,-   line_23200_Specify = Field ["Line_23200_OtherDeductions", "Line_23200_Specify"] Textual,-   line_21900_MovingExpenses = Field ["Line_21900_MovingExpenses", "Line_21900_Amount"] Amount,-   line_21400_ChildCareExpenses = Field ["Line_21400_ChildCareExpenses", "Line_21400_Amount"] Amount,-   line_22200_CPP_QPP_Contributions = Field ["Line_22200_CPP_QPP_Contributions", "Line_22200_Amount"] Amount,-   line_21300_UCCBRepayment = Field ["Line_21300_UCCBRepayment", "Line_21300_Amount"] Amount,-   line_23100_ClergyResDeduction = Field ["Line_23100_ClergyResDeduction", "Line_23100_Amount"] Amount}-                                                                                           -page5Fields = Page5 {-   step4_TaxableIncome = within "Step4_TaxableIncome" Rank2.<$> step4Fields,-   partA_FederalTax = within "PartA" Rank2.<$> partAFields,-   partB_FederalTaxCredits = within "PartB" Rank2.<$> partBFields}--step4Fields = Step4 {-   line_23600_NetIncome_2 = Field ["Line_23600_NetIncome_2", "Line_15000_Amount"] Amount,-   line_24400_MilitaryPoliceDeduction = Field ["Line_24400_MilitaryPoliceDeduction", "Line_24400_Amount"] Amount,-   line_24900_SecurityDeductions = Field ["Line_24900_SecurityDeductions", "Line_24900_Amount"] Amount,-   line_25000_OtherPayDeductions = Field ["Line_25000_OtherPayDeductions", "Line_25000_Amount"] Amount,-   line_25100_PartnershipLosses = Field ["Line_25100_PartnershipLosses", "Line_25100_Amount"] Amount,-   line_25200_NoncapitalLosses = Field ["Line_25200_NoncapitalLosses", "Line_25200_Amount"] Amount,-   line_25300_NetCapitalLosses = Field ["Line_25300_NetCapitalLosses", "Line_25300_Amount"] Amount,-   line_25400_CapitalGainsDeduction = Field ["Line_25400_CapitalGainsDeduction", "Line_25400_Amount"] Amount,-   line_25500_NorthernDeductions = Field ["Line_25500_NorthernDeductions", "Line_25500_Amount"] Amount,-   line_25600_AdditionalDeductions_Amount = Field ["Line_25600_AdditionalDeductions", "Line_25600_Amount"] Amount,-   line_25600_AdditionalDeductions_Specify = Field ["Line_25600_AdditionalDeductions", "Line_25600_Specify"] Textual,-   line_25700_AddLines_cont = Field ["Line_25700_AddLines", "Line_25700_Amount2"] Amount,-   line_25700_AddLines_sum = Field ["Line_25700_AddLines", "Line_25700_Amount1"] Amount,-   line_26000_TaxableIncome = Field ["Line_26000_TaxableIncome", "Line_26000_Amount"] Amount}--partAFields = Page5PartA {-   column1 = within "Column1" Rank2.<$> TaxIncomeBracket {-       line67_income = Field ["Line36Amount1"] Amount,-       line69_overThreshold = Field ["Line38Amount1"] Amount,-       line71_timesRate = Field ["Line40Amount1"] Amount,-       line73_equalsTax = Field ["Line42Amount1"] Amount},-   column2 = within "Column2" Rank2.<$> TaxIncomeBracket {-       line67_income = Field ["Line36Amount2"] Amount,-       line69_overThreshold = Field ["Line38Amount2"] Amount,-       line71_timesRate = Field ["Line40Amount2"] Amount,-       line73_equalsTax = Field ["Line42Amount2"] Amount},-   column3 = within "Column3" Rank2.<$> TaxIncomeBracket {-       line67_income = Field ["Line36Amount3"] Amount,-       line69_overThreshold = Field ["Line38Amount3"] Amount,-       line71_timesRate = Field ["Line40Amount3"] Amount,-       line73_equalsTax = Field ["Line42Amount3"] Amount},-   column4 = within "Column4" Rank2.<$> TaxIncomeBracket {-       line67_income = Field ["Line36Amount4"] Amount,-       line69_overThreshold = Field ["Line38Amount4"] Amount,-       line71_timesRate = Field ["Line40Amount4"] Amount,-       line73_equalsTax = Field ["Line42Amount4"] Amount},-   column5 = within "Column5" Rank2.<$> TaxIncomeBracket {-       line67_income = Field ["Line36Amount5"] Amount,-       line69_overThreshold = Field ["Line38Amount5"] Amount,-       line71_timesRate = Field ["Line40Amount5"] Amount,-       line73_equalsTax = Field ["Line42Amount5"] Amount}}--partBFields = Page5PartB {-   line30000 = Field ["Line30000_Sub", "Line1_Amount"] Amount,-   line30100 = Field ["Line30100_Sub", "Line2_Amount"] Amount,-   line30300 = Field ["Line30300_Sub", "Line3_Amount"] Amount,-   line30400 = Field ["Line30400_Sub", "Line4_Amount"] Amount,-   line30425 = Field ["Line30425_sub", "Line4_Amount"] Amount,-   line30450 = Field ["Line30450_Sub", "Line6_Amount"] Amount,-   line30499_ChildrenNum = Field ["Line30500", "Line7_ChildrenNum"] Count,-   line30500 = Field ["Line30500", "Line7_Amount"] Amount,-   line_81 = Field ["Line_81", "Line30_Amount"] Amount}-                                                                                           -page6Fields = Page6 {-   line82 = Field ["Line_79", "Line43Amount"] Amount,-   line30800 = Field ["CPP_QPP_Sub", "Line30800_Sub", "Line8_Amount"] Amount,-   line31000 = Field ["CPP_QPP_Sub", "Line31000_Sub", "Line9_Amount"] Amount,-   line31200 = Field ["EIPremiums_Sub", "Line31200_Sub", "Line10_Amount"] Amount,-   line31217 = Field ["Line31217_Sub", "Line11_Amount"] Amount,-   line31220 = Field ["Line31220_Sub", "Line12_Amount"] Amount,-   line31240 = Field ["Line31240_Sub", "Line13_Amount"] Amount,-   line31260 = Field ["Line31260_Sub", "Line14_Amount"] Amount,-   line31270 = Field ["Line31270_Sub", "Line15_Amount"] Amount,-   line31285 = Field ["Line31285_sub", "Line16_Amount"] Amount,-   line31300 = Field ["Line31300_Sub", "Line17_Amount"] Amount,-   line31350 = Field ["Line31350_Sub", "Amount"] Amount,-   line94_sum = Field ["Line93", "Amount1"] Amount,-   line94_cont = Field ["Line93", "Amount2"] Amount,-   line31400 = Field ["Line31400_Sub", "Line18_Amount"] Amount,-   line96 = Field ["Line95", "Amount1"] Amount,-   line31600 = Field ["Line31600_Sub", "Line19_Amount"] Amount,-   line31800 = Field ["Line31800_Sub", "Line20_Amount"] Amount,-   line99 = Field ["Line98", "Amount1"] Amount,-   line31900 = Field ["Line31900_Sub", "Line21_Amount"] Amount,-   line32300 = Field ["Line32300_Sub", "Line22_Amount"] Amount,-   line32400 = Field ["Line32400_Sub", "Line23_Amount"] Amount,-   line32600 = Field ["Line32600_Sub", "Line24_Amount"] Amount,-   line104 = Field ["Line103", "Amount1"] Amount,-   medical_expenses = within "Medical_expenses" Rank2.<$> page6MedicalExpensesFields,-   line33200_sum = Field ["Line33200_Sub", "Line29_Amount1"] Amount,-   line33200_cont = Field ["Line33200_Sub", "Line29_Amount2"] Amount,-   line33500 = Field ["Line33500_Sub", "Line30_Amount"] Amount,-   line33800 = Field ["Line33800_Sub", "Line32_Amount"] Amount,-   line34900 = Field ["Line34900_Sub", "Line33_Amount"] Amount,-   line35000 = Field ["Line35000_Sub", "Line34_Amount"] Amount}--page6MedicalExpensesFields = MedicalExpenses {-   familyExpenses = Field ["Line104", "Amount"] Amount,-   taxableIncome = Field ["Line105", "Amount1"] Amount,-   taxableIncomeFraction = Field ["Line105", "Amount2"] Amount,-   threshold = Field ["Line26_Sub", "Line26_Amount"] Amount,-   difference = Field ["Line27_Sub", "Line27_Amount"] Amount,-   otherDependants = Field ["Line33199_Sub", "Line28_Amount"] Amount}--page7Fields = Page7 {-   partC_NetFederalTax = within "PartC" Rank2.<$> partCFields,-   step6_RefundOrBalanceOwing = within "Step6" Rank2.<$> page7step6Fields}--partCFields = Page7PartC {-   line116 = Field ["Line108_sub", "Line43Amount"] Amount,-   line40424 = Field ["Line40424_Sub", "Line44Amount"] Amount,-   line40400 = Field ["Line40400_Sub", "Line45Amount1"] Amount,-   line119 = Field ["Line35000_sub", "Line46Amount"] Amount,-   line40425 = Field ["Line40425_Sub", "Line47Amount"] Amount,-   line40427 = Field ["Line40427_Sub", "Line48Amount"] Amount,-   line122_sum = Field ["Line114_sub", "Line49Amount1"] Amount,-   line122_cont = Field ["Line114_sub", "Line49Amount2"] Amount,-   line123 = Field ["Line122", "Amount"] Amount,-   line124 = Field ["Line123", "Amount"] Amount,-   line125 = Field ["Line124", "Amount"] Amount,-   line40500 = Field ["Line40500_sub", "Line51Amount"] Amount,-   line127 = Field ["Line40600_sub", "Line52Amount"] Amount,-   line128 = Field ["Line127", "Amount"] Amount,-   line129 = Field ["Line128", "Amount"] Amount,-   line130 = Field ["Line129", "Amount"] Amount,-   line131 = Field ["Line130", "Amount"] Amount,-   line40900 = Field ["Line131", "F40900", "Amount"] Amount,-   line41000 = Field ["Line131", "Amount"] Amount,-   line41200 = Field ["Line41200_sub", "Line55Amount"] Amount,-   line41300 = Field ["Line41400_sub", "Line56Amount1"] Amount,-   line41400 = Field ["Line41400_sub", "Line56Amount2"] Amount,-   line41600_sum = Field ["Line41600_sub", "Line57Amount1"] Amount,-   line41600_cont = Field ["Line41600_sub", "Line57Amount2"] Amount,-   line41700 = Field ["Line41700_sub", "Line58Amount"] Amount,-   line41500 = Field ["Line41500_sub", "Line59Amount"] Amount,-   line41800 = Field ["Line41800_sub", "Line61Amount"] Amount,-   line42000 = Field ["Line42000_sub", "Line60Amount"] Amount}--page7step6Fields = Page7Step6 {-   line140 = Field ["Line_Y", "Line_42120_Amount"] Amount,-   line_42100_CPPContributions = Field ["Line_42100_CPPContributions", "Line_42100_Amount"] Amount,-   line_42120_EIPremiums = Field ["Line_42120_EIPremiums", "Line_42120_Amount"] Amount,-   line_42200_SocialBenefits = Field ["Line_42200_SocialBenefits", "Line_42200_Amount"] Amount,-   line_42800_ProvTerrTax = Field ["Line_42800_ProvTerrTax", "Line_42800_Amount"] Amount,-   line_43500_TotalPayable = Field ["Line_43500_TotalPayable", "Line_43500_Amount"] Amount}-                                                                                           -page8Fields = Page8 {-   step6_RefundOrBalanceOwing = within "Step6" Rank2.<$> page8step6Fields,-   line48400_Refund = Field ["Line48400_48500", "Line48400", "Line_48400_Amount"] Amount,-   line48500_BalanceOwing = Field ["Line48400_48500", "Line48500", "Line_48500_Amount"] Amount,-   telephone = Field ["Certification", "Telephone"] Amount,-   date = Field ["Certification", "Date"] Amount,-   taxPreparer = within "Line_49000_IfFeeWasCharged" Rank2.<$> taxPreparerFields,-   line_1_ONOpportunitiesFund = Field ["ONOpportunitiesFund2", "Line_1", "Amount"] Amount,-   line_46500 = Field ["ONOpportunitiesFund2", "Line_2", "Amount"] Amount,-   line_46600 = Field ["ONOpportunitiesFund2", "Line_3", "Amount"] Amount}--page8step6Fields = Page8Step6 {-   line_43500_totalpayable = Field ["Line_43500_totalpayable", "Line_42000_Amount"] Amount,-   line_43700_Total_income_tax_ded = Field ["LIne_43700_Total_income_tax_ded", "Line_43700_Amount"] Amount,-   line_44000 = Field ["Line_44000Sub", "Line_44000_Amount"] Amount,-   line_44800_CPPOverpayment = Field ["Line_44800_CPPOverpayment", "Line_44800_Amount"] Amount,-   line_45000_EIOverpayment = Field ["Line_45000_EIOverpayment", "Line_45000_Amount"] Amount,-   line_45200_MedicalExpense = Field ["Line_45200_MedicalExpense", "Line_45200_Amount"] Amount,-   line_45300_CWB = Field ["Line_45300_CWB", "Line_45300_Amount"] Amount,-   line_45350_CTC = Field ["Line_45350_CTC", "Line_45300_Amount"] Amount,-   line_45400_InvestmentTaxCredit = Field ["Line_45400_InvestmentTaxCredit", "Line_45400_Amount"] Amount,-   line_45600_TrustTaxCredit = Field ["Line_45600_TrustTaxCredit", "Line_45600_Amount"] Amount,-   line_45700_GST_HST_Rebate = Field ["Line_45700_GST_HST_Rebate", "Line_45700_Amount"] Amount,-   line_46800 = Field ["EligibleEducatorSchoolSypplyTaxCredit", "F46800", "Amount"] Amount,-   line_46900 = Field ["EligibleEducatorSchoolSypplyTaxCredit", "Amount"] Amount,-   line_47555_TaxPaid = Field ["Line_47555_TaxPaid", "Line_47600_Amount"] Amount,-   line_47556 = Field ["Line159", "Amount"] Amount,-   line_47557 = Field ["Line160", "Amount"] Amount,-   line_47600_TaxPaid = Field ["Line_47600_TaxPaid", "Line_47600_Amount"] Amount,-   line_47900_ProvTerrCredits = Field ["Line_47900_ProvTerrCredits", "Line_47900_Amount"] Amount,-   line_48200_sum = Field ["Line_48200_AddLines", "Line_48200_Amount1"] Amount,-   line_48200_cont = Field ["Line_48200_AddLines", "Line_48200_Amount2"] Amount,-   line164_Refund_or_BalanceOwing = Field ["Line_162", "Refund_or_BalanceOwing_Amount"] Amount}--taxPreparerFields = TaxPreparer {-   eFileNumber = Field ["EFileNumber_Comb", "EFile"] Textual,-   nameOfPreparer = Field ["NameOfPreparer"] Textual,-   telephoneOfPreparer = Field ["TelephoneOfPreparer"] Textual,-   line49000_WasAFeeCharged = Field ["Line49000_CheckBoxGroup"] $ Switch' "Line49000_CheckBox_EN"}
+ src/Tax/Canada/T1/FieldNames/AB.hs view
@@ -0,0 +1,35 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.T1.FieldNames.AB (module Tax.Canada.T1.FieldNames.AB, ON.page1Fields) where++import Rank2 qualified++import Tax.FDF (FieldConst (Field, NoField), Entry (..), within)+import Tax.Canada.Shared (subCalculationFields)+import Tax.Canada.T1.Types+import Tax.Canada.T1.Types qualified as Page8 (Page8(..))+import Tax.Canada.T1.FieldNames.BC qualified as BC+import Tax.Canada.T1.FieldNames.ON qualified as ON++t1Fields :: T1 FieldConst+t1Fields = within "form1" Rank2.<$> T1 {+   page1 = within "Page1" . within "Return-pg1" Rank2.<$> ON.page1Fields,+   page2 = within "Page2" . within "Step1-Cont" Rank2.<$> page2Fields,+   page3 = within "Page3" . within "Return-pg3" Rank2.<$> ON.page3Fields,+   page4 = within "Page4" . within "Return-pg4" Rank2.<$> ON.page4Fields,+   page5 = within "Page5" . within "Return-pg5" Rank2.<$> ON.page5Fields,+   page6 = within "Page6" . within "Return-pg6" . within "PartB" Rank2.<$> ON.page6Fields,+   page7 = within "Page7" . within "Return-pg7" Rank2.<$> ON.page7Fields,+   page8 = within "Page8" . within "Return-pg8" Rank2.<$> page8Fields}++page2Fields = ON.page2Fields {+   cai = Field ["CAI", "AB_CAI", "Tick_box"] Checkbox,+   organ_donor = NoField}++page8Fields = BC.page8Fields {+   Page8.step6_RefundOrBalanceOwing = within "Step6-Cont" Rank2.<$> BC.page8step6Fields,+   line48400_Refund = Field ["Refund_or_Balance-Owing", "Line48400", "Line_48400_Amount"] Amount,+   line48500_BalanceOwing = Field ["Refund_or_Balance-Owing", "Line48500", "Line_48500_Amount"] Amount}
+ src/Tax/Canada/T1/FieldNames/BC.hs view
@@ -0,0 +1,43 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.T1.FieldNames.BC where++import Rank2 qualified++import Tax.FDF (FieldConst (Field, NoField), Entry (..), within)+import Tax.Canada.T1.Types+import Tax.Canada.T1.Types qualified as Page8 (Page8(..))+import Tax.Canada.T1.FieldNames.ON qualified as ON++t1Fields :: T1 FieldConst+t1Fields = ON.t1Fields {+   page2 = within "form1" . within "Page2" Rank2.<$> page2Fields,+   page3 = within "form1" . within "Page3" . within "Return-pg3" Rank2.<$> page3Fields,+   page4 = within "form1" . within "Page4" . within "Return-pg4" . within "Step3" Rank2.<$> ON.page4Fields,+   page8 = within "form1" . within "Page8" . within "Return-pg8" Rank2.<$> page8Fields}++page2Fields = ON.page2Fields {+   cai = NoField,+   organ_donor = NoField}++page3Fields = ON.page3Fields{+   line_10100_EmploymentIncome = Field ["Line1", "Line_10100_Amount"] Amount}++page8Fields = ON.page8Fields {+   Page8.step6_RefundOrBalanceOwing = within "Step6-Continued" Rank2.<$> page8step6Fields,+   taxPreparer = within "Efile" Rank2.<$> taxPreparerFields,+   line_1_ONOpportunitiesFund = NoField,+   line_46500 = NoField,+   line_46600 = NoField}++page8step6Fields = ON.page8step6Fields {+   line_45350_CTC = Field ["Line45350", "Line_45300_Amount"] Amount,+   line_45355_MHRTC = Field ["Line45355", "Line_45300_Amount"] Amount,+   line_47555_TaxPaid = Field ["Line47555", "Line_47555_Amount"] Amount}++taxPreparerFields = ON.taxPreparerFields {+   eFileNumber = Field ["Line48900", "EFile"] Textual,+   line49000_WasAFeeCharged = Field ["Line49000", "Line49000_CheckBoxGroup"] $ Switch' "Line49000_CheckBox_EN"}
+ src/Tax/Canada/T1/FieldNames/NB.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.T1.FieldNames.NB where++import Rank2 qualified++import Tax.FDF (FieldConst (Field), Entry (..), within)+import Tax.Canada.T1.Types+import Tax.Canada.T1.FieldNames.PE qualified as PE++t1Fields :: T1 FieldConst+t1Fields = PE.t1Fields{+   page2 = within "form1" . within "Page2" Rank2.<$> page2Fields,+   page8 = within "form1" . within "Page8" . within "Return-pg8" Rank2.<$> page8Fields}++page2Fields = PE.page2Fields{+   cai = Field ["CAI", "CAI_2024", "Tick_box"] Checkbox}++page8Fields = PE.page8Fields {+   line48400_Refund = Field ["Refund_or_Balance-Owing", "Line48400", "Line_48400_Amount"] Amount,+   line48500_BalanceOwing = Field ["Refund_or_Balance-Owing", "Line48500", "Line_48500_Amount"] Amount}
+ src/Tax/Canada/T1/FieldNames/NL.hs view
@@ -0,0 +1,37 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.T1.FieldNames.NL (t1Fields) where++import Rank2 qualified++import Tax.FDF (FieldConst (Field, NoField), Entry (..), within)+import Tax.Canada.Shared (subCalculationFields, TaxIncomeBracket (timesRate))+import Tax.Canada.T1.Types+import Tax.Canada.T1.Types qualified as Page8 (Page8(..))+import Tax.Canada.T1.FieldNames.ON qualified as ON+import Tax.Canada.T1.FieldNames.AB qualified as AB+import Tax.Canada.T1.FieldNames.BC qualified as BC++t1Fields :: T1 FieldConst+t1Fields = within "form1" Rank2.<$> T1 {+   page1 = within "Page1" . within "Return-pg1" Rank2.<$> ON.page1Fields,+   page2 = within "Page2" Rank2.<$> page2Fields,+   page3 = within "Page3" . within "Return-pg3" Rank2.<$> BC.page3Fields,+   page4 = within "Page4" . within "Return-pg4" Rank2.<$> ON.page4Fields,+   page5 = within "Page5" . within "Return-pg5" Rank2.<$> ON.page5Fields,+   page6 = within "Page6" . within "Return-pg6" . within "PartB" Rank2.<$> ON.page6Fields,+   page7 = within "Page7" . within "Return-pg7" Rank2.<$> ON.page7Fields,+   page8 = within "Page8" . within "Return-pg8" Rank2.<$> page8Fields}++page2Fields = AB.page2Fields {+   foreign_property = Field ["Foreign_property", "Line26600"] $ Switch' "ForeignProperty_CheckBox",+   tax_exempt = Field ["Indian_Act", "IndianAct_Question", "Checkbox"] Checkbox}++page8Fields = BC.page8Fields {+   Page8.step6_RefundOrBalanceOwing = within "Step6-Cont" Rank2.<$> BC.page8step6Fields,+   telephone = Field ["Certification", "Telephone"] Amount,+   date = Field ["Certification", "Date"] Amount}
+ src/Tax/Canada/T1/FieldNames/NT.hs view
@@ -0,0 +1,29 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.T1.FieldNames.NT (module Tax.Canada.T1.FieldNames.NT, page1Fields) where++import Rank2 qualified++import Tax.FDF (FieldConst (Field, NoField), Entry (..), within)+import Tax.Canada.Shared (subCalculationFields)+import Tax.Canada.T1.Types+import Tax.Canada.T1.Types qualified as Page8 (Page8(..))+import Tax.Canada.T1.FieldNames.ON+  hiding (t1Fields,+          page2Fields, page3Fields, page4Fields, page5Fields, page6Fields, page7Fields, page8Fields,+          step4Fields, partBFields, page6MedicalExpensesFields, partCFields, page7step6Fields, page8step6Fields,+          taxPreparerFields)+import Tax.Canada.T1.FieldNames.BC qualified as BC+import Tax.Canada.T1.FieldNames.ON qualified as ON++t1Fields :: T1 FieldConst+t1Fields = ON.t1Fields {+   page2 = within "form1" . within "Page2" Rank2.<$> BC.page2Fields,+   page8 = within "form1" . within "Page8" . within "Return-pg8" Rank2.<$> page8Fields}++page8Fields = BC.page8Fields {+   Page8.step6_RefundOrBalanceOwing = within "Step6" Rank2.<$> BC.page8step6Fields}
+ src/Tax/Canada/T1/FieldNames/NU.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.T1.FieldNames.NU (t1Fields) where++import Rank2 qualified++import Tax.FDF (FieldConst (NoField), within)+import Tax.Canada.T1.Types+import Tax.Canada.T1.FieldNames.PE qualified as PE+import Tax.Canada.T1.FieldNames.ON qualified as ON++t1Fields :: T1 FieldConst+t1Fields = PE.t1Fields{+   page2 = within "form1" . within "Page2" . within "Step1" Rank2.<$> PE.page2Fields,+   page3 = within "form1" . within "Page3" . within "Return-pg3" Rank2.<$> ON.page3Fields}
+ src/Tax/Canada/T1/FieldNames/ON.hs view
@@ -0,0 +1,345 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.T1.FieldNames.ON where++import Rank2 qualified++import Data.Text (Text)+import Data.Text.Lazy (toStrict)+import Data.Text.Lazy.Builder (fromText, toLazyText)+import Data.Text.Lazy.Builder.Int (decimal)+import Tax.FDF (FieldConst (Field, NoField), Entry (..), within)+import Tax.Canada.Shared (TaxIncomeBracket (..), subCalculationFields)+import Tax.Canada.T1.Types++t1Fields :: T1 FieldConst+t1Fields = within "form1" Rank2.<$> T1 {+   page1 = within "Page1" . within "Return-pg1" Rank2.<$> page1Fields,+   page2 = within "Page2" Rank2.<$> page2Fields,+   page3 = within "Page3" . within "Return-pg3" Rank2.<$> page3Fields,+   page4 = within "Page4" . within "Return-pg4" Rank2.<$> page4Fields,+   page5 = within "Page5" . within "Return-pg5" Rank2.<$> page5Fields,+   page6 = within "Page6" . within "Return-pg6" . within "PartB" Rank2.<$> page6Fields,+   page7 = within "Page7" . within "Return-pg7" Rank2.<$> page7Fields,+   page8 = within "Page8" Rank2.<$> page8Fields}++page1Fields = Page1 {+   identification = within "Identification" Rank2.<$> page1IdentificationFields,+   residence = within "Residence_Info" Rank2.<$> page1ResidenceFields,+   spouse = within "Info_Spouse_CLP" Rank2.<$> page1SpouseFields}++page1IdentificationFields = Identification {+   emailAddress = Field ["EmailAddress"] Textual,+   dateDeath = Field ["DateDeath_Comb_BordersAll", "DateDeath_Comb"] Date,+   postalCode = Field ["PostalCode_Comb_BordersAll", "PostalCode"] Textual,+   your_Language = Field ["Your_Language", "RadioButtonlanguaget"] $ RadioButton [English, French],+   id_City = Field ["ID_City"] Textual,+   sin = Field ["SIN_Comb_BordersAll", "SIN_Comb"] Textual,+   id_LastName = Field ["ID_LastName"] Textual,+   dateBirth = Field ["DateBirth_Comb_BordersAll", "DateBirth_Comb"] Date,+   id_FirstNameInitial = Field ["ID_FirstNameInitial"] Textual,+   id_MailingAddress = Field ["ID_MailingAddress"] Textual,+   maritalStatus = Field ["MaritalStatus_Checkbox"] $ RadioButtons 0 1 "MaritalStatus" [Married .. Single],+   id_RuralRoute = Field ["ID_RuralRoute"] Textual,+   id_POBox = Field ["ID_POBox"] Textual,+   prov_DropDown = Field ["Prov_DropDown"] Province}++page1ResidenceFields = Residence {+   prov_DropDown_Business = Field ["Prov_DropDown-Business"] Province,+   prov_DropDown_Residence = Field ["Prov_DropDown-Residence"] Province,+   date_Departure = Field ["Date_Departure", "DateMMDD_Comb_BordersAll_Std", "DateMMDD_Comb"] Date,+   date_Entry = Field ["Date_Entry", "DateMMDD_Comb_BordersAll_Std", "DateMMDD_Comb"] Date,+   prov_DropDown = Field ["Prov_DropDown"] Textual}+  +page1SpouseFields = Spouse {+   line23600 = Field ["Line23600", "Amount"] Amount,+   self_employment = Field ["Self-employment", "Checkbox"] Checkbox,+   spouse_First_Name = Field ["Spouse_First_Name"] Textual,+   line11700 = Field ["Line11700", "Amount"] Amount,+   line21300 = Field ["Line21300", "Amount"] Amount,+   sin = Field ["SIN_Comb_BordersAll", "SIN_Comb"] Textual}++page2Fields = Page2 {+   foreign_property = Field ["Foreign_property", "Line26600"] $ Switch "Option1" "Option2" "ForeignProperty_CheckBox",+   tax_exempt = Field ["Tax_exempt", "Exempt", "Spouse_SelfEmployed"] Checkbox,+   electionsCanada = within "ElectionsCanada" Rank2.<$> page2ElectionsCanadaFields,+   cai = Field ["CAI", "CAI_ON", "Tick_box"] Checkbox,+   organ_donor = Field ["Organ_donor", "Question"] $ Switch "Option1" "Option2" "OrganDonor_CheckBox"+}++page2ElectionsCanadaFields = ElectionsCanada {+   citizenship = Field ["LineA"] $ Switch "Option1" "Option2" "A_CheckBox",+   authorization = Field ["LineB"] $ Switch "Option1" "Option2" "B_Authorize_CheckBox"}++page3Fields = Page3 {+   line_10100_EmploymentIncome = Field ["Line10100", "Line_10100_Amount"] Amount,+   line_10105_Taxexemptamount = Field ["Line10105", "Line_10105_Amount"] Amount,+   line_10120_Commissions = Field ["Line10120", "Line_10120_Amount"] Amount,+   line_10130_sf = Field ["Line10130", "Line_10130_Amount"] Amount,+   line_10400_OtherEmploymentIncome = Field ["Line10400", "Line_10400_Amount"] Amount,+   line_11300_OldAgeSecurityPension = Field ["Line11300", "Line_11300_Amount"] Amount,+   line_11400_CPP_QPP = Field ["Line11400", "Line_11400_Amount"] Amount,+   line_11410_DisabilityBenefits = Field ["Line11410", "Line_11410_Amount"] Amount,+   line_11500_OtherPensions = Field ["Line11500", "Line_11500_Amount"] Amount,+   line_11600_ElectedSplitPension = Field ["Line11600", "Line_11600_Amount"] Amount,+   line_11700_UCCB = Field ["Line11700", "Line_11700_Amount"] Amount,+   line_11701_UCCBDesignated = Field ["Line11701", "Line_11701_Amount"] Amount,+   line_11900_EmploymentInsurance = Field ["Line11900", "Line_11900_Amount"] Amount,+   line_11905_Employmentmaternity = Field ["Line11905", "Line_11905_Amount"] Amount,+   line_12000_TaxableDividends = Field ["Line12000", "Line_12000_Amount"] Amount,+   line_12010_OtherTaxableDividends = Field ["Line12010", "Line_12010_Amount"] Amount,+   line_12100_InvestmentIncome = Field ["Line12100", "Line_12100_Amount"] Amount,+   line_12200_PartnershipIncome = Field ["Line12200", "Line_12200_Amount"] Amount,+   line_12500_RDSP = Field ["Line12500", "Line_12500_Amount"] Amount,+   line_12599_12600_RentalIncome = Field ["Line12600", "Line12599", "Line_12599_Amount"] Amount,+   line_12600_Amount = Field ["Line12600", "Line_12600_Amount"] Amount,+   line_12700_TaxableCapitalGains = Field ["Line12700", "Line_12700_Amount"] Amount,+   line_12799_Amount = Field ["Line12800", "Line_12799", "Line_12799_Amount"] Amount,+   line_12800_Amount = Field ["Line12800", "Line_12800_Amount"] Amount,+   line_12900_RRSPIncome = Field ["Line12900", "Line_12900_Amount"] Amount,+   line_12905_FHSAIncome = Field ["Line12905", "Line_12905_Amount"] Amount,+   line_12906_OtherFHSAIncome = Field ["Line12906", "Line_12906_Amount"] Amount,+   line_13000_OtherIncome = Field ["Line13000", "Line_13000_Amount"] Amount,+   line_13000_OtherIncomeSource = Field ["Line13000", "Line_13000_Specify"] Textual,+   line_13010_TaxableScholarship = Field ["Line13010", "Line_13010_Amount"] Amount,+   line_19 = Field ["Line21", "Amount"] Amount,+   selfEmployment = selfEmploymentFields,+   line_25_sum = subCalculationFields "Line27" ["Amount1"] ["Amount2"],+   line_26 = Field ["Line28", "Amount"] Amount,+   line_14400_WorkersCompBen = Field ["Line14400", "Line_14400_Amount"] Amount,+   line_14500_SocialAssistPay = Field ["Line14500", "Line_14500_Amount"] Amount,+   line_14600_NetFedSupplements = Field ["Line14600", "Line_14600_Amount"] Amount,+   line_14700_EqualsAmount = Field ["Line14700", "Line_14700_Amount1"] Amount,+   line_14700_PlusAmount = Field ["Line14700", "Line_14700_Amount2"] Amount,+   line_15000_TotalIncome = Field ["Line15000", "Line_15000_Amount"] Amount}++selfEmploymentFields = SelfEmploymentIncome {+   line_13499_Amount = Field ["Line13500", "Line13499", "Line_13499_Amount"] Amount,+   line_13500_Amount = Field ["Line13500", "Line_13500_Amount"] Amount,+   line_13699_Amount = Field ["Line13700", "Line13699", "Line_13699_Amount"] Amount,+   line_13700_Amount = Field ["Line13700", "Line_13700_Amount"] Amount,+   line_13899_Amount = Field ["Line13900", "Line13899", "Line_13899_Amount"] Amount,+   line_13900_Amount = Field ["Line13900", "Line_13900_Amount"] Amount,+   line_14099_Amount = Field ["Line14100", "Line14099", "Line_14099_Amount"] Amount,+   line_14100_Amount = Field ["Line14100", "Line_14100_Amount"] Amount,+   line_14299_Amount = Field ["Line14300", "Line14299", "Line_14299_Amount"] Amount,+   line_14300_Amount = Field ["Line14300", "Line_14300_Amount"] Amount}++page4Fields = Page4 {+   line_15000_TotalIncome_2 = Field ["Line34", "Amount"] Amount,+   line_20600_PensionAdjustment = Field ["Line20600", "Line_20600_Amount"] Amount,+   line_20700_RPPDeduction = Field ["Line20700", "Line_20700_Amount"] Amount,+   line_20800_RRSPDeduction = Field ["Line20800", "Line_20800_Amount"] Amount,+   line_20805_FHSADeduction = Field ["Line20805", "Line_20805_Amount"] Amount,+   line_20810_PRPP = Field ["Line20810", "Line_20810_Amount"] Amount,+   line_21000_SplitPensionDeduction = Field ["Line21000", "Line_21000_Amount"] Amount,+   line_21200_Dues = Field ["Line21200", "Line_21200_Amount"] Amount,+   line_21300_UCCBRepayment = Field ["Line21300", "Line_21300_Amount"] Amount,+   line_21400_ChildCareExpenses = Field ["Line21400", "Line_21400_Amount"] Amount,+   line_21500_DisabilityDeduction = Field ["Line21500", "Line_21500_Amount"] Amount,+   line_21699_Amount = Field ["Line21700", "Line21699", "Line_21699_Amount"] Amount,+   line_21700_Amount = Field ["Line21700", "Line_21700_Amount"] Amount,+   line_21900_MovingExpenses = Field ["Line21900", "Line_21900_Amount"] Amount,+   line_21999_Amount = Field ["Line22000", "Line21999", "Line_21999_Amount"] Amount,+   line_22000_Amount = Field ["Line22000", "Line_22000_Amount"] Amount,+   line_22100_CarryingChargesInterest = Field ["Line22100", "Line_22100_Amount"] Amount,+   line_22200_CPP_QPP_Contributions = Field ["Line22200", "Line_22200_Amount"] Amount,+   line_22215_DeductionCPP_QPP = Field ["Line22215", "Line_22215_Amount"] Amount,+   line_22300_DeductionPPIP = NoField,+   line_22400_XplorationDevExpenses = Field ["Line22400", "Line_22400_Amount"] Amount,+   line_22900_OtherEmployExpenses = Field ["Line22900", "Line_22900_Amount"] Amount,+   line_23100_ClergyResDeduction = Field ["Line23100", "Line_23100_Amount"] Amount,+   line_23200_OtherDeductions = Field ["Line23200", "Line_23200_Amount"] Amount,+   line_23200_Specify = Field ["Line23200", "Line_23200_Specify"] Textual,+   line_23300_sum = subCalculationFields "Line23300" ["Line_23300_Amount1"] ["Line_23300_Amount2"],+   line_23400_NetBeforeAdjust = Field ["Line23400", "Line_23400_Amount"] Amount,+   line_23500_SocialBenefits = Field ["Line23500", "Line_23500_Amount"] Amount,+   line_23600_NetIncome = Field ["Line23600", "Line_23600_Amount"] Amount}++page5Fields = Page5 {+   step4_TaxableIncome = within "Step4" Rank2.<$> step4Fields,+   partA_FederalTax = within "PartA" Rank2.<$> partAFields "Column" 36,+   partB_FederalTaxCredits = within "PartB" Rank2.<$> partBFields}++step4Fields = Step4 {+   line_23600_NetIncome_2 = Field ["Line57", "Amount"] Amount,+   line_24400_MilitaryPoliceDeduction = Field ["Line24400", "Line_24400_Amount"] Amount,+   line_24900_SecurityDeductions = Field ["Line24900", "Line_24900_Amount"] Amount,+   line_25000_OtherPayDeductions = Field ["Line25000", "Line_25000_Amount"] Amount,+   line_25100_PartnershipLosses = Field ["Line25100", "Line_25100_Amount"] Amount,+   line_25200_NoncapitalLosses = Field ["Line25200", "Line_25200_Amount"] Amount,+   line_25300_NetCapitalLosses = Field ["Line25300", "Line_25300_Amount"] Amount,+   line_25400_CapitalGainsDeduction = Field ["Line25400", "Line_25400_Amount"] Amount,+   line_25500_NorthernDeductions = Field ["Line25500", "Line_25500_Amount"] Amount,+   line_25600_AdditionalDeductions_Amount = Field ["Line25600", "Line_25600_Amount"] Amount,+   line_25600_AdditionalDeductions_Specify = Field ["Line25600", "Line_25600_Specify"] Textual,+   line_25700_AddLines_sum = subCalculationFields "Line25700" ["Line_25700_Amount1"] ["Line_25700_Amount2"],+   line_26000_TaxableIncome = Field ["Line26000", "Line_26000_Amount"] Amount}++partAFields :: Text -> Int -> Page5PartA FieldConst+partAFields = partAFieldsWith fieldNameAt+   where fieldNameAt line column isRate =+            toText $ "Line" <> decimal line <> (if isRate then "Rate" else "Amount") <> decimal column+         toText = toStrict . toLazyText++partAFieldsWith :: (Int -> Int -> Bool -> Text) -> Text -> Int -> Page5PartA FieldConst+partAFieldsWith fieldNameAt columnPrefix startLine = Page5PartA {+   column1 = column 1 0 0.15 0,+   column2 = column 2 53_359.00 0.205 8_003.85,+   column3 = column 3 106_717.00 0.26 18_942.24,+   column4 = column 4 165_430.00 0.29 34_207.62,+   column5 = column 5 235_675.00 0.33 54_578.67}+   where column n threshold rate baseTax = within (columnPrefix <> toText (decimal n)) Rank2.<$> TaxIncomeBracket {+            income = Field [fieldNameAt startLine n False] Amount,+            threshold = Field [fieldNameAt (startLine + 1) n False] $ Constant threshold Amount,+            overThreshold = Field [fieldNameAt (startLine + 2) n False] Amount,+            rate = Field [fieldNameAt (startLine + 3) n True] $ Constant rate Percent,+            timesRate = Field [fieldNameAt (startLine + 4) n False] Amount,+            baseTax = Field [fieldNameAt (startLine + 5) n False] $ Constant baseTax Amount,+            equalsTax = Field [fieldNameAt (startLine + 6) n False] Amount}+         toText = toStrict . toLazyText++partBFields = Page5PartB {+   line30000 = Field ["Line30000", "Line_30000_Amount"] Amount,+   line30100 = Field ["Line30100", "Line_30100_Amount"] Amount,+   line30300 = Field ["Line30300", "Line_30300_Amount"] Amount,+   line30400 = Field ["Line30400", "Line_30400_Amount"] Amount,+   line30425 = Field ["Line30425", "Line_30425_Amount"] Amount,+   line30450 = Field ["Line30450", "Line_30450_Amount"] Amount,+   line30499_ChildrenNum = Field ["Line30500", "Line30499", "Line_30499_ChildrenNum"] Count,+   line30500 = Field ["Line30500", "Line_30500_Amount"] Amount,+   line_81 = Field ["Line83", "Amount"] Amount}+                                                                                           +page6Fields = Page6 {+   line82 = Field ["Line84", "Amount"] Amount,+   line30800 = Field ["Line30800", "Line_30800_Amount"] Amount,+   line31000 = Field ["Line31000", "Line_31000_Amount"] Amount,+   line31200 = Field ["Line31200", "Line_31200_Amount"] Amount,+   line31205 = NoField,+   line31210 = NoField,+   line31215 = NoField,+   line31217 = Field ["Line31217", "Line_31217_Amount"] Amount,+   line31220 = Field ["Line31220", "Line_31220_Amount"] Amount,+   line31240 = Field ["Line31240", "Line_31240_Amount"] Amount,+   line31260 = Field ["Line31260", "Line_31260_Amount"] Amount,+   line31270 = Field ["Line31270", "Line_31270_Amount"] Amount,+   line31285 = Field ["Line31285", "Line_31285_Amount"] Amount,+   line31300 = Field ["Line31300", "Line_31300_Amount"] Amount,+   line31350 = Field ["Line31350", "Line_31350_Amount"] Amount,+   line94_sum = subCalculationFields "Line96" ["Amount1"] ["Amount2"],+   line31400 = Field ["Line31400", "Line_31400_Amount"] Amount,+   line96 = Field ["Line98", "Amount"] Amount,+   line31600 = Field ["Line31600", "Line_31600_Amount"] Amount,+   line31800 = Field ["Line31800", "Line_31800_Amount"] Amount,+   line99 = Field ["Line101", "Amount"] Amount,+   line31900 = Field ["Line31900", "Line_31900_Amount"] Amount,+   line32300 = Field ["Line32300", "Line_32300_Amount"] Amount,+   line32400 = Field ["Line32400", "Line_32400_Amount"] Amount,+   line32600 = Field ["Line32600", "Line_32600_Amount"] Amount,+   line104 = Field ["Line106", "Amount"] Amount,+   medical_expenses = page6MedicalExpensesFields,+   line33200_sum = subCalculationFields "Line33200" ["Line_33200_Amount1"] ["Line_33200_Amount2"],+   line33500 = Field ["Line33500", "Line_33500_Amount"] Amount,+   line112 = Field ["Line114", "Percent"] $ Constant 0.15 Percent,+   line33800 = Field ["Line33800", "Line_33800_Amount"] Amount,+   line34900 = Field ["Line34900", "Line_34900_Amount"] Amount,+   line35000 = Field ["Line35000", "Line_35000_Amount"] Amount}++page6MedicalExpensesFields = MedicalExpenses {+   familyExpenses = Field ["Line33099", "Line_33099_Amount"] Amount,+   taxableIncome = Field ["Line108", "Amount1"] Amount,+   taxableIncomeFraction = Field ["Line108", "Amount2"] Amount,+   threshold = Field ["Line109", "Amount"] Amount,+   difference = Field ["Line110", "Amount"] Amount,+   otherDependants = Field ["Line33199", "Line_33199_Amount"] Amount}++page7Fields = Page7 {+   partC_NetFederalTax = within "PartC" Rank2.<$> partCFields,+   step6_RefundOrBalanceOwing = within "Step6" Rank2.<$> page7step6Fields}++partCFields = Page7PartC {+   line116 = Field ["Line118", "Amount"] Amount,+   line40424 = Field ["Line40424", "Line_40424_Amount"] Amount,+   line40400 = Field ["Line40400", "Line_40400_Amount"] Amount,+   line119 = Field ["Line121", "Amount"] Amount,+   line40425 = Field ["Line40425", "Line_40425_Amount"] Amount,+   line40427 = Field ["Line40427", "Line_40427_Amount"] Amount,+   line122_sum = subCalculationFields "Line124" ["Amount1"] ["Amount2"],+   line42900 = Field ["Line42900", "Line_42900_Amount"] Amount,+   line124 = Field ["Line126", "Amount"] Amount,+   line125 = Field ["Line127", "Amount"] Amount,+   line40500 = Field ["Line40500", "Line_40500_Amount"] Amount,+   line127 = Field ["Line129", "Amount"] Amount,+   line128 = Field ["Line130", "Amount"] Amount,+   line129 = Field ["Line131", "Amount"] Amount,+   line130 = Field ["Line132", "Amount"] Amount,+   line40600 = Field ["Line40600", "Line_40600_Amount"] Amount,+   line40900 = Field ["Line41000", "Line40900", "Line_40900_Amount"] Amount,+   line41000 = Field ["Line41000", "Line_41000_Amount"] Amount,+   line41200 = Field ["Line41200", "Line_41200_Amount"] Amount,+   line41300 = Field ["Line41400", "Line41300", "Line_41300_Amount"] Amount,+   line41400 = Field ["Line41400", "Line_41400_Amount"] Amount,+   line41600_sum = subCalculationFields "Line41600" ["Line_41600_Amount1"] ["Line_41600_Amount2"],+   line41700 = Field ["Line41700", "Line_41700_Amount"] Amount,+   line41500 = Field ["Line41500", "Line_41500_Amount"] Amount,+   line41800 = Field ["Line41800", "Line_41800_Amount"] Amount,+   line42000 = Field ["Line42000", "Line_42000_Amount"] Amount}++page7step6Fields = Page7Step6 {+   line140 = Field ["Line14", "Amount"] Amount,+   line_42100_CPPContributions = Field ["Line42100", "Line_42100_Amount"] Amount,+   line_42120_EIPremiums = Field ["Line42120", "Line_42120_Amount"] Amount,+   line_42200_SocialBenefits = Field ["Line42200", "Line_42200_Amount"] Amount,+   line_42800_ProvTerrTax = Field ["Line42800", "Line_42800_Amount"] Amount,+   line_43200_FirstNationsTax = NoField,+   line_43500_TotalPayable = Field ["Line43500", "Line_43500_Amount"] Amount}+                                                                                           +page8Fields = Page8 {+   step6_RefundOrBalanceOwing = within "Step6-Continued" Rank2.<$> page8step6Fields,+   line48400_Refund = Field ["Refund_or_Balance-owing", "Line48400", "Line_48400_Amount"] Amount,+   line48500_BalanceOwing = Field ["Refund_or_Balance-owing", "Line48500", "Line_48500_Amount"] Amount,+   telephone = Field ["Certification", "Telephone"] Amount,+   date = Field ["Certification", "Date"] Amount,+   taxPreparer = within "Line_49000_IfFeeWasCharged" Rank2.<$> taxPreparerFields,+   line_1_ONOpportunitiesFund = Field ["ONOpportunitiesFund2", "Line_1", "Amount"] Amount,+   line_46500 = Field ["ONOpportunitiesFund2", "Line_2", "Amount"] Amount,+   line_46600 = Field ["ONOpportunitiesFund2", "Line_3", "Amount"] Amount}++page8step6Fields = Page8Step6 {+   line_43500_totalpayable = Field ["Line148", "Amount"] Amount,+   line_43700_Total_income_tax_ded = Field ["Line43700", "Line_43700_Amount"] Amount,+   line_43800_TaxTransferQC = NoField,+   line_43850_diff = Rank2.pure NoField,+   line_42900_copy = NoField,+   line_44000 = Field ["Line44000", "Line_44000_Amount"] Amount,+   line_44100 = NoField,+   line_44800_CPPOverpayment = Field ["Line44800", "Line_44800_Amount"] Amount,+   line_45000_EIOverpayment = Field ["Line45000", "Line_45000_Amount"] Amount,+   line_31210_copy = NoField,+   line_45100_diff = Rank2.pure NoField,+   line_45200_MedicalExpense = Field ["Line45200", "Line_45200_Amount"] Amount,+   line_45300_CWB = Field ["Line45300", "Line_45300_Amount"] Amount,+   line_45350_CTC = Field ["Line45350", "Line_45350_Amount"] Amount,+   line_45355_MHRTC = Field ["Line45355", "Line_45355_Amount"] Amount,+   line_45400_InvestmentTaxCredit = Field ["Line45400", "Line_45400_Amount"] Amount,+   line_45600_TrustTaxCredit = Field ["Line45600", "Line_45600_Amount"] Amount,+   line_45700_GST_HST_Rebate = Field ["Line45700", "Line_45700_Amount"] Amount,+   line_46800 = Field ["Line46900", "Line46800", "Line_46800_Amount"] Amount,+   line_46900 = Field ["Line46900", "Line_46900_Amount"] Amount,+   line_47555_TaxPaid = Field ["Line47555", "Line_47600_Amount"] Amount,+   line_47556 = Field ["Line47556", "Line_47556_Amount"] Amount,+   line_47557 = Field ["Line47557", "Line_47557_Amount"] Amount,+   line_47600_TaxPaid = Field ["Line47600", "Line_47600_Amount"] Amount,+   line_47900_ProvTerrCredits = Field ["Line47900", "Line_47900_Amount"] Amount,+   line_48200_sum = subCalculationFields "Line48200" ["Line_48200_Amount1"] ["Line_48200_Amount2"],+   line164_Refund_or_BalanceOwing = Field ["Line167", "Amount"] Amount}++taxPreparerFields = TaxPreparer {+   eFileNumber = Field ["EFileNumber_Comb", "EFile"] Textual,+   nameOfPreparer = Field ["NameOfPreparer"] Textual,+   telephoneOfPreparer = Field ["TelephoneOfPreparer"] Textual,+   line49000_WasAFeeCharged = Field ["Line49000_CheckBoxGroup"] $ Switch' "Line49000_CheckBox_EN"}
+ src/Tax/Canada/T1/FieldNames/PE.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.T1.FieldNames.PE (t1Fields, BC.page2Fields, BC.page8Fields) where++import Rank2 qualified++import Tax.FDF (FieldConst (Field), Entry (..), within)+import Tax.Canada.T1.Types+import Tax.Canada.T1.FieldNames.AB qualified as AB+import Tax.Canada.T1.FieldNames.BC qualified as BC++t1Fields :: T1 FieldConst+t1Fields = AB.t1Fields{+   page2 = within "form1" . within "Page2" . within "Return-pg2" Rank2.<$> BC.page2Fields,+   page3 = BC.t1Fields.page3,+   page8 = BC.t1Fields.page8}
+ src/Tax/Canada/T1/FieldNames/QC.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.T1.FieldNames.QC (t1Fields) where++import Data.Text.Lazy (toStrict)+import Data.Text.Lazy.Builder (toLazyText)+import Data.Text.Lazy.Builder.Int (decimal)+import Rank2 qualified++import Tax.FDF (FieldConst (Field, NoField), Entry (..), within)+import Tax.Canada.Shared (TaxIncomeBracket (..), subCalculationFields)+import Tax.Canada.Shared qualified as TaxIncomeBracket (TaxIncomeBracket (..))+import Tax.Canada.T1.Types+import Tax.Canada.T1.Types qualified as Page8 (Page8(..))+import Tax.Canada.T1.Types qualified as MedicalExpenses (MedicalExpenses(..))+import Tax.Canada.T1.FieldNames.ON qualified as ON+import Tax.Canada.T1.FieldNames.BC qualified as BC++t1Fields :: T1 FieldConst+t1Fields = within "form1" Rank2.<$> T1 {+   page1 = within "Page1" . within "Return-pg1" Rank2.<$> ON.page1Fields,+   page2 = within "Page2" . within "Return-pg2" Rank2.<$> page2Fields,+   page3 = within "Page3" . within "Return-pg3" Rank2.<$> page3Fields,+   page4 = within "Page4" . within "Step3" Rank2.<$> page4Fields,+   page5 = within "Page5" Rank2.<$> page5Fields,+   page6 = within "Page6" . within "PartB" Rank2.<$> page6Fields,+   page7 = within "Page7" Rank2.<$> page7Fields,+   page8 = within "Page8" Rank2.<$> page8Fields}++page2Fields = ON.page2Fields {+   cai = NoField,+   organ_donor = NoField}++page3Fields = ON.page3Fields{+   line_10100_EmploymentIncome = Field ["Line1", "Line_10100_Amount"] Amount}++page4Fields = ON.page4Fields{+   line_20810_PRPP = Field ["Line20810", "Amount"] Amount,+   line_22300_DeductionPPIP = Field ["Line22300", "Line_22300_Amount"] Amount}++page5Fields = Page5 {+   step4_TaxableIncome = within "Step4" Rank2.<$> step4Fields,+   partA_FederalTax = within "Part_A" Rank2.<$> partA1{column4 = column4, column5 = partA2.column5},+   partB_FederalTaxCredits = within "Part_B" Rank2.<$> partBFields}+   where partA1 = ON.partAFieldsWith fieldName1 "Column" 71+         partA2 = ON.partAFieldsWith fieldName2 "Column" 39+         column4 = partA2.column4{+           TaxIncomeBracket.income = partA1.column4.income,+           TaxIncomeBracket.threshold = partA1.column4.threshold}+         fieldName1 line _column True = "Percent_Line" <> toText (decimal line)+         fieldName1 line _column False = "Amount_Line" <> toText (decimal line)+         fieldName2 line column isRate =+            toText $ "Line" <> decimal line <> (if isRate then "Rate" else "Amount") <> decimal column+         toText = toStrict . toLazyText++step4Fields = ON.step4Fields {+   line_23600_NetIncome_2 = Field ["Line58", "Amount"] Amount}++partBFields = ON.partBFields {+   line30499_ChildrenNum = Field ["Line30500", "Line30499", "Line_30499_Number"] Count,+   line30500 = Field ["Line30500", "Line_30499_Amount"] Amount,+   line_81 = Field ["Line84", "Amount"] Amount}++page6Fields = ON.page6Fields {+   line82 = Field ["Line85", "Amount"] Amount,+   line31205 = Field ["Line31205", "Line_31205_Amount"] Amount,+   line31210 = Field ["Line31210", "Line_31210_Amount"] Amount,+   line31215 = Field ["Line31215", "Line_31215_Amount"] Amount,+   line31600 = Field ["Line31600", "Line_31600_mount"] Amount,+   line94_sum = subCalculationFields "Line100" ["Amount1"] ["Amount2"],+   line96 = Field ["Line102", "Amount"] Amount,+   line99 = Field ["Line105", "Amount"] Amount,+   line104 = Field ["Line110", "Amount"] Amount,+   medical_expenses = page6MedicalExpensesFields,+   line33200_sum = subCalculationFields "Line33200" ["Line_33200_Amount1"] ["Line_33200_Line32Amount2"],+   line112 = Field ["Line118", "Percent"] $ Constant 0.15 Percent}++page6MedicalExpensesFields = ON.page6MedicalExpensesFields {+   taxableIncome = Field ["Line112", "Amount1"] Amount,+   taxableIncomeFraction = Field ["Line112", "Amount2"] Amount,+   MedicalExpenses.threshold = Field ["Line113", "Amount"] Amount,+   difference = Field ["Line114", "Amount"] Amount}++page7Fields = Page7 {+   partC_NetFederalTax = within "PartC" Rank2.<$> partCFields,+   step6_RefundOrBalanceOwing = within "Step6" Rank2.<$> page7step6Fields}++partCFields = ON.partCFields {+   line116 = Field ["Line122", "Amount"] Amount,+   line119 = Field ["Line125", "Amount"] Amount,+   line122_sum = subCalculationFields "Line128" ["Amount1"] ["Amount2"],+   line124 = Field ["Line130", "Amount"] Amount,+   line125 = Field ["Line131", "Amount"] Amount,+   line127 = Field ["Line133", "Amount"] Amount,+   line128 = Field ["Line134", "Amount"] Amount,+   line129 = Field ["Line135", "Amount"] Amount,+   line130 = Field ["Line136", "Amount"] Amount}++page7step6Fields = ON.page7step6Fields {+   line140 = Field ["Line146", "Amount"] Amount,+   line_42100_CPPContributions = NoField}++page8Fields = ON.page8Fields {+   Page8.step6_RefundOrBalanceOwing = within "Step6-Continued" Rank2.<$> page8step6Fields,+   line_1_ONOpportunitiesFund = NoField,+   line_46500 = NoField,+   line_46600 = NoField,+   line48400_Refund = Field ["Refund_or_Balancing-owing", "Line48400", "Line_48400_Amount"] Amount,+   line48500_BalanceOwing = Field ["Refund_or_Balancing-owing", "Line48500", "Line_48500_Amount"] Amount}++page8step6Fields = ON.page8step6Fields {+   line_43500_totalpayable = Field ["Line151", "Amount"] Amount,+   line_43800_TaxTransferQC = Field ["Line43800", "Line_43800_Amount"] Amount,+   line_43850_diff = subCalculationFields "Line43900" ["Line_43900_Amount1"] ["Line_43900_Amount2"],+   line_42900_copy = Field ["Line44000", "Line_44000_Amount1"] Amount,+   line_44000 = Field ["Line44000", "Line_44000_Amount2"] Amount,+   line_44800_CPPOverpayment = NoField,+   line_31210_copy = Field ["Line157", "Amount"] Amount,+   line_45100_diff = subCalculationFields "Line45100" ["Line_45100_Amount1"] ["Line_45100_Amount2"],+   line_45350_CTC = Field ["Line45350", "Line_45300_Amount"] Amount,+   line_47555_TaxPaid = Field ["Line47555", "Line_47555_Amount"] Amount,+   line_47900_ProvTerrCredits = NoField,+   line164_Refund_or_BalanceOwing = Field ["Line172", "Refund_or_BalanceOwing_Amount"] Amount}
+ src/Tax/Canada/T1/FieldNames/YT.hs view
@@ -0,0 +1,45 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}++module Tax.Canada.T1.FieldNames.YT (t1Fields) where++import Rank2 qualified++import Tax.FDF (FieldConst (Field, NoField), Entry (..), within)+import Tax.Canada.Shared (subCalculationFields)+import Tax.Canada.T1.Types+import Tax.Canada.T1.Types qualified as Page8 (Page8(..))+import Tax.Canada.T1.FieldNames.BC qualified as BC+import Tax.Canada.T1.FieldNames.NT qualified as NT+import Tax.Canada.T1.FieldNames.ON qualified as ON++t1Fields :: T1 FieldConst+t1Fields = NT.t1Fields{+   page2 = within "form1" . within "Page2" . within "Step1-Continued" Rank2.<$> BC.page2Fields,+   page7 = within "form1" . within "Page7" Rank2.<$> page7Fields,+   page8 = within "form1" . within "Page8" Rank2.<$> page8Fields}++page7Fields = Page7 {+   partC_NetFederalTax = within "PartC" Rank2.<$> partCFields,+   step6_RefundOrBalanceOwing = within "Step6" Rank2.<$> page7step6Fields}++partCFields = ON.partCFields {+   line40900 = Field ["Line4100", "Line40900", "Line_40900_Amount"] Amount,+   line41000 = Field ["Line4100", "Line_41000_Amount"] Amount}++page7step6Fields = ON.page7step6Fields {+   line140 = Field ["Line142", "Amount"] Amount,+   line_43200_FirstNationsTax = Field ["Line43200", "Line_43200_Amount"] Amount}++page8Fields = BC.page8Fields {+   Page8.step6_RefundOrBalanceOwing = within "Step6-Cont" Rank2.<$> page8step6Fields,+   taxPreparer = within "Line_49000_IfFeeWasCharged" Rank2.<$> BC.taxPreparerFields}++page8step6Fields = ON.page8step6Fields {+   line_43500_totalpayable = Field ["Line149", "Amount"] Amount,+   line_44100 = Field ["Line44100", "Line_44000_Amount"] Amount,+   line_46800 = Field ["Line46900", "sfline46800end", "Line_46800_Amount"] Amount,+   line_47555_TaxPaid = Field ["Line47555", "Line_47555_Amount"] Amount,+   line164_Refund_or_BalanceOwing = Field ["Line169", "Amount"] Amount}
src/Tax/Canada/T1/Fix.hs view
@@ -2,23 +2,26 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE NumericUnderscores #-} {-# LANGUAGE OverloadedRecordDot #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} -module Tax.Canada.T1.Fix (fixT1) where+module Tax.Canada.T1.Fix (T1, fixT1) where  import Control.Applicative ((<|>)) import Data.Fixed (Centi) import Data.Maybe (fromMaybe) import Data.Text (Text) import Data.Time.Calendar (Year, dayPeriod)+import GHC.Stack (HasCallStack) import Rank2 qualified  import Tax.Canada.T1.Types-import Tax.Util (difference, fixEq, leastOf, nonNegativeDifference, totalOf)+import Tax.Canada.Shared (fixSubCalculation, fixTaxIncomeBracket, SubCalculation(result), TaxIncomeBracket (equalsTax))+import Tax.Util (difference, fixEq, fractionOf, nonNegativeDifference, totalOf) -fixT1 :: T1 Maybe -> T1 Maybe+fixT1 :: HasCallStack => T1 Maybe -> T1 Maybe fixT1 = fixEq $ \t1@T1{..}-> T1{page1 = fixPage1 page1,                                 page2 = fixPage2 page2,                                 page3 = fixPage3 page3,@@ -35,7 +38,7 @@ fixPage2 = id  fixPage3 :: Page3 Maybe -> Page3 Maybe-fixPage3 = fixEq $ \page@Page3{..}-> page{+fixPage3 = fixEq $ \page@Page3{selfEmployment=SelfEmploymentIncome{..}, ..}-> page{    line_19 = totalOf [line_10100_EmploymentIncome ,                       line_10400_OtherEmploymentIncome,                       line_11300_OldAgeSecurityPension,@@ -52,15 +55,17 @@                       line_12700_TaxableCapitalGains,                       line_12800_Amount,                       line_12900_RRSPIncome,+                      line_12905_FHSAIncome,+                      line_12906_OtherFHSAIncome,                       line_13000_OtherIncome,-                      line_13010_Taxablescholarship],-   line_25_sum = totalOf [line_13500_Amount,+                      line_13010_TaxableScholarship],+   line_25_sum = fixSubCalculation $+                 totalOf [line_13500_Amount,                           line_13700_Amount,                           line_13900_Amount,                           line_14100_Amount,                           line_14300_Amount],-   line_25_cont = line_25_sum,-   line_26 = totalOf [line_19, line_25_cont],+   line_26 = totalOf [line_19, line_25_sum.result],    line_14700_EqualsAmount = totalOf [line_14400_WorkersCompBen,                                       line_14500_SocialAssistPay,                                       line_14600_NetFedSupplements],@@ -70,8 +75,10 @@ fixPage4 :: T1 Maybe -> Page4 Maybe -> Page4 Maybe fixPage4 t1 = fixEq $ \page@Page4{..}-> page{    line_15000_TotalIncome_2 = t1.page3.line_15000_TotalIncome,-   line_23300_sum = totalOf [line_20700_RPPDeduction,+   line_23300_sum = fixSubCalculation $+                    totalOf [line_20700_RPPDeduction,                              line_20800_RRSPDeduction,+                             line_20805_FHSADeduction,                              line_21000_SplitPensionDeduction,                              line_21200_Dues,                              line_21300_UCCBRepayment,@@ -83,16 +90,15 @@                              line_22100_CarryingChargesInterest,                              line_22200_CPP_QPP_Contributions,                              line_22215_DeductionCPP_QPP,+                             line_22300_DeductionPPIP,                              line_22400_XplorationDevExpenses,                              line_22900_OtherEmployExpenses,                              line_23100_ClergyResDeduction,-                             line_23200_OtherDeductions,-                             line_23210],-   line_23300_cont = line_23300_sum,-   line_23400_NetBeforeAdjust = nonNegativeDifference line_15000_TotalIncome_2 line_23300_cont,+                             line_23200_OtherDeductions],+   line_23400_NetBeforeAdjust = nonNegativeDifference line_15000_TotalIncome_2 line_23300_sum.result,    line_23600_NetIncome = nonNegativeDifference line_23400_NetBeforeAdjust line_23500_SocialBenefits} -fixPage5 :: T1 Maybe -> Page5 Maybe -> Page5 Maybe+fixPage5 :: HasCallStack => T1 Maybe -> Page5 Maybe -> Page5 Maybe fixPage5 t1 = fixEq $ \Page5{..}-> Page5{    step4_TaxableIncome = fixStep4 t1 step4_TaxableIncome,    partA_FederalTax = fixPage5PartA t1 partA_FederalTax,@@ -101,11 +107,15 @@ fixPage6 :: T1 Maybe -> Page6 Maybe -> Page6 Maybe fixPage6 t1 = fixEq $ \page@Page6{..}-> page{    line82 = t1.page5.partB_FederalTaxCredits.line_81,-   line31260 = leastOf [Just 1287,+   line31260 = minimum [Just 1368,                         totalOf [t1.page3.line_10100_EmploymentIncome, t1.page3.line_10400_OtherEmploymentIncome]],-   line94_sum = totalOf [line30800,+   line94_sum = fixSubCalculation $+                totalOf [line30800,                          line31000,                          line31200,+                         line31205,+                         line31210,+                         line31215,                          line31217,                          line31220,                          line31240,@@ -114,15 +124,13 @@                          line31285,                          line31300,                          line31350],-   line94_cont = line94_sum,-   line96 = totalOf [line82, line94_cont, line31400],+   line96 = totalOf [line82, line94_sum.result, line31400],    line99 = totalOf [line96, line31600, line31800],    line104 = totalOf [line99, line31900, line32300, line32400, line32600],    medical_expenses = fixMedicalExpenses t1 medical_expenses,-   line33200_sum = totalOf [medical_expenses.difference, medical_expenses.otherDependants],-   line33200_cont = line33200_sum,-   line33500 = totalOf [line104, line33200_cont],-   line33800 = (* 0.15) <$> line33500,+   line33200_sum = fixSubCalculation $ totalOf [medical_expenses.difference, medical_expenses.otherDependants],+   line33500 = totalOf [line104, line33200_sum.result],+   line33800 = line112 `fractionOf` line33500,    line35000 = totalOf [line33800, line34900]}  fixPage7 :: T1 Maybe -> Page7 Maybe -> Page7 Maybe@@ -143,7 +151,8 @@ fixStep4 :: T1 Maybe -> Step4 Maybe -> Step4 Maybe fixStep4 t1 = fixEq $ \step@Step4{..}-> step{    line_23600_NetIncome_2 = t1.page4.line_23600_NetIncome,-   line_25700_AddLines_sum = totalOf [line_24400_MilitaryPoliceDeduction,+   line_25700_AddLines_sum = fixSubCalculation $+                             totalOf [line_24400_MilitaryPoliceDeduction,                                       line_24900_SecurityDeductions,                                       line_25000_OtherPayDeductions,                                       line_25100_PartnershipLosses,@@ -152,35 +161,34 @@                                       line_25400_CapitalGainsDeduction,                                       line_25500_NorthernDeductions,                                       line_25600_AdditionalDeductions_Amount],-   line_25700_AddLines_cont = line_25700_AddLines_sum,-   line_26000_TaxableIncome = nonNegativeDifference line_23600_NetIncome_2 line_25700_AddLines_cont}+   line_26000_TaxableIncome = nonNegativeDifference line_23600_NetIncome_2 line_25700_AddLines_sum.result} -fixPage5PartA :: T1 Maybe -> Page5PartA Maybe -> Page5PartA Maybe+fixPage5PartA :: HasCallStack => T1 Maybe -> Page5PartA Maybe -> Page5PartA Maybe fixPage5PartA t1 = fixEq $ \part@Page5PartA{..}-> part{-   column1 = taxIncomeBracket 0 50197 0.15 0,-   column2 = taxIncomeBracket 50197 100392 0.205 7529.55,-   column3 = taxIncomeBracket 100392 155625 0.26 17819.53,-   column4 = taxIncomeBracket 155625 221708 0.29 32180.11,-   column5 = taxIncomeBracket 221708 (10^12) 0.33 51344.18} -- a trillion ought to be enough for anybody-   where taxIncomeBracket threshold ceiling rate baseTax-            | income > threshold && income <= ceiling = TaxIncomeBracket{-                 line67_income = Just income,-                 line69_overThreshold = Just (income - threshold),-                 line71_timesRate = Just ((income - threshold) * rate),-                 line73_equalsTax = Just ((income - threshold) * rate + baseTax)}-            | otherwise = Rank2.pure Nothing-         income = fromMaybe 0 t1.page5.step4_TaxableIncome.line_26000_TaxableIncome+   column1 = fixTaxIncomeBracket income (Just part.column2) part.column1,+   column2 = fixTaxIncomeBracket income (Just part.column3) part.column2,+   column3 = fixTaxIncomeBracket income (Just part.column4) part.column3,+   column4 = fixTaxIncomeBracket income (Just part.column5) part.column4,+   column5 = fixTaxIncomeBracket income Nothing             part.column5}+   where income = t1.page5.step4_TaxableIncome.line_26000_TaxableIncome  fixPage5PartB :: T1 Maybe -> Page5PartB Maybe -> Page5PartB Maybe fixPage5PartB t1 = fixEq $ \part@Page5PartB{..}-> part{    line30000 = let income = fromMaybe 0 t1.page4.line_23600_NetIncome-               in if income <= 155625 then Just 14398-                  else if income >= 221708 then Just 12719-                       else Just $ 14398 - (14398 - 12719) * (income - 155625) / (221708 - 155625),-   line30100 = if any ((<= (1957 :: Year)) . dayPeriod) t1.page1.identification.dateBirth-               then Just 12719+                   threshold = 165_430+                   ceiling = 235_675+               in if income <= threshold then Just 15_000+                  else if income >= ceiling then Just 13_520+                       else Just $ 15_000 - (15_000 - 13_250) * (income - threshold) / (ceiling - threshold),+   line30100 = if any ((<= (1958 :: Year)) . dayPeriod) t1.page1.identification.dateBirth+               then let income = fromMaybe 0 t1.page4.line_23600_NetIncome+                        threshold = 42_335+                        ceiling = 98_309+                    in if income <= threshold then Just 8396+                       else if income >= ceiling then Just 0+                            else Just (8396 - (income - threshold) * 0.15)                else Nothing,-   line30500 =  ((* 2350) . fromIntegral) <$> line30499_ChildrenNum,+   line30500 =  ((* 2499) . fromIntegral) <$> line30499_ChildrenNum,    line_81 = totalOf [line30000,                       line30100,                       line30300,@@ -194,37 +202,36 @@                                                           taxableIncomeFraction, threshold}-> expenses{    taxableIncome = t1.page4.line_23600_NetIncome,    taxableIncomeFraction = (* 0.03) <$> taxableIncome,-   threshold = min 2479 <$> taxableIncomeFraction,+   threshold = min 2635 <$> taxableIncomeFraction,    difference = nonNegativeDifference familyExpenses threshold}  fixPage7PartC :: T1 Maybe -> Page7PartC Maybe -> Page7PartC Maybe fixPage7PartC t1 = fixEq $ \part@Page7PartC{..}-> part{    line116 = let partA = t1.page5.partA_FederalTax-             in partA.column1.line73_equalsTax-                <|> partA.column2.line73_equalsTax-                <|> partA.column3.line73_equalsTax-                <|> partA.column4.line73_equalsTax-                <|> partA.column5.line73_equalsTax,+             in partA.column1.equalsTax+                <|> partA.column2.equalsTax+                <|> partA.column3.equalsTax+                <|> partA.column4.equalsTax+                <|> partA.column5.equalsTax,    line40400 = totalOf [line116, line40424],    line119 = t1.page6.line35000,    line40425,    line40427,-   line122_sum = totalOf [line119, line40425, line40427],-   line122_cont = line122_sum,-   line123 = nonNegativeDifference line40400 line122_cont,-   line125 = totalOf [line123, line124],+   line122_sum = fixSubCalculation $ totalOf [line119, line40425, line40427],+   line42900 = nonNegativeDifference line40400 line122_sum.result,+   line125 = totalOf [line42900, line124],    line127 = difference line125 line40500,    line129 = totalOf [line127, line128],-   line131 = nonNegativeDifference line129 line130,+   line40600 = nonNegativeDifference line129 line130,    line41000 = case line40900                of Just x-                    | x <= 400 -> Just (x * 0.75)-                    | x <= 750 -> Just ((x - 400) * 0.5 + 300)-                    | otherwise-> Just ((x - 750) * 0.3333 + 475)+                    | x <=  400 -> Just (x * 0.75)+                    | x <=  750 -> Just ((x - 400) * 0.5 + 300)+                    | x <= 1275 -> Just ((x - 750) * 0.3333 + 475)+                    | otherwise -> Just 650                   Nothing -> Nothing,-   line41600_sum = totalOf [line41000, line41200, line41400],-   line41600_cont = line41600_sum,-   line41700 = nonNegativeDifference line131 line41600_cont,+   line41600_sum = fixSubCalculation $ totalOf [line41000, line41200, line41400],+   line41700 = nonNegativeDifference line40600 line41600_sum.result,    line42000 = totalOf [line41700, line41500, line41800]}  fixPage7Step6 :: T1 Maybe -> Page7Step6 Maybe -> Page7Step6 Maybe@@ -237,13 +244,19 @@ fixPage8Step6 t1 = fixEq $ \step@Page8Step6{..}-> step{    line_43500_totalpayable = t1.page7.step6_RefundOrBalanceOwing.line_43500_TotalPayable,    line_46900 = (* 0.25) <$> line_46800,-   line_48200_sum = totalOf [line_43700_Total_income_tax_ded,+   line_43850_diff = fixSubCalculation $ difference line_43700_Total_income_tax_ded line_43800_TaxTransferQC,+   line_31210_copy = t1.page6.line31210,+   line_45100_diff = fixSubCalculation $ difference line_45000_EIOverpayment line_31210_copy,+   line_48200_sum = fixSubCalculation $+                    totalOf [line_43850_diff.result,                              line_44000,+                             line_45100_diff.result,                              line_44800_CPPOverpayment,                              line_45000_EIOverpayment,                              line_45200_MedicalExpense,                              line_45300_CWB,                              line_45350_CTC,+                             line_45355_MHRTC,                              line_45400_InvestmentTaxCredit,                              line_45600_TrustTaxCredit,                              line_45700_GST_HST_Rebate,@@ -253,5 +266,4 @@                              line_47557,                              line_47600_TaxPaid,                              line_47900_ProvTerrCredits],-   line_48200_cont = line_48200_sum,-   line164_Refund_or_BalanceOwing = difference line_43500_totalpayable line_48200_sum}+   line164_Refund_or_BalanceOwing = difference line_43500_totalpayable line_48200_sum.result}
src/Tax/Canada/T1/Types.hs view
@@ -1,13 +1,19 @@ {-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MonoLocalBinds #-}+{-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE NoFieldSelectors #-} {-# LANGUAGE OverloadedRecordDot #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} +-- | The T1 form type, shared by all provinces and territories module Tax.Canada.T1.Types where  import Data.Fixed (Centi)@@ -17,7 +23,11 @@ import Data.CAProvinceCodes qualified as Province import Language.Haskell.TH qualified as TH import Rank2.TH qualified+import Transformation.Shallow.TH qualified +import Tax.Canada.Shared (SubCalculation)+import Tax.Canada.Shared (TaxIncomeBracket)+ data T1 line = T1 {    page1 :: Page1 line,    page2 :: Page2 line,@@ -107,10 +117,23 @@    line_12799_Amount :: line Centi,    line_12800_Amount :: line Centi,    line_12900_RRSPIncome :: line Centi,+   line_12905_FHSAIncome :: line Centi,+   line_12906_OtherFHSAIncome :: line Centi,    line_13000_OtherIncome :: line Centi,    line_13000_OtherIncomeSource :: line Text,-   line_13010_Taxablescholarship :: line Centi,+   line_13010_TaxableScholarship :: line Centi,    line_19 :: line Centi,+   selfEmployment :: SelfEmploymentIncome line,+   line_25_sum :: SubCalculation line,+   line_26 :: line Centi,+   line_14400_WorkersCompBen :: line Centi,+   line_14500_SocialAssistPay :: line Centi,+   line_14600_NetFedSupplements :: line Centi,+   line_14700_EqualsAmount :: line Centi,+   line_14700_PlusAmount :: line Centi,+   line_15000_TotalIncome :: line Centi}++data SelfEmploymentIncome line = SelfEmploymentIncome {    line_13499_Amount :: line Centi,    line_13500_Amount :: line Centi,    line_13699_Amount :: line Centi,@@ -120,22 +143,14 @@    line_14099_Amount :: line Centi,    line_14100_Amount :: line Centi,    line_14299_Amount :: line Centi,-   line_14300_Amount :: line Centi,-   line_25_sum :: line Centi,-   line_25_cont :: line Centi,-   line_26 :: line Centi,-   line_14400_WorkersCompBen :: line Centi,-   line_14500_SocialAssistPay :: line Centi,-   line_14600_NetFedSupplements :: line Centi,-   line_14700_EqualsAmount :: line Centi,-   line_14700_PlusAmount :: line Centi,-   line_15000_TotalIncome :: line Centi}+   line_14300_Amount :: line Centi}  data Page4 line = Page4 {    line_15000_TotalIncome_2 :: line Centi,    line_20600_PensionAdjustment :: line Centi,    line_20700_RPPDeduction :: line Centi,    line_20800_RRSPDeduction :: line Centi,+   line_20805_FHSADeduction :: line Centi,    line_20810_PRPP :: line Centi,    line_21000_SplitPensionDeduction :: line Centi,    line_21200_Dues :: line Centi,@@ -150,14 +165,13 @@    line_22100_CarryingChargesInterest :: line Centi,    line_22200_CPP_QPP_Contributions :: line Centi,    line_22215_DeductionCPP_QPP :: line Centi,+   line_22300_DeductionPPIP :: line Centi,    line_22400_XplorationDevExpenses :: line Centi,    line_22900_OtherEmployExpenses :: line Centi,    line_23100_ClergyResDeduction :: line Centi,    line_23200_OtherDeductions :: line Centi,    line_23200_Specify :: line Text,-   line_23210 :: line Centi,-   line_23300_cont :: line Centi,-   line_23300_sum :: line Centi,+   line_23300_sum :: SubCalculation line,    line_23400_NetBeforeAdjust :: line Centi,    line_23500_SocialBenefits :: line Centi,    line_23600_NetIncome :: line Centi}@@ -179,8 +193,7 @@    line_25500_NorthernDeductions :: line Centi,    line_25600_AdditionalDeductions_Amount :: line Centi,    line_25600_AdditionalDeductions_Specify :: line Text,-   line_25700_AddLines_cont :: line Centi,-   line_25700_AddLines_sum :: line Centi,+   line_25700_AddLines_sum :: SubCalculation line,    line_26000_TaxableIncome :: line Centi}  data Page5PartA line = Page5PartA {@@ -201,13 +214,6 @@    line30500 :: line Centi,    line_81 :: line Centi} -data TaxIncomeBracket line = TaxIncomeBracket {-   line67_income :: line Centi,-   line69_overThreshold :: line Centi,-   line71_timesRate :: line Centi,-   line73_equalsTax :: line Centi-   }- data Page6 line = Page6 {    line82 :: line Centi,    -- CPP_QPP@@ -215,6 +221,9 @@    line31000 :: line Centi,    -- EI    line31200 :: line Centi,+   line31205 :: line Centi,+   line31210 :: line Centi,+   line31215 :: line Centi,    line31217 :: line Centi,    line31220 :: line Centi,    line31240 :: line Centi,@@ -223,8 +232,7 @@    line31285 :: line Centi,    line31300 :: line Centi,    line31350 :: line Centi,-   line94_sum :: line Centi,-   line94_cont :: line Centi,+   line94_sum :: SubCalculation line,    line31400 :: line Centi,    line96 :: line Centi,    line31600 :: line Centi,@@ -236,9 +244,9 @@    line32600 :: line Centi,    line104 :: line Centi,    medical_expenses :: MedicalExpenses line,-   line33200_sum :: line Centi,-   line33200_cont :: line Centi,+   line33200_sum :: SubCalculation line,    line33500 :: line Centi,+   line112 :: line Rational,    line33800 :: line Centi,    line34900 :: line Centi,    line35000 :: line Centi}@@ -262,9 +270,8 @@    line119 :: line Centi,    line40425 :: line Centi,    line40427 :: line Centi,-   line122_sum :: line Centi,-   line122_cont :: line Centi,-   line123 :: line Centi,+   line122_sum :: SubCalculation line,+   line42900 :: line Centi,    line124 :: line Centi,    line125 :: line Centi,    line40500 :: line Centi,@@ -272,14 +279,13 @@    line128 :: line Centi,    line129 :: line Centi,    line130 :: line Centi,-   line131 :: line Centi,+   line40600 :: line Centi,    line40900 :: line Centi,    line41000 :: line Centi,    line41200 :: line Centi,    line41300 :: line Centi,    line41400 :: line Centi,-   line41600_sum :: line Centi,-   line41600_cont :: line Centi,+   line41600_sum :: SubCalculation line,    line41700 :: line Centi,    line41500 :: line Centi,    line41800 :: line Centi,@@ -291,6 +297,7 @@    line_42120_EIPremiums :: line Centi,    line_42200_SocialBenefits :: line Centi,    line_42800_ProvTerrTax :: line Centi,+   line_43200_FirstNationsTax :: line Centi,    line_43500_TotalPayable :: line Centi}  data Page8 line = Page8 {@@ -307,12 +314,19 @@ data Page8Step6 line = Page8Step6 {    line_43500_totalpayable :: line Centi,    line_43700_Total_income_tax_ded :: line Centi,+   line_43800_TaxTransferQC :: line Centi,+   line_43850_diff :: SubCalculation line,+   line_42900_copy :: line Centi,    line_44000 :: line Centi,+   line_44100 :: line Centi,    line_44800_CPPOverpayment :: line Centi,    line_45000_EIOverpayment :: line Centi,+   line_31210_copy :: line Centi,+   line_45100_diff :: SubCalculation line,    line_45200_MedicalExpense :: line Centi,    line_45300_CWB :: line Centi,    line_45350_CTC :: line Centi,+   line_45355_MHRTC :: line Centi,    line_45400_InvestmentTaxCredit :: line Centi,    line_45600_TrustTaxCredit :: line Centi,    line_45700_GST_HST_Rebate :: line Centi,@@ -323,8 +337,7 @@    line_47557 :: line Centi,    line_47600_TaxPaid :: line Centi,    line_47900_ProvTerrCredits :: line Centi,-   line_48200_sum :: line Centi,-   line_48200_cont :: line Centi,+   line_48200_sum :: SubCalculation line,    line164_Refund_or_BalanceOwing :: line Centi}  data TaxPreparer line = TaxPreparer {@@ -334,23 +347,20 @@    line49000_WasAFeeCharged :: line Bool}  $(foldMap-   (\t-> [d|+   (\t-> concat <$> sequenceA [+       [d|            deriving instance (Show (line Bool), Show (line Centi), Show (line Word), Show (line Text),-                              Show (line Province.Code), Show (line Day),+                              Show (line Rational), Show (line Province.Code), Show (line Day),                               Show (line LanguageOfCorrespondence), Show (line MaritalStatus))                           => Show ($(TH.conT t) line)            deriving instance (Eq (line Bool), Eq (line Centi), Eq (line Word), Eq (line Text),-                              Eq (line Province.Code), Eq (line Day),+                              Eq (line Rational), Eq (line Province.Code), Eq (line Day),                               Eq (line LanguageOfCorrespondence), Eq (line MaritalStatus))                           => Eq ($(TH.conT t) line)-    |])-   [''T1, ''ElectionsCanada, ''Identification, ''MedicalExpenses,-    ''Page1, ''Page2, ''Page3, ''Page4, ''Page5, ''Page6, ''Page7, ''Page8,-    ''Step4, ''Page5PartA, ''Page5PartB, ''Page7PartC, ''Page7Step6, ''Page8Step6,-    ''Residence, ''Spouse, ''TaxIncomeBracket, ''TaxPreparer])--$(foldMap Rank2.TH.deriveAll+       |],+       Rank2.TH.deriveAll t,+       Transformation.Shallow.TH.deriveAll t])    [''T1, ''ElectionsCanada, ''Identification, ''MedicalExpenses,     ''Page1, ''Page2, ''Page3, ''Page4, ''Page5, ''Page6, ''Page7, ''Page8,     ''Step4, ''Page5PartA, ''Page5PartB, ''Page7PartC, ''Page7Step6, ''Page8Step6,-    ''Residence, ''Spouse, ''TaxIncomeBracket, ''TaxPreparer])+    ''Residence, ''Spouse, ''SelfEmploymentIncome, ''TaxPreparer])
+ src/Tax/Canada/Territory/NT.hs view
@@ -0,0 +1,3 @@+module Tax.Canada.Territory.NT (t1Fields) where++import Tax.Canada.T1.FieldNames.NT (t1Fields)
+ src/Tax/Canada/Territory/NU.hs view
@@ -0,0 +1,3 @@+module Tax.Canada.Territory.NU (t1Fields) where++import Tax.Canada.T1.FieldNames.NU (t1Fields)
+ src/Tax/Canada/Territory/YT.hs view
@@ -0,0 +1,3 @@+module Tax.Canada.Territory.YT (t1Fields) where++import Tax.Canada.T1.FieldNames.YT (t1Fields)
src/Tax/FDF.hs view
@@ -3,28 +3,42 @@ {-# LANGUAGE GADTs #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-} -module Tax.FDF where+-- | Utility functions for dealing with 'FDF' forms -import Data.Char (isDigit)+module Tax.FDF (FDFs, FieldConst(..), Entry(..),+                mapForm, mapForm2, mapForms, load, loadAll, store, storeAll, update, updateAll, formKeys, within) where++import Control.Monad (join)+import Data.Biapplicative (biliftA2, biliftA3)+import Data.Bitraversable (bisequence, bitraverse) import Data.CAProvinceCodes qualified as Province+import Data.Char (isDigit, isSpace) import Data.Fixed (Centi) import Data.Foldable (find) import Data.Functor.Const (Const (Const, getConst))+import Data.List (elemIndex) import Data.Map.Lazy (Map) import Data.Map.Lazy qualified as Map+import Data.Semigroup (Endo (Endo, appEndo)) import Data.Semigroup.Cancellative (stripSuffix) import Data.Text (Text) import Data.Text qualified as Text import Data.Time (Day, defaultTimeLocale, formatTime, parseTimeM)+import Data.Void (Void) import Rank2 qualified-import Text.FDF (FDF, foldMapWithKey, mapWithKey, parse, serialize)+import Text.FDF (FDF (FDF, body), Field, foldMapWithKey, mapWithKey, parse, serialize, traverseWithKey) import Text.Read (readEither) +-- | A form field path serves to uniquely identify and locate the field inside a form data FieldConst a = Field {path :: [Text], entry :: Entry a}+                  | NoField +-- | The type of a single form field value data Entry a where+  Constant :: (Eq a, Show a) => a -> Entry a -> Entry a   Count :: Entry Word   Date :: Entry Day   Province :: Entry Province.Code@@ -32,98 +46,210 @@   Amount :: Entry Centi   Percent :: Entry Rational   Checkbox :: Entry Bool-  RadioButton :: (Bounded a, Enum a, Eq a, Show a) => [a] -> Entry a-  RadioButtons :: (Bounded a, Enum a, Eq a, Show a) => Text -> [a] -> Entry a+  RadioButton :: (Eq a, Show a) => [a] -> Entry a+  RadioButtons :: (Bounded a, Enum a, Eq a, Show a) => Int -> Int -> Text -> [a] -> Entry a   Switch :: Text -> Text -> Text -> Entry Bool   Switch' :: Text -> Entry Bool  deriving instance Show a => Show (Entry a) +-- | A collection of 'FDF' forms keyed by a 'Text' identifier+type FDFs = Map Text FDF++-- | Add a head component to a field path within :: Text -> FieldConst x -> FieldConst x within root field@Field{path} = field{path = root:path}+within _ NoField = NoField +-- | The list of all field paths inside a form+formKeys :: Rank2.Foldable form => form FieldConst -> [[Text]]+formKeys = flip appEndo [] . Rank2.foldMap addEntry+  where addEntry :: FieldConst a -> Endo [[Text]]+        addEntry NoField = mempty+        addEntry Field{path, entry = Switch yes no leaf} = Endo ([path ++ [yes, leaf], path ++ [no, leaf]] ++)+        addEntry Field{path, entry = Switch' leaf} = Endo ([path ++ [leaf], path ++ [leaf <> "[1]"]] ++)+        addEntry Field{path} = Endo (path :)++-- | Given a form's field paths and a function that modifies a form with optional field values, try to update an+-- 'FDF' with the form. Fail if any of the field paths can't be found in the form.+mapForm :: (Rank2.Apply form, Rank2.Traversable form)+        => form FieldConst -> (form Maybe -> form Maybe) -> FDF -> Either String FDF+mapForm fields f fdf = load fields fdf >>= store fields fdf . f++-- | Given the field paths of multiple forms with path heads distinguishing among the forms, and a function that+-- modifies a collection of forms with optional field values, try to update 'FDFs' of the forms. Fail if any of the+-- field paths can't be found in the forms.+mapForms :: (Rank2.Apply form, Rank2.Traversable form)+         => form FieldConst -> (form Maybe -> form Maybe) -> FDFs -> Either String FDFs+mapForms fields f fdfs = loadAll fields fdfs >>= storeAll fields fdfs . f++-- | Given two forms' field paths and a function that modifies both forms with optional field values, try to update+-- two 'FDF's with the forms. Fail if any of the field paths can't be found in the forms.+mapForm2 :: (Rank2.Apply form1, Rank2.Apply form2, Rank2.Traversable form1, Rank2.Traversable form2)+         => (form1 FieldConst, form2 FieldConst)+         -> ((form1 Maybe, form2 Maybe) -> (form1 Maybe, form2 Maybe))+         -> (FDF, FDF)+         -> Either String (FDF, FDF)+mapForm2 fields f fdfs = bisequence (biliftA2 load load fields fdfs) >>= bisequence . biliftA3 store store fields fdfs . f++-- | Try to load all 'FDFs' into a form with optional values using the given field paths.+loadAll :: forall form. (Rank2.Apply form, Rank2.Traversable form) => form FieldConst -> FDFs -> Either String (form Maybe)+loadAll fields fdfs = fromPresentFieldMap $ Map.foldMapWithKey (\k-> foldMapWithKey (Map.singleton . (k <> "[0]" :))) fdfs+  where fromPresentFieldMap :: Map [Text] Text -> Either String (form Maybe)+        fillPresent :: Map [Text] Text -> FieldConst a -> Either String (Maybe a)+        fromPresentFieldMap m = Rank2.traverse (fillPresent m) fields+        fillPresent m f@Field {path = root : _}+          | Map.member root fdfs = fill m f+        fillPresent _ _ = Right Nothing++-- | Try to load an 'FDF' into a form with optional values using the given field paths. load :: (Rank2.Apply form, Rank2.Traversable form) => form FieldConst -> FDF -> Either String (form Maybe) load fields = fromFieldMap fields . foldMapWithKey Map.singleton -update :: (Rank2.Apply form, Rank2.Foldable form) => form FieldConst -> form Maybe -> FDF -> FDF-update fields = mapWithKey . updateKey . Rank2.foldMap (uncurry Map.singleton . getConst) . Rank2.liftA2 pairKey fields-  where pairKey :: FieldConst a -> Maybe a -> Const ([Text], Text) a-        pairKey Field {path, entry} v = Const ((<> "[0]") <$> path, foldMap (fromEntry entry) v)-        updateKey :: Map [Text] Text -> [Text] -> Text -> Text-        updateKey m k v = Map.findWithDefault v k m-        fromEntry :: Entry a -> a -> Text-        fromEntry Textual v = v-        fromEntry Date v = Text.pack $ formatTime defaultTimeLocale "%Y%m%d" v-        fromEntry Checkbox True = "Yes"-        fromEntry Checkbox False = "No"-        fromEntry (RadioButton values) v = Text.pack $ show $ fromEnum v + 1-        fromEntry Amount v = Text.pack (show v)-        fromEntry Percent v = Text.pack (show (fromRational $ v * 100 :: Centi)) <> "%"-        fromEntry Count v = Text.pack (show v)-        fromEntry Province v = Text.pack (show v)+-- | Try to store a form with optional values into the given map of 'FDFs' according to given field paths. The heads+-- of the paths correspond to the map keys. Fail if any of the 'FDF's doesn't contain a field path, but ignore the+-- path heads not present among the keys of 'FDFs'.+storeAll :: (Rank2.Apply form, Rank2.Foldable form) => form FieldConst -> FDFs -> form Maybe -> Either String FDFs+storeAll fields = flip (updateAll fields) +-- | Try to store a form with optional values into the given 'FDF' according to given field paths. Fail if the 'FDF'+-- doesn't contain a field path.+store :: (Rank2.Apply form, Rank2.Foldable form) => form FieldConst -> FDF -> form Maybe -> Either String FDF+store fields = flip (update fields)++-- | Try to update the given map of 'FDFs' from the form with optional values according to given field paths. The+-- heads of the paths correspond to the map keys. Fail if any of the 'FDF's doesn't contain a field path, but ignore+-- the path heads not present among the keys of 'FDFs'.+updateAll :: (Rank2.Apply form, Rank2.Foldable form) => form FieldConst -> form Maybe -> FDFs -> Either String FDFs+updateAll formFields formValues = case toFieldMap formFields formValues of+  Left err -> const (Left err)+  Right m -> Right . Map.mapWithKey (\k-> mapWithKey (updateKeyFrom m . (k <> "[0]" :)))++-- | Try to update the given 'FDF' from the form with optional values according to given form field paths. Fail if+-- the 'FDF' doesn't contain a field path.+update :: (Rank2.Apply form, Rank2.Foldable form) => form FieldConst -> form Maybe -> FDF -> Either String FDF+update formFields formValues = case toFieldMap formFields formValues of+  Left err -> const (Left err)+  Right m -> Right . mapWithKey (updateKeyFrom m)++updateKeyFrom :: Map [Text] Text -> [Text] -> Text -> Text+updateKeyFrom m k v = Map.findWithDefault v k m++toFieldMap :: (Rank2.Apply form, Rank2.Foldable form) => form FieldConst -> form Maybe -> Either String (Map [Text] Text)+toFieldMap fields = sequenceA+                    . Rank2.foldMap (foldMap (uncurry Map.singleton) . getConst)+                    . textualFields fields++textualFields :: (Rank2.Apply form, Rank2.Foldable form)+              => form FieldConst -> form Maybe -> form (Const (Maybe ([Text], Either String Text)))+textualFields = Rank2.liftA2 pairKey+  where pairKey :: FieldConst a -> Maybe a -> Const (Maybe ([Text], Either String Text)) a+        pairKey Field {path, entry = RadioButtons start step leaf values} (Just v)+          | Just i <- elemIndex v values+          = Const $ Just (map addIndex path ++ [leaf <> "[" <> Text.pack (show $ start + i*step) <> "]"],+                          Right $ Text.pack $ show $ succ i)+          | otherwise = Const $ Just (path, Left ("Missing enum value " <> show v))+        pairKey Field {path, entry = Switch yes no leaf} (Just v) =+          Const $ Just (addIndex <$> (path ++ [if v then yes else no, leaf]), Right $ if v then "1" else "2")+        pairKey Field {path, entry = Switch' leaf} (Just True) = Const $ Just (addIndex <$> (path ++ [leaf]), Right "1")+        pairKey Field {path, entry = Switch' leaf} (Just False) =+          Const $ Just (map addIndex path ++ [leaf <> "[1]"], Right "1")+        pairKey Field {path, entry = Constant c e} (Just v)+          | c == v = Const Nothing+          | otherwise = Const $ Just (path, Left ("Trying to replace constant field " ++ show (path, c) ++ " with " ++ show v))+        pairKey Field {path, entry} v = Const $ Just (addIndex <$> path, maybe (Right "") (fromEntry entry) v)+        pairKey NoField _ = Const Nothing+        fromEntry :: Entry a -> a -> Either String Text+        fromEntry (Constant c e) _ = fromEntry e c+        fromEntry Textual v = Right v+        fromEntry Date v = Right $ Text.pack $ formatTime defaultTimeLocale "%Y%m%d" v+        fromEntry Checkbox True = Right "Yes"+        fromEntry Checkbox False = Right "No"+        fromEntry e@(RadioButton values) v = case elemIndex v values+                                             of Just i -> Right $ Text.pack $ show $ i+1+                                                Nothing -> Left (show e <> " doesn't allow value " <> show v)+        fromEntry Amount v = Right $ Text.pack (show v)+        fromEntry Percent v = Right $ dropInsignificantZeros (Text.pack $ show (fromRational $ v * 100 :: Centi)) <> "%"+          where dropInsignificantZeros = Text.dropWhileEnd (== '.') . Text.dropWhileEnd (== '0')+        fromEntry Count v = Right $ Text.pack (show v)+        fromEntry Province v = Right $ Text.pack (show v)+ fromFieldMap :: Rank2.Traversable form => form FieldConst -> Map [Text] Text -> Either String (form Maybe)-fromFieldMap fields fieldValues = Rank2.traverse fill fields-  where fill :: FieldConst a -> Either String (Maybe a)-        fill Field {path, entry}-          | Just v <- Map.lookup path fieldValues = toEntry entry (Text.unpack v)-          | Just v <- Map.lookup ((<> "[0]") <$> path) fieldValues = toEntry entry (Text.unpack v)-          | RadioButtons leaf values <- entry,-            Just (n, v) <- find (\(i, _)-> any (`notElem` ["", "Off"]) $-                                  Map.lookup (((<> "[0]") <$> path) <> [leaf <> "[" <> Text.pack (show i) <> "]"]) fieldValues)-                           (zip [0 ..] values)-          = Right $ Just v-          | Switch yes no leaf <- entry,-            Just yesValue <- Map.lookup ((<> "[0]") <$> (path <> [yes, leaf])) fieldValues,-            Just noValue <- Map.lookup ((<> "[0]") <$> (path <> [no, leaf])) fieldValues-          = if yesValue `elem` ["", "Off"] && noValue `elem` ["", "Off"] then Right Nothing-            else if yesValue == "1" && noValue `elem` ["", "Off"] then Right (Just True)-            else if yesValue `elem` ["", "Off"] && noValue `elem` ["1", "2"] then Right (Just False)-            else error ("Can't figure out the checkbox at " <> show (path, entry, yesValue, noValue))-          | Switch' leaf <- entry,-            Just yesValue <- Map.lookup (map (<> "[0]") path <> [leaf <> "[0]"]) fieldValues,-            Just noValue <- Map.lookup (map (<> "[0]") path <> [leaf <> "[1]"]) fieldValues-          = if yesValue `elem` ["", "Off"] && noValue `elem` ["", "Off"] then Right Nothing-            else if yesValue == "1" && noValue `elem` ["", "Off"] then Right (Just True)-            else if yesValue `elem` ["", "Off"] && noValue `elem` ["1", "2"] then Right (Just False)-            else error ("Can't figure out the checkbox at " <> show (path, entry, yesValue, noValue))-          | otherwise = error ("Unknown field path " ++ show path ++ " between "-                               ++ show (Map.lookupLT ((<> "[0]") <$> path) fieldValues,-                                        Map.lookupGT ((<> "[0]") <$> path) fieldValues))-        toEntry :: Entry a -> String -> Either String (Maybe a)-        toEntry _ "" = Right Nothing-        toEntry Count v = Just <$> readEither v-        toEntry Date v = Just <$> parseTimeM False defaultTimeLocale "%Y%m%d" v-        toEntry Province v = Just <$> readEither v-        toEntry Textual v = Right $ Just $ Text.pack v-        toEntry Amount v = Just <$> readEither (dropCommas v)-        toEntry Percent v-          | Just v' <- stripSuffix "%" v,-            (wholePart, pointyPart) <- span (/= '.') v',-            Right whole <- fromInteger <$> readEither wholePart,-            Right decimal <- case pointyPart-                             of '.' : decimals -> (/ 10 ^ length decimals) . fromInteger <$> readEither decimals-                                "" -> Right 0-                                _ -> Left "bad decimals"-          = Right $ Just ((whole + decimal) / 100)-          | otherwise = Left ("Bad percentage value: " <> show v)-        toEntry Checkbox "Yes" = Right $ Just True-        toEntry Checkbox "No" = Right $ Just False-        toEntry Checkbox "Off" = Right $ Just False-        toEntry Checkbox "1" = Right $ Just True-        toEntry Checkbox v = Left ("Bad checkbox value: " <> show v)-        toEntry e@(RadioButton values) v-          | Right n <- readEither v, n > 0, x:_ <- drop (n - 1) values = Right $ Just x-          | otherwise = Left ("Bad radio button value: " <> show (e, v))-        toEntry e@RadioButtons{} v = error (show (e, v))-        toEntry e@(Switch a b leaf) v = error (show (e, v))-        toEntry e@(Switch' leaf) v = error (show (e, v))-        dropCommas num+fromFieldMap fieldForm fieldMap = Rank2.traverse (fill fieldMap) fieldForm++fill :: forall a. Map [Text] Text -> FieldConst a -> Either String (Maybe a)+fill fieldValues NoField = Right Nothing+fill fieldValues Field {path, entry}+  | Just v <- Map.lookup path fieldValues = toEntry entry (Text.unpack v)+  | Just v <- Map.lookup (addIndex <$> path) fieldValues = toEntry entry (Text.unpack v)+  | RadioButtons start step leaf values <- entry,+    alts <- [ (Map.lookup (map addIndex path <> [leaf <> "[" <> Text.pack (show $ start + i*step) <> "]"]) fieldValues,+               v)+            | (i, v) <- zip [0 ..] values ]+  = if null alts then Left ("No radio buttons on path " <> show path)+    else Right $ snd <$> find (any (`notElem` ["", "Off"]) . fst) (alts :: [(Maybe Text, a)])+  | Switch yes no leaf <- entry,+    Just yesValue <- Map.lookup (addIndex <$> (path <> [yes, leaf])) fieldValues,+    Just noValue <- Map.lookup (addIndex <$> (path <> [no, leaf])) fieldValues+  = if yesValue `elem` ["", "Off"] && noValue `elem` ["", "Off"] then Right Nothing+    else if yesValue == "1" && noValue `elem` ["", "Off"] then Right (Just True)+    else if yesValue `elem` ["", "Off"] && noValue `elem` ["1", "2"] then Right (Just False)+    else Left ("Can't figure out the checkbox at " <> show (path, entry, yesValue, noValue))+  | Switch' leaf <- entry,+    Just yesValue <- Map.lookup (map addIndex path <> [leaf <> "[0]"]) fieldValues,+    Just noValue <- Map.lookup (map addIndex path <> [leaf <> "[1]"]) fieldValues+  = if yesValue `elem` ["", "Off"] && noValue `elem` ["", "Off"] then Right Nothing+    else if yesValue == "1" && noValue `elem` ["", "Off"] then Right (Just True)+    else if yesValue `elem` ["", "Off"] && noValue `elem` ["1", "2"] then Right (Just False)+    else Left ("Can't figure out the checkbox at " <> show (path, entry, yesValue, noValue))+  | otherwise = Left ("Unknown field path " ++ show path ++ " between "+                       ++ show (Map.lookupLT (addIndex <$> path) fieldValues,+                                Map.lookupGT (addIndex <$> path) fieldValues))++toEntry :: Entry a -> String -> Either String (Maybe a)+toEntry _ "" = Right Nothing+toEntry (Constant expected entry) v = do+  e <- toEntry entry v+  if e == Just expected+    then pure e+    else Left ("Expected " <> show expected <> ", got " <> show (v, e))+toEntry Count v = Just <$> readEither v+toEntry Date v = Just <$> parseTimeM False defaultTimeLocale "%Y%m%d" v+toEntry Province v = Just <$> readEither v+toEntry Textual v = Right $ Just $ Text.pack v+toEntry Amount v = Just <$> readEither (dropCommas v)+  where dropCommas num           | (wholePart, pointyPart@('.' : decimals)) <- span (/= '.') num,             length decimals == 2,             all isDigit decimals           = filter (/= ',') wholePart <> pointyPart           | otherwise = num+toEntry Percent v+  | Just v' <- stripSuffix "%" v,+    (wholePart, pointyPart) <- span (/= '.') v',+    Right whole <- fromInteger <$> readEither wholePart,+    Right decimal <- case takeWhile (not . isSpace) pointyPart+                     of '.' : decimals -> (/ 10 ^ length decimals) . fromInteger <$> readEither decimals+                        "" -> Right 0+                        _ -> Left ("Bad decimals: " <> show v')+  = Right $ Just ((whole + decimal) / 100)+  | otherwise = Left ("Bad percentage value: " <> show v)+toEntry Checkbox "Yes" = Right $ Just True+toEntry Checkbox "No" = Right $ Just False+toEntry Checkbox "Off" = Right $ Just False+toEntry Checkbox "1" = Right $ Just True+toEntry Checkbox v = Left ("Bad checkbox value: " <> show v)+toEntry e@(RadioButton values) v+  | Right n <- readEither v, n > 0, x:_ <- drop (n - 1) values = Right $ Just x+  | otherwise = Left ("Bad radio button value: " <> show (e, v))+toEntry e@RadioButtons{} v = Left (show (e, v))+toEntry e@(Switch a b leaf) v = Left (show (e, v))+toEntry e@(Switch' leaf) v = Left (show (e, v))++addIndex :: Text -> Text+addIndex key+  | "]" `Text.isSuffixOf` key = key+  | otherwise = key <> "[0]"  instance MonadFail (Either String) where   fail = Left
+ src/Tax/PDFtk.hs view
@@ -0,0 +1,34 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE OverloadedStrings #-}++-- | IO functions for invoking PDFTk as an external process++module Tax.PDFtk where++import Data.ByteString.Lazy qualified as Lazy+import System.Process.Typed (ExitCode (ExitFailure, ExitSuccess), byteStringInput, readProcess, setStdin, shell)++-- | Convert a PDF file to an FDF bytestring via @pdftk generate_fdf@+pdfFile2fdf :: FilePath -> IO (Either String Lazy.ByteString)+pdfFile2fdf pdfPath = do+   (exitCode, fdf, errors) <- readProcess (shell $ "pdftk " <> pdfPath <> " generate_fdf output -")+   case exitCode of+      ExitSuccess -> pure (Right fdf)+      ExitFailure n -> pure (Left $ "Error converting PDF to FDF (exit code " <> show n <> ").\n" <> show errors)++-- | Convert a PDF bytestring to FDF via @pdftk generate_fdf@+pdf2fdf :: Lazy.ByteString -> IO (Either String Lazy.ByteString)+pdf2fdf pdf = do+   (exitCode, fdf, errors) <- readProcess (setStdin (byteStringInput pdf) $ shell "pdftk - generate_fdf output -")+   case exitCode of+      ExitSuccess -> pure (Right fdf)+      ExitFailure n -> pure (Left $ "Error converting PDF to FDF (exit code " <> show n <> ").\n" <> show errors)++-- | Given a PDF file, convert an FDF bytestring to filled PDF via @pdftk fill_form@+fdf2pdf :: FilePath -> Lazy.ByteString -> IO (Either String Lazy.ByteString)+fdf2pdf pdfPath fdf = do+   (exitCode, pdf, errors)+      <- readProcess (setStdin (byteStringInput fdf) $ shell $ "pdftk " <> pdfPath <> " fill_form - output -")+   case exitCode of+      ExitSuccess -> pure (Right pdf)+      ExitFailure n -> pure (Left $ "Error converting FDF to PDF (exit code " <> show n <> ").\n" <> show errors)
src/Tax/Util.hs view
@@ -13,7 +13,7 @@    where a' = f a  -- | Sum the list of arguments; return 'Nothing' iff all items are 'Nothing'.-totalOf :: [Maybe Centi] -> Maybe Centi+totalOf :: Num a => [Maybe a] -> Maybe a totalOf = fmap sum . nonEmpty . mapMaybe id  -- | Subtraction under 'Maybe'@@ -30,7 +30,3 @@ fractionOf :: Maybe Rational -> Maybe Centi -> Maybe Centi fractionOf (Just x) (Just amt) = Just $ fromRational (x * toRational amt) fractionOf _ _ = Nothing---- | The minimum of all amounts, 'Nothing' ignored.-leastOf :: [Maybe Centi] -> Maybe Centi-leastOf = fmap minimum . nonEmpty . mapMaybe id
+ test/Properties.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE Haskell2010 #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ScopedTypeVariables #-}++module Main where++import Tax.Canada.Province.AB qualified as AB+import Tax.Canada.Province.BC qualified as BC+import Tax.Canada.Province.MB qualified as MB+import Tax.Canada.Province.NB qualified as NB+import Tax.Canada.Province.NL qualified as NL+import Tax.Canada.Province.ON qualified as ON+import Tax.Canada.Province.PE qualified as PE+import Tax.Canada.Province.QC qualified as QC+import Tax.Canada.Territory.NT qualified as NT+import Tax.Canada.Territory.NU qualified as NU+import Tax.Canada.Territory.YT qualified as YT+import Tax.Canada.T1 (T1, fixT1)+import Tax.Canada.Federal.Schedule6 (schedule6Fields)+import Tax.Canada.Federal.Schedule7 (schedule7Fields)+import Tax.Canada.Federal.Schedule9 (schedule9Fields)+import Tax.Canada.Federal.Schedule11 (schedule11Fields)+import Tax.FDF as FDF+import Paths_canadian_income_tax (getDataDir)++import Test.Transformations qualified as Transformations++import Data.ByteString qualified as ByteString+import Data.Either (isLeft, isRight)+import Data.Functor.Const (Const (Const, getConst))+import Data.List qualified as List+import Data.Maybe (fromMaybe)+import Data.Semigroup.Cancellative (isSuffixOf)+import Data.Semigroup (All (All, getAll))+import Data.Text (Text, isInfixOf, stripSuffix)+import Rank2 qualified+import System.Directory (listDirectory)+import System.Exit (die)+import System.FilePath.Posix (combine, isExtensionOf)+import Transformation.Shallow qualified as Shallow+import Text.FDF (FDF (body), Field, parse)+import Text.FDF qualified++import Hedgehog (Gen, Property, (===), annotateShow, assert, forAll, property)+import Hedgehog.Gen qualified as Gen+import Test.Tasty+import Test.Tasty.Hedgehog++main = do+  dataDir <- getDataDir+  fdfMaps <- traverse (readFDFs . combine dataDir) [".", "T1/fdf", "428", "479"]+  either die (defaultMain . properties) $ sequenceA fdfMaps+  where+    readFDFs :: FilePath -> IO (Either String [(FilePath, FDF)])+    readFDFs dir = do+      fdfFileNames <- filter (".fdf" `isSuffixOf`) <$> listDirectory dir+      fdfBytes <- traverse (ByteString.readFile . combine dir) fdfFileNames+      pure $ traverse (traverse parse) $ zip fdfFileNames fdfBytes++properties :: [[(FilePath, FDF)]] -> TestTree+properties [dataRootMap, fdfT1Map, fdf428Map, fdf479Map] =+  testGroup "Properties" [+    testGroup "Idempotence" [+      testGroup "Alberta" [+        testProperty "T1" (checkFormIdempotent AB.t1Fields fixT1),+        testProperty "AB428" (checkFormIdempotent AB.ab428Fields AB.fixAB428),+        testProperty "Federal+AB428" (checkFormIdempotent AB.returnFields AB.fixReturns)],+      testGroup "British Columbia" [+        testProperty "T1" (checkFormIdempotent BC.t1Fields fixT1),+        testProperty "BC428" (checkFormIdempotent BC.bc428Fields BC.fixBC428),+        testProperty "Federal+BC428+BC479" (checkFormIdempotent BC.returnFields BC.fixReturns)],+      testGroup "Manitoba" [+        testProperty "T1" (checkFormIdempotent MB.t1Fields fixT1),+        testProperty "MB428" (checkFormIdempotent MB.mb428Fields MB.fixMB428),+        testProperty "Federal+MB428" (checkFormIdempotent MB.returnFields MB.fixReturns)],+      testGroup "Ontario" [+        testProperty "T1" (checkFormIdempotent ON.t1Fields fixT1),+        testProperty "ON428" (checkFormIdempotent ON.returnFields.on428 ON.fixON428),+        testProperty "ON479" (checkFormIdempotent ON.returnFields.on479 ON.fixON479),+        testProperty "Federal+ON428+ON479" (checkFormIdempotent ON.returnFields ON.fixReturns)]],+    testGroup "Roundtrip" [+      testGroup "T1" [+        testProperty ("T1 for " <> name) (checkFormFields fields $ List.lookup (prefix <> "-r-fill-23e.fdf") fdfT1Map)+        | (name, prefix, fields) <- provincesT1],+      testProperty "Schedule 6" (checkFormFields schedule6Fields $ List.lookup "5000-s6-fill-23e.fdf" dataRootMap),+      testProperty "Schedule 7" (checkFormFields schedule7Fields $ List.lookup "5000-s7-fill-23e.fdf" dataRootMap),+      testProperty "Schedule 9" (checkFormFields schedule9Fields $ List.lookup "5000-s9-fill-23e.fdf" dataRootMap),+      testProperty "Schedule 11" (checkFormFields schedule11Fields $ List.lookup "5000-s11-fill-23e.fdf" dataRootMap),+      testGroup "428" [+        testProperty ("Form 428 for " <> name) (checkFields $ List.lookup (prefix <> "-c-fill-23e.fdf") fdf428Map)+        | (name, prefix, checkFields) <- provinces428],+      testGroup "479" [+        testProperty ("Form 479 for " <> name) (checkFields $ List.lookup (prefix <> "-tc-fill-23e.fdf") fdf479Map)+        | (name, prefix, checkFields) <- provinces479]],+    testGroup "Load mismatch" [+      testProperty ("Load T1 for " <> p1name <> " from FDF for " <> p2name) $ property $ assert+        $ any (isLeft  . FDF.load p1fields) $ List.lookup (p2fdfPrefix <> "-r-fill-23e.fdf") fdfT1Map+      | (p1name, _, p1fields) <- provincesT1,+        (p2name, p2fdfPrefix, _) <- provincesT1,+        p1name /= p2name]]+  where provincesT1 = [("Newfoundland and Labrador", "5001", NL.t1Fields),+                       ("PEI", "5002", PE.t1Fields),+                       ("New Brunswick", "5004", NB.t1Fields),+                       ("Quebec", "5005", QC.t1Fields),+                       ("Ontario", "5006", ON.t1Fields),+                       ("British Columbia", "5010", BC.t1Fields),+                       ("Northwest Territories", "5012", NT.t1Fields),+                       ("Yukon", "5011", YT.t1Fields),+                       ("Nunavut", "5014", NU.t1Fields),+                       ("Alberta, Manitoba, Nova Scotia, and Saskatchewan", "5015", AB.t1Fields)]+        provinces428 = [("Ontario",  "5006", checkFormFields ON.on428Fields),+                        ("Manitoba", "5007", checkFormFields MB.mb428Fields),+                        ("Alberta",  "5009", checkFormFields AB.ab428Fields),+                        ("British Columbia", "5010", checkFormFields BC.bc428Fields)]+        provinces479 = [("Ontario",  "5006", checkFormFields ON.on479Fields),+                        ("British Columbia", "5010", checkFormFields BC.bc479Fields)]+properties maps = error ("Unexpected data directory contents: " <> show maps)++checkFormIdempotent :: (Eq (g Maybe), Show (g Maybe),+                        Rank2.Applicative g, Shallow.Traversable Transformations.Gen g)+                    => g FieldConst -> (g Maybe -> g Maybe) -> Property+checkFormIdempotent fields f = checkIdempotent (generateForm fields) f++checkFormFields :: (Eq (g Maybe), Show (g Maybe),+                    Rank2.Applicative g, Shallow.Traversable Transformations.Gen g)+                => g FieldConst -> Maybe FDF -> Property+checkFormFields _ Nothing = error "Missing FDF template"+checkFormFields fields (Just fdf) = property $ do+  annotateShow $ FDF.load fields fdf+  assert $ isRight $ FDF.load fields fdf+  form <- forAll (generateForm fields)+  let Right fdf' = FDF.update fields form fdf+      formKeys = FDF.formKeys fields+      fdfKeys = Text.FDF.foldMapWithKey (const . (:[]) . map dropIndex) fdf+      dropIndex t = fromMaybe t (stripSuffix "[0]" t)+      keyHeads = List.nub $ take 2 <$> formKeys+      noCheckbox :: [[Text]] -> [[Text]]+      noCheckbox = filter $ not . or . ([isSuffixOf "Checkbox", isInfixOf "CheckBox",+                                         isInfixOf "Footnote", isInfixOf "address", isInfixOf "Nameof",+                                         (== "QuestionA"), (== "Note1"), (== "Note2"), (== "CAI-2023")] <*>)+  -- annotateShow fdf'+  FDF.load fields fdf' === Right form+  List.sort (noCheckbox formKeys) === List.sort (noCheckbox $ filter (\x-> any (`List.isPrefixOf` x) keyHeads) fdfKeys)++generateForm :: (Rank2.Applicative g, Shallow.Traversable Transformations.Gen g) => g FieldConst -> Gen (g Maybe)+generateForm = Shallow.traverse Transformations.Gen++checkIdempotent :: (Eq a, Show a) => Gen a -> (a -> a) -> Property+checkIdempotent gen f = property $ forAll gen >>= \x-> let x' = f x in f x' === x'+
+ test/Regression.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE Haskell2010 #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ScopedTypeVariables #-}++module Main where++import Tax.Canada.Province.ON qualified as ON+import Tax.Canada.Province.AB qualified as AB (t1Fields)+import Tax.Canada.Province.BC qualified as BC (t1Fields)+import Tax.Canada.T1 (T1, fixT1)+import Tax.FDF as FDF++import Control.Monad.IO.Class (liftIO)+import Data.ByteString qualified as ByteString+import Data.ByteString.Lazy (fromStrict)+import Data.Foldable (toList)+import Data.Functor.Const (Const (Const, getConst))+import Data.List qualified as List+import Data.Map qualified as Map+import Data.Maybe (fromMaybe)+import Data.Semigroup (All (All, getAll))+import Data.Text (Text)+import Data.Text qualified as Text+import Rank2 qualified+import System.Directory (doesDirectoryExist, listDirectory)+import System.Exit (die)+import System.FilePath.Posix (combine)+import Text.FDF (FDF, parse, serialize)+import Text.FDF qualified++import Test.Tasty+import Test.Tasty.Golden++main = listDirectory inputDir >>= traverse test >>= defaultMain . testGroup "Regression"++rootDir, inputDir, outputDir, referenceDir :: FilePath+rootDir = combine "test" "regression"+inputDir = combine rootDir "inputs"+outputDir = combine rootDir "outputs"+referenceDir = combine rootDir "reference"++test :: FilePath -> IO TestTree+test path = do+  let inputPath = combine inputDir path+  isDir <- liftIO (doesDirectoryExist inputPath)+  if isDir+    then testReturn path+    else testT1 path++testT1 :: FilePath -> IO TestTree+testT1 path = do+  fdfBytes <- ByteString.readFile $ combine inputDir path+  case parse fdfBytes of+    Left err -> die err+    Right fdf ->+      pure $+        goldenVsString path+          (combine referenceDir path)+          (pure $ fromStrict $ serialize $ either error id $ FDF.mapForm ON.t1Fields fixT1 fdf)++testReturn :: FilePath -> IO TestTree+testReturn path = do+  let inputPath = combine inputDir path+  fdfFileNames <- listDirectory inputPath+  fdfBytes <- traverse (ByteString.readFile . combine inputPath) fdfFileNames+  case traverse parse fdfBytes of+    Left err -> die err+    Right fdfs -> case FDF.mapForms ON.returnFields ON.fixReturns (Map.fromList $ zip (formKey <$> fdfFileNames) fdfs) of+      Left err -> die err+      Right filled+        | let fdfOutputs = fromStrict . serialize <$> filled+              diff ref new = ["diff", "-uw", ref, new]+              compare key fdfOutput+                | let Just fileName = List.find ((key ==) . formKey) fdfFileNames+                = pure $ goldenVsStringDiff fileName diff (combine referenceDir $ combine path fileName) (pure fdfOutput)+        -> testGroup path . toList <$> Map.traverseWithKey compare fdfOutputs+++formKey :: FilePath -> Text+formKey "5000-s6-fill-23e.fdf" = "Schedule6"+formKey "5006-c-fill-23e.fdf" = "428"+formKey "5006-r-fill-23e.fdf" = "T1"+formKey name = error ("File name " <> name <> " is not recognized as a form.")
+ test/Test/Transformations.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE Haskell2010 #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE NumericUnderscores #-}+{-# LANGUAGE OverloadedRecordDot #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}++module Test.Transformations where++import Data.Functor.Compose+import Data.Void (Void)+import Data.Word (Word)+import Data.Text (Text)+import Data.Time (Day)+import Data.Time.Calendar (fromGregorian)+import Data.CAProvinceCodes qualified as Province++import Hedgehog qualified+import Hedgehog.Gen qualified as Gen+import Hedgehog.Range qualified as Range++import Transformation (Transformation (Domain, Codomain), At)+import Transformation qualified+import Transformation.Shallow qualified as Shallow+import Transformation.Shallow.TH qualified as Shallow.TH++import Tax.FDF (FieldConst (Field, NoField), Entry (Constant))+import Tax.Canada.T1 (LanguageOfCorrespondence, MaritalStatus)+import Data.Fixed (Centi, Fixed (MkFixed))++data Gen = Gen++instance Transformation Gen where+  type Domain Gen = FieldConst+  type Codomain Gen = Compose Hedgehog.Gen Maybe++adjust :: Hedgehog.Gen a -> Compose Hedgehog.Gen Maybe a+adjust g = Compose $ Gen.frequency [(4, pure Nothing), (1, Just <$> g)]++instance Gen `At` Void where+  _ $ _ = Compose (pure Nothing)++instance Gen `At` Bool where+  _ $ NoField = Compose (pure Nothing)+  _ $ _ = adjust Gen.enumBounded++instance Gen `At` Centi where+  _ $ NoField = Compose (pure Nothing)+  _ $ Field _ (Constant c _) = Compose (pure $ Just c)+  _ $ _ = adjust $ MkFixed <$> Gen.integral (Range.linear 0 1_000_000_000)++instance Gen `At` Rational where+  _ $ Field _ (Constant c _) = Compose (pure $ Just c)+  _ $ _ = adjust $ ((/ 10_000) . toRational) <$> Gen.integral (Range.linear 0 10_000)++instance Gen `At` Word where+  _ $ _ = adjust $ Gen.word (Range.linear 0 1_000)++instance Gen `At` Text where+  _ $ _ = adjust $ Gen.text (Range.linear 1 500) Gen.unicode++instance Gen `At` Province.Code where+  _ $ _ = adjust $ Gen.element Province.all++instance Gen `At` Day where+  _ $ _ = adjust $ Gen.enum (fromGregorian 1910 1 1) (fromGregorian 2050 12 31)++instance Gen `At` LanguageOfCorrespondence where+  _ $ _ = adjust Gen.enumBounded++instance Gen `At` MaritalStatus where+  _ $ _ = adjust Gen.enumBounded
+ web/Main.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}++module Main where++import Codec.Archive.Zip (addEntryToArchive, emptyArchive, fromArchive, toEntry)+import Control.Category ((>>>))+import Control.Monad (forM, join)+import Control.Monad.IO.Class (liftIO)+import Control.Exception (assert)+import Data.ByteString (ByteString)+import Data.ByteString qualified as ByteString+import Data.ByteString.Lazy qualified as Lazy+import Data.ByteString.Lazy qualified as ByteString.Lazy+import Data.Functor.Compose (Compose(..))+import Data.Map.Lazy qualified as Map+import Data.Monoid.Textual (toString)+import Data.Monoid.Instances.ByteString.UTF8 (ByteStringUTF8(..))+import Data.String (fromString)+import Data.Time.Clock (nominalDiffTimeToSeconds)+import Data.Time.Clock.POSIX (getPOSIXTime)+import Data.Text (Text)+import Data.Text.Lazy qualified as Text.Lazy+import Network.HTTP.Types.Status (ok200, internalServerError500,+                                  notFound404, unsupportedMediaType415, unprocessableEntity422)+import Network.Wai.Middleware.RequestLogger+import Network.Wai.Middleware.Static+import Network.Wai.Parse (FileInfo (..))+import System.Directory (removeDirectoryRecursive)+import System.FilePath.Posix ((</>))+import System.Posix.Temp (mkdtemp)+import Text.FDF (parse, serialize)+import Text.Read (readMaybe)+import Web.Scotty++import Paths_canadian_income_tax (getDataDir)+import Tax.Canada (completeForms)+import Tax.FDF qualified as FDF+import Tax.PDFtk (fdf2pdf, pdfFile2fdf)++main :: IO ()+main = scotty 3000 $ do+   middleware logStdoutDev+   get "/" $ do+      setHeader "Content-Type" "text/html; charset=utf-8"+      file "web/client/build/index.html"+   get "/about.html" $ do+      file "web/static/about.html"+   post "/t1/PDF/:province" $ do+      provinceCode <- captureParam "province"+      province <- case readMaybe (Text.Lazy.unpack provinceCode)+                  of Nothing -> status notFound404+                                >> text ("No such province as " <> provinceCode)+                                >> finish+                     Just p -> pure p+      pdfFiles <- files+      dir <- liftIO $ mkdtemp "tax"+      fdfBytes <- liftIO $ fmap sequenceA $ forM pdfFiles $ \(key, FileInfo name _ content)-> do+        let path = dir </> fromUTF8 name+        Lazy.writeFile path content+        fdf <- pdfFile2fdf path+        pure ((,) key <$> fdf)+      case fdfBytes >>= traverse (traverse $ Lazy.toStrict >>> parse) of+        Left err -> status unsupportedMediaType415 >> text (fromString err)+        Right fdfs -> case completeForms province (Map.fromList fdfs) of+          Left err -> status unprocessableEntity422 >> text (fromString err)+          Right fdfs' -> do+            let fdfBytes' = Lazy.fromStrict . serialize <$> fdfs'+                replaceContent :: (Text, FileInfo Lazy.ByteString) -> IO (Either String (Text, FileInfo Lazy.ByteString))+                replaceContent (key, FileInfo name ty _) = case Map.lookup key fdfBytes' of+                  Just c -> ((,) key . FileInfo name ty <$>) <$> fdf2pdf (dir </> fromUTF8 name) c+                  Nothing -> pure (Left $ "Unknown key " <> show key)+            pdfFiles' <- liftIO $ traverse replaceContent pdfFiles+            case sequenceA pdfFiles' of+              Left err -> do+                status internalServerError500 >> text (fromString err)+              Right [(_, FileInfo _ _ pdf)] -> do+                status ok200+                setHeader "Content-Type" "application/pdf"+                raw pdf+              Right pdfFiles' -> do+                now <- liftIO $ round . nominalDiffTimeToSeconds <$> getPOSIXTime+                let pdfArchive = foldr addPDF emptyArchive pdfFiles'+                    addPDF (_, FileInfo name _ c) = addEntryToArchive (toEntry (fromUTF8 name) now c)+                status ok200+                setHeader "Content-Type" "application/zip"+                raw (fromArchive pdfArchive)+      liftIO $ removeDirectoryRecursive dir+   middleware $ staticPolicy (noDots >-> addBase "web/client/build")++fromUTF8 :: ByteString -> String+fromUTF8 = toString mempty . ByteStringUTF8