diff --git a/us/reconciliation/salt_to_jct.ipynb b/us/reconciliation/salt_to_jct.ipynb new file mode 100644 index 0000000..46b2aa9 --- /dev/null +++ b/us/reconciliation/salt_to_jct.ipynb @@ -0,0 +1,2629 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/pavelmakarchuk/anaconda3/envs/pe/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + } + ], + "source": [ + "from policyengine_us import Microsimulation\n", + "from policyengine_core.reforms import Reform" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "baseline = Reform.from_dict({\n", + " \"gov.irs.income.bracket.rates.2\": {\n", + " \"2026-01-01.2100-12-31\": 0.12\n", + " },\n", + " \"gov.irs.income.bracket.rates.3\": {\n", + " \"2026-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.bracket.rates.4\": {\n", + " \"2026-01-01.2100-12-31\": 0.24\n", + " },\n", + " \"gov.irs.income.bracket.rates.5\": {\n", + " \"2026-01-01.2100-12-31\": 0.32\n", + " },\n", + " \"gov.irs.income.bracket.rates.7\": {\n", + " \"2026-01-01.2100-12-31\": 0.37\n", + " },\n", + " \"gov.irs.deductions.qbi.max.rate\": {\n", + " \"2025-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.exemption.amount\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.itemized.misc.applies\": {\n", + " \"2026-01-01.2100-12-31\": False\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.5\n", + " },\n", + " \"gov.irs.deductions.standard.amount.JOINT\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.contrib.reconciliation.qbid.in_effect\": {\n", + " \"2026-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.irs.credits.ctc.amount.base[0].amount\": {\n", + " \"2025-01-01.2028-12-31\": 2500,\n", + " \"2029-01-01.2030-12-31\": 2200,\n", + " \"2031-01-01.2033-12-31\": 2300,\n", + " \"2034-01-01.2100-12-31\": 2400\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SINGLE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927250\n", + " },\n", + " \"gov.irs.credits.ctc.amount.adult_dependent\": {\n", + " \"2026-01-01.2100-12-31\": 500\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93549,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SEPARATE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.alt_rate\": {\n", + " \"2026-01-01.2035-12-31\": 0.25\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 69547,\n", + " \"2027-01-01.2027-12-31\": 71261,\n", + " \"2028-01-01.2028-12-31\": 72737,\n", + " \"2029-01-01.2029-12-31\": 74193,\n", + " \"2030-01-01.2030-12-31\": 75670,\n", + " \"2031-01-01.2031-12-31\": 77166,\n", + " \"2032-01-01.2032-12-31\": 78682,\n", + " \"2033-01-01.2033-12-31\": 80238,\n", + " \"2034-01-01.2034-12-31\": 81834,\n", + " \"2035-01-01.2036-12-31\": 83450\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 386350,\n", + " \"2027-01-01.2027-12-31\": 395900,\n", + " \"2028-01-01.2028-12-31\": 404100,\n", + " \"2029-01-01.2029-12-31\": 412200,\n", + " \"2030-01-01.2030-12-31\": 420400,\n", + " \"2031-01-01.2031-12-31\": 428700,\n", + " \"2032-01-01.2032-12-31\": 437100,\n", + " \"2033-01-01.2033-12-31\": 445750,\n", + " \"2034-01-01.2034-12-31\": 454650,\n", + " \"2035-01-01.2036-12-31\": 463600\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.individual_max\": {\n", + " \"2026-01-01.2026-12-31\": 1700,\n", + " \"2027-01-01.2028-12-31\": 1800,\n", + " \"2029-01-01.2031-12-31\": 1900,\n", + " \"2032-01-01.2033-12-31\": 2000,\n", + " \"2034-01-01.2100-12-31\": 2100\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217900,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.agi_rate\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.phase_in.threshold\": {\n", + " \"2026-01-01.2100-12-31\": 2500\n", + " },\n", + " \"gov.irs.deductions.qbi.max.business_property.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.025\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SURVIVING_SPOUSE\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.deductions.standard.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2025-01-01.2025-12-31\": 24000,\n", + " \"2026-01-01.2026-12-31\": 24300,\n", + " \"2027-01-01.2027-12-31\": 24900,\n", + " \"2028-01-01.2028-12-31\": 25350,\n", + " \"2029-01-01.2029-12-31\": 24350,\n", + " \"2030-01-01.2030-12-31\": 24850,\n", + " \"2031-01-01.2031-12-31\": 25300,\n", + " \"2032-01-01.2032-12-31\": 25800,\n", + " \"2033-01-01.2033-12-31\": 26350,\n", + " \"2034-01-01.2034-12-31\": 26850,\n", + " \"2035-01-01.2100-12-31\": 27400\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927300\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93550,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719454,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 256486,\n", + " \"2027-01-01.2027-12-31\": 262806,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273621,\n", + " \"2030-01-01.2030-12-31\": 279065,\n", + " \"2031-01-01.2031-12-31\": 284584,\n", + " \"2032-01-01.2032-12-31\": 290175,\n", + " \"2033-01-01.2033-12-31\": 295914,\n", + " \"2034-01-01.2034-12-31\": 301800,\n", + " \"2035-01-01.2036-12-31\": 307759\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " }\n", + "}, country_id=\"us\")\n", + "\n", + "reform = Reform.from_dict({\n", + " \"gov.irs.income.bracket.rates.2\": {\n", + " \"2026-01-01.2100-12-31\": 0.12\n", + " },\n", + " \"gov.irs.income.bracket.rates.3\": {\n", + " \"2026-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.bracket.rates.4\": {\n", + " \"2026-01-01.2100-12-31\": 0.24\n", + " },\n", + " \"gov.irs.income.bracket.rates.5\": {\n", + " \"2026-01-01.2100-12-31\": 0.32\n", + " },\n", + " \"gov.irs.income.bracket.rates.7\": {\n", + " \"2026-01-01.2100-12-31\": 0.37\n", + " },\n", + " \"gov.irs.deductions.qbi.max.rate\": {\n", + " \"2025-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.exemption.amount\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.contrib.salt_phase_out.in_effect\": {\n", + " \"2026-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.irs.deductions.itemized.misc.applies\": {\n", + " \"2026-01-01.2100-12-31\": False\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.5\n", + " },\n", + " \"gov.irs.deductions.standard.amount.JOINT\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.contrib.reconciliation.qbid.in_effect\": {\n", + " \"2026-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.irs.credits.ctc.amount.base[0].amount\": {\n", + " \"2025-01-01.2028-12-31\": 2500,\n", + " \"2029-01-01.2030-12-31\": 2200,\n", + " \"2031-01-01.2033-12-31\": 2300,\n", + " \"2034-01-01.2100-12-31\": 2400\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SINGLE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927250\n", + " },\n", + " \"gov.irs.credits.ctc.amount.adult_dependent\": {\n", + " \"2026-01-01.2100-12-31\": 500\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93549,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SEPARATE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.alt_rate\": {\n", + " \"2026-01-01.2035-12-31\": 0.25\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 69547,\n", + " \"2027-01-01.2027-12-31\": 71261,\n", + " \"2028-01-01.2028-12-31\": 72737,\n", + " \"2029-01-01.2029-12-31\": 74193,\n", + " \"2030-01-01.2030-12-31\": 75670,\n", + " \"2031-01-01.2031-12-31\": 77166,\n", + " \"2032-01-01.2032-12-31\": 78682,\n", + " \"2033-01-01.2033-12-31\": 80238,\n", + " \"2034-01-01.2034-12-31\": 81834,\n", + " \"2035-01-01.2036-12-31\": 83450\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 386350,\n", + " \"2027-01-01.2027-12-31\": 395900,\n", + " \"2028-01-01.2028-12-31\": 404100,\n", + " \"2029-01-01.2029-12-31\": 412200,\n", + " \"2030-01-01.2030-12-31\": 420400,\n", + " \"2031-01-01.2031-12-31\": 428700,\n", + " \"2032-01-01.2032-12-31\": 437100,\n", + " \"2033-01-01.2033-12-31\": 445750,\n", + " \"2034-01-01.2034-12-31\": 454650,\n", + " \"2035-01-01.2036-12-31\": 463600\n", + " },\n", + " \"gov.contrib.salt_phase_out.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.2\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " }, \n", + " \"gov.contrib.salt_phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.individual_max\": {\n", + " \"2026-01-01.2026-12-31\": 1700,\n", + " \"2027-01-01.2028-12-31\": 1800,\n", + " \"2029-01-01.2031-12-31\": 1900,\n", + " \"2032-01-01.2033-12-31\": 2000,\n", + " \"2034-01-01.2100-12-31\": 2100\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217900,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.agi_rate\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.phase_in.threshold\": {\n", + " \"2026-01-01.2100-12-31\": 2500\n", + " },\n", + " \"gov.irs.deductions.qbi.max.business_property.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.025\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SURVIVING_SPOUSE\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.deductions.standard.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2025-01-01.2025-12-31\": 24000,\n", + " \"2026-01-01.2026-12-31\": 24300,\n", + " \"2027-01-01.2027-12-31\": 24900,\n", + " \"2028-01-01.2028-12-31\": 25350,\n", + " \"2029-01-01.2029-12-31\": 24350,\n", + " \"2030-01-01.2030-12-31\": 24850,\n", + " \"2031-01-01.2031-12-31\": 25300,\n", + " \"2032-01-01.2032-12-31\": 25800,\n", + " \"2033-01-01.2033-12-31\": 26350,\n", + " \"2034-01-01.2034-12-31\": 26850,\n", + " \"2035-01-01.2100-12-31\": 27400\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927300\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93550,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719454,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 256486,\n", + " \"2027-01-01.2027-12-31\": 262806,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273621,\n", + " \"2030-01-01.2030-12-31\": 279065,\n", + " \"2031-01-01.2031-12-31\": 284584,\n", + " \"2032-01-01.2032-12-31\": 290175,\n", + " \"2033-01-01.2033-12-31\": 295914,\n", + " \"2034-01-01.2034-12-31\": 301800,\n", + " \"2035-01-01.2036-12-31\": 307759\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 15000\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " },\n", + " \"gov.contrib.salt_phase_out.floor.applies\": {\n", + " \"2026-01-01.2100-12-31\": True\n", + " },\n", + "}, country_id=\"us\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "baseline = Microsimulation(reform=baseline, dataset=\"hf://policyengine/policyengine-us-data/enhanced_cps_2024.h5\")\n", + "reformed = Microsimulation(reform=reform, dataset=\"hf://policyengine/policyengine-us-data/enhanced_cps_2024.h5\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "years = range(2026, 2036)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "60.96591520180405 in 2026\n", + "63.31826867153386 in 2027\n", + "63.831185309271596 in 2028\n", + "68.32631220349144 in 2029\n", + "70.9001322913627 in 2030\n", + "73.76506701852213 in 2031\n", + "76.63611094549162 in 2032\n", + "79.6921728314132 in 2033\n", + "83.09871641018317 in 2034\n", + "87.21242476191135 in 2035\n" + ] + } + ], + "source": [ + "for year in years:\n", + " baseline_income = baseline.calculate(\"income_tax\", period=year)\n", + " reformed_income = reformed.calculate(\"income_tax\", period=year)\n", + " difference_income = (reformed_income - baseline_income).sum() / 1e9\n", + " print(f\"{difference_income} in {year}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.19163096596643164 in 2026\n", + "0.1866958412126855 in 2027\n", + "0.16758815851428724 in 2028\n", + "0.19802365743521244 in 2029\n", + "0.2061216439295942 in 2030\n", + "0.21636333452199522 in 2031\n", + "0.21667249439269043 in 2032\n", + "0.22566562535369367 in 2033\n", + "0.230963194250314 in 2034\n", + "0.2416288369372341 in 2035\n" + ] + } + ], + "source": [ + "for year in years:\n", + " baseline_income = baseline.calculate(\"state_income_tax\", period=year)\n", + " reformed_income = reformed.calculate(\"state_income_tax\", period=year)\n", + " difference_income = (reformed_income - baseline_income).sum() / 1e9\n", + " print(f\"{difference_income} in {year}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "from policyengine_us import Simulation\n", + "from policyengine_core.reforms import Reform\n", + "\n", + "baseline = Reform.from_dict({\n", + " \"gov.irs.income.bracket.rates.2\": {\n", + " \"2026-01-01.2100-12-31\": 0.12\n", + " },\n", + " \"gov.irs.income.bracket.rates.3\": {\n", + " \"2026-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.bracket.rates.4\": {\n", + " \"2026-01-01.2100-12-31\": 0.24\n", + " },\n", + " \"gov.irs.income.bracket.rates.5\": {\n", + " \"2026-01-01.2100-12-31\": 0.32\n", + " },\n", + " \"gov.irs.income.bracket.rates.7\": {\n", + " \"2026-01-01.2100-12-31\": 0.37\n", + " },\n", + " \"gov.irs.deductions.qbi.max.rate\": {\n", + " \"2025-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.exemption.amount\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.itemized.misc.applies\": {\n", + " \"2026-01-01.2100-12-31\": False\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.5\n", + " },\n", + " \"gov.irs.deductions.standard.amount.JOINT\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.contrib.reconciliation.qbid.in_effect\": {\n", + " \"2026-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.irs.credits.ctc.amount.base[0].amount\": {\n", + " \"2025-01-01.2028-12-31\": 2500,\n", + " \"2029-01-01.2030-12-31\": 2200,\n", + " \"2031-01-01.2033-12-31\": 2300,\n", + " \"2034-01-01.2100-12-31\": 2400\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SINGLE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927250\n", + " },\n", + " \"gov.irs.credits.ctc.amount.adult_dependent\": {\n", + " \"2026-01-01.2100-12-31\": 500\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93549,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SEPARATE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.alt_rate\": {\n", + " \"2026-01-01.2035-12-31\": 0.25\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 69547,\n", + " \"2027-01-01.2027-12-31\": 71261,\n", + " \"2028-01-01.2028-12-31\": 72737,\n", + " \"2029-01-01.2029-12-31\": 74193,\n", + " \"2030-01-01.2030-12-31\": 75670,\n", + " \"2031-01-01.2031-12-31\": 77166,\n", + " \"2032-01-01.2032-12-31\": 78682,\n", + " \"2033-01-01.2033-12-31\": 80238,\n", + " \"2034-01-01.2034-12-31\": 81834,\n", + " \"2035-01-01.2036-12-31\": 83450\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 386350,\n", + " \"2027-01-01.2027-12-31\": 395900,\n", + " \"2028-01-01.2028-12-31\": 404100,\n", + " \"2029-01-01.2029-12-31\": 412200,\n", + " \"2030-01-01.2030-12-31\": 420400,\n", + " \"2031-01-01.2031-12-31\": 428700,\n", + " \"2032-01-01.2032-12-31\": 437100,\n", + " \"2033-01-01.2033-12-31\": 445750,\n", + " \"2034-01-01.2034-12-31\": 454650,\n", + " \"2035-01-01.2036-12-31\": 463600\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.individual_max\": {\n", + " \"2026-01-01.2026-12-31\": 1700,\n", + " \"2027-01-01.2028-12-31\": 1800,\n", + " \"2029-01-01.2031-12-31\": 1900,\n", + " \"2032-01-01.2033-12-31\": 2000,\n", + " \"2034-01-01.2100-12-31\": 2100\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217900,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.agi_rate\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.phase_in.threshold\": {\n", + " \"2026-01-01.2100-12-31\": 2500\n", + " },\n", + " \"gov.irs.deductions.qbi.max.business_property.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.025\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SURVIVING_SPOUSE\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.deductions.standard.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2025-01-01.2025-12-31\": 24000,\n", + " \"2026-01-01.2026-12-31\": 24300,\n", + " \"2027-01-01.2027-12-31\": 24900,\n", + " \"2028-01-01.2028-12-31\": 25350,\n", + " \"2029-01-01.2029-12-31\": 24350,\n", + " \"2030-01-01.2030-12-31\": 24850,\n", + " \"2031-01-01.2031-12-31\": 25300,\n", + " \"2032-01-01.2032-12-31\": 25800,\n", + " \"2033-01-01.2033-12-31\": 26350,\n", + " \"2034-01-01.2034-12-31\": 26850,\n", + " \"2035-01-01.2100-12-31\": 27400\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927300\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93550,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719454,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 256486,\n", + " \"2027-01-01.2027-12-31\": 262806,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273621,\n", + " \"2030-01-01.2030-12-31\": 279065,\n", + " \"2031-01-01.2031-12-31\": 284584,\n", + " \"2032-01-01.2032-12-31\": 290175,\n", + " \"2033-01-01.2033-12-31\": 295914,\n", + " \"2034-01-01.2034-12-31\": 301800,\n", + " \"2035-01-01.2036-12-31\": 307759\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " }\n", + "}, country_id=\"us\")\n", + "\n", + "reform = Reform.from_dict({\n", + " \"gov.irs.income.bracket.rates.2\": {\n", + " \"2026-01-01.2100-12-31\": 0.12\n", + " },\n", + " \"gov.irs.income.bracket.rates.3\": {\n", + " \"2026-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.bracket.rates.4\": {\n", + " \"2026-01-01.2100-12-31\": 0.24\n", + " },\n", + " \"gov.irs.income.bracket.rates.5\": {\n", + " \"2026-01-01.2100-12-31\": 0.32\n", + " },\n", + " \"gov.irs.income.bracket.rates.7\": {\n", + " \"2026-01-01.2100-12-31\": 0.37\n", + " },\n", + " \"gov.contrib.salt_phase_out.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.2\n", + " },\n", + " \"gov.irs.deductions.qbi.max.rate\": {\n", + " \"2025-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.exemption.amount\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.contrib.salt_phase_out.in_effect\": {\n", + " \"2026-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.contrib.salt_phase_out.floor.applies\": {\n", + " \"2025-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.irs.deductions.itemized.misc.applies\": {\n", + " \"2026-01-01.2100-12-31\": False\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.5\n", + " },\n", + " \"gov.irs.deductions.standard.amount.JOINT\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.contrib.reconciliation.qbid.in_effect\": {\n", + " \"2026-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.irs.credits.ctc.amount.base[0].amount\": {\n", + " \"2025-01-01.2028-12-31\": 2500,\n", + " \"2029-01-01.2030-12-31\": 2200,\n", + " \"2031-01-01.2033-12-31\": 2300,\n", + " \"2034-01-01.2100-12-31\": 2400\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SINGLE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927250\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.JOINT\": {\n", + " \"2025-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.amount.adult_dependent\": {\n", + " \"2026-01-01.2100-12-31\": 500\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93549,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.SINGLE\": {\n", + " \"2025-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SEPARATE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.alt_rate\": {\n", + " \"2026-01-01.2035-12-31\": 0.25\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 69547,\n", + " \"2027-01-01.2027-12-31\": 71261,\n", + " \"2028-01-01.2028-12-31\": 72737,\n", + " \"2029-01-01.2029-12-31\": 74193,\n", + " \"2030-01-01.2030-12-31\": 75670,\n", + " \"2031-01-01.2031-12-31\": 77166,\n", + " \"2032-01-01.2032-12-31\": 78682,\n", + " \"2033-01-01.2033-12-31\": 80238,\n", + " \"2034-01-01.2034-12-31\": 81834,\n", + " \"2035-01-01.2036-12-31\": 83450\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 386350,\n", + " \"2027-01-01.2027-12-31\": 395900,\n", + " \"2028-01-01.2028-12-31\": 404100,\n", + " \"2029-01-01.2029-12-31\": 412200,\n", + " \"2030-01-01.2030-12-31\": 420400,\n", + " \"2031-01-01.2031-12-31\": 428700,\n", + " \"2032-01-01.2032-12-31\": 437100,\n", + " \"2033-01-01.2033-12-31\": 445750,\n", + " \"2034-01-01.2034-12-31\": 454650,\n", + " \"2035-01-01.2036-12-31\": 463600\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.SEPARATE\": {\n", + " \"2025-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.individual_max\": {\n", + " \"2026-01-01.2026-12-31\": 1700,\n", + " \"2027-01-01.2028-12-31\": 1800,\n", + " \"2029-01-01.2031-12-31\": 1900,\n", + " \"2032-01-01.2033-12-31\": 2000,\n", + " \"2034-01-01.2100-12-31\": 2100\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217900,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.agi_rate\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.phase_in.threshold\": {\n", + " \"2026-01-01.2100-12-31\": 2500\n", + " },\n", + " \"gov.irs.deductions.qbi.max.business_property.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.025\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SURVIVING_SPOUSE\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.deductions.standard.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2025-01-01.2025-12-31\": 24000,\n", + " \"2026-01-01.2026-12-31\": 24300,\n", + " \"2027-01-01.2027-12-31\": 24900,\n", + " \"2028-01-01.2028-12-31\": 25350,\n", + " \"2029-01-01.2029-12-31\": 24350,\n", + " \"2030-01-01.2030-12-31\": 24850,\n", + " \"2031-01-01.2031-12-31\": 25300,\n", + " \"2032-01-01.2032-12-31\": 25800,\n", + " \"2033-01-01.2033-12-31\": 26350,\n", + " \"2034-01-01.2034-12-31\": 26850,\n", + " \"2035-01-01.2100-12-31\": 27400\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927300\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2025-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93550,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719454,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 256486,\n", + " \"2027-01-01.2027-12-31\": 262806,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273621,\n", + " \"2030-01-01.2030-12-31\": 279065,\n", + " \"2031-01-01.2031-12-31\": 284584,\n", + " \"2032-01-01.2032-12-31\": 290175,\n", + " \"2033-01-01.2033-12-31\": 295914,\n", + " \"2034-01-01.2034-12-31\": 301800,\n", + " \"2035-01-01.2036-12-31\": 307759\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2025-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 15000\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " }\n", + "}, country_id=\"us\")\n", + "\n", + "\n", + "situation = {\n", + " \"people\": {\n", + " \"you\": {\n", + " \"age\": {\n", + " \"2026\": 40\n", + " },\n", + " \"real_estate_taxes\": {\n", + " \"2026\": 45000\n", + " }\n", + " }\n", + " },\n", + " \"families\": {\n", + " \"your family\": {\n", + " \"members\": [\n", + " \"you\"\n", + " ]\n", + " }\n", + " },\n", + " \"spm_units\": {\n", + " \"your household\": {\n", + " \"members\": [\n", + " \"you\"\n", + " ]\n", + " }\n", + " },\n", + " \"tax_units\": {\n", + " \"your tax unit\": {\n", + " \"members\": [\n", + " \"you\"\n", + " ]\n", + " }\n", + " },\n", + " \"households\": {\n", + " \"your household\": {\n", + " \"members\": [\n", + " \"you\"\n", + " ],\n", + " \"state_name\": {\n", + " \"2026\": \"NY\"\n", + " }\n", + " }\n", + " },\n", + " \"marital_units\": {\n", + " \"your marital unit\": {\n", + " \"members\": [\n", + " \"you\"\n", + " ]\n", + " }\n", + " },\n", + " \"axes\": [\n", + " [\n", + " {\n", + " \"name\": \"employment_income\",\n", + " \"count\": 200,\n", + " \"min\": 0,\n", + " \"max\": 1000000\n", + " }\n", + " ]\n", + " ]\n", + "}\n", + "\n", + "baseline_simulation = Simulation(reform=baseline, situation=situation)\n", + "\n", + "simulation = Simulation(\n", + " reform=reform,\n", + " situation=situation,\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "salt_cap = simulation.calculate(\"salt_cap\", 2026)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 30000. 30000. 30000. 30000. 30000.\n", + " 30000. 29524.65 28422.25 27319.838 26217.438 25115.037\n", + " 24012.63 22910.23 21807.832 20705.426 19603.025 18500.625\n", + " 17398.219 16295.818 15193.419 14091.013 12988.612 11886.213\n", + " 10783.8125 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. 10000. 10000. 10000. 10000.\n", + " 10000. 10000. ]\n" + ] + } + ], + "source": [ + "print(salt_cap)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "baseline_salt_cap = baseline_simulation.calculate(\"salt_cap\", 2026)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n", + " inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n", + " inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n", + " inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n", + " inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n", + " inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n", + " inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n", + " inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n", + " inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n", + " inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n", + " inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n", + " inf inf]\n" + ] + } + ], + "source": [ + "print(baseline_salt_cap)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pe", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/us/reconciliation/salt_to_jct_salt_cap.ipynb b/us/reconciliation/salt_to_jct_salt_cap.ipynb new file mode 100644 index 0000000..d95aac1 --- /dev/null +++ b/us/reconciliation/salt_to_jct_salt_cap.ipynb @@ -0,0 +1,6256 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/pavelmakarchuk/anaconda3/envs/pe/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import plotly.graph_objects as go\n", + "from policyengine_us import Simulation\n", + "from policyengine_core.reforms import Reform\n", + "from policyengine_core.charts import format_fig" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "\n", + "baseline = Reform.from_dict({\n", + " \"gov.irs.income.bracket.rates.2\": {\n", + " \"2026-01-01.2100-12-31\": 0.12\n", + " },\n", + " \"gov.irs.income.bracket.rates.3\": {\n", + " \"2026-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.bracket.rates.4\": {\n", + " \"2026-01-01.2100-12-31\": 0.24\n", + " },\n", + " \"gov.irs.income.bracket.rates.5\": {\n", + " \"2026-01-01.2100-12-31\": 0.32\n", + " },\n", + " \"gov.irs.income.bracket.rates.7\": {\n", + " \"2026-01-01.2100-12-31\": 0.37\n", + " },\n", + " \"gov.irs.deductions.qbi.max.rate\": {\n", + " \"2025-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.exemption.amount\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.itemized.misc.applies\": {\n", + " \"2026-01-01.2100-12-31\": False\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.5\n", + " },\n", + " \"gov.irs.deductions.standard.amount.JOINT\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.contrib.reconciliation.qbid.in_effect\": {\n", + " \"2026-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.irs.credits.ctc.amount.base[0].amount\": {\n", + " \"2025-01-01.2028-12-31\": 2500,\n", + " \"2029-01-01.2030-12-31\": 2200,\n", + " \"2031-01-01.2033-12-31\": 2300,\n", + " \"2034-01-01.2100-12-31\": 2400\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SINGLE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927250\n", + " },\n", + " \"gov.irs.credits.ctc.amount.adult_dependent\": {\n", + " \"2026-01-01.2100-12-31\": 500\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93549,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SEPARATE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.alt_rate\": {\n", + " \"2026-01-01.2035-12-31\": 0.25\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 69547,\n", + " \"2027-01-01.2027-12-31\": 71261,\n", + " \"2028-01-01.2028-12-31\": 72737,\n", + " \"2029-01-01.2029-12-31\": 74193,\n", + " \"2030-01-01.2030-12-31\": 75670,\n", + " \"2031-01-01.2031-12-31\": 77166,\n", + " \"2032-01-01.2032-12-31\": 78682,\n", + " \"2033-01-01.2033-12-31\": 80238,\n", + " \"2034-01-01.2034-12-31\": 81834,\n", + " \"2035-01-01.2036-12-31\": 83450\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 386350,\n", + " \"2027-01-01.2027-12-31\": 395900,\n", + " \"2028-01-01.2028-12-31\": 404100,\n", + " \"2029-01-01.2029-12-31\": 412200,\n", + " \"2030-01-01.2030-12-31\": 420400,\n", + " \"2031-01-01.2031-12-31\": 428700,\n", + " \"2032-01-01.2032-12-31\": 437100,\n", + " \"2033-01-01.2033-12-31\": 445750,\n", + " \"2034-01-01.2034-12-31\": 454650,\n", + " \"2035-01-01.2036-12-31\": 463600\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.individual_max\": {\n", + " \"2026-01-01.2026-12-31\": 1700,\n", + " \"2027-01-01.2028-12-31\": 1800,\n", + " \"2029-01-01.2031-12-31\": 1900,\n", + " \"2032-01-01.2033-12-31\": 2000,\n", + " \"2034-01-01.2100-12-31\": 2100\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217900,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.agi_rate\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.phase_in.threshold\": {\n", + " \"2026-01-01.2100-12-31\": 2500\n", + " },\n", + " \"gov.irs.deductions.qbi.max.business_property.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.025\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SURVIVING_SPOUSE\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.deductions.standard.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2025-01-01.2025-12-31\": 24000,\n", + " \"2026-01-01.2026-12-31\": 24300,\n", + " \"2027-01-01.2027-12-31\": 24900,\n", + " \"2028-01-01.2028-12-31\": 25350,\n", + " \"2029-01-01.2029-12-31\": 24350,\n", + " \"2030-01-01.2030-12-31\": 24850,\n", + " \"2031-01-01.2031-12-31\": 25300,\n", + " \"2032-01-01.2032-12-31\": 25800,\n", + " \"2033-01-01.2033-12-31\": 26350,\n", + " \"2034-01-01.2034-12-31\": 26850,\n", + " \"2035-01-01.2100-12-31\": 27400\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927300\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93550,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719454,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 256486,\n", + " \"2027-01-01.2027-12-31\": 262806,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273621,\n", + " \"2030-01-01.2030-12-31\": 279065,\n", + " \"2031-01-01.2031-12-31\": 284584,\n", + " \"2032-01-01.2032-12-31\": 290175,\n", + " \"2033-01-01.2033-12-31\": 295914,\n", + " \"2034-01-01.2034-12-31\": 301800,\n", + " \"2035-01-01.2036-12-31\": 307759\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " }\n", + "}, country_id=\"us\")\n", + "\n", + "reform = Reform.from_dict({\n", + " \"gov.irs.income.bracket.rates.2\": {\n", + " \"2026-01-01.2100-12-31\": 0.12\n", + " },\n", + " \"gov.irs.income.bracket.rates.3\": {\n", + " \"2026-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.bracket.rates.4\": {\n", + " \"2026-01-01.2100-12-31\": 0.24\n", + " },\n", + " \"gov.irs.income.bracket.rates.5\": {\n", + " \"2026-01-01.2100-12-31\": 0.32\n", + " },\n", + " \"gov.irs.income.bracket.rates.7\": {\n", + " \"2026-01-01.2100-12-31\": 0.37\n", + " },\n", + " \"gov.contrib.salt_phase_out.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.2\n", + " },\n", + " \"gov.irs.deductions.qbi.max.rate\": {\n", + " \"2025-01-01.2100-12-31\": 0.22\n", + " },\n", + " \"gov.irs.income.exemption.amount\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.contrib.salt_phase_out.in_effect\": {\n", + " \"2026-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.contrib.salt_phase_out.floor.applies\": {\n", + " \"2025-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.irs.deductions.itemized.misc.applies\": {\n", + " \"2026-01-01.2100-12-31\": False\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.5\n", + " },\n", + " \"gov.irs.deductions.standard.amount.JOINT\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.contrib.reconciliation.qbid.in_effect\": {\n", + " \"2026-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.irs.credits.ctc.amount.base[0].amount\": {\n", + " \"2025-01-01.2028-12-31\": 2500,\n", + " \"2029-01-01.2030-12-31\": 2200,\n", + " \"2031-01-01.2033-12-31\": 2300,\n", + " \"2034-01-01.2100-12-31\": 2400\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SINGLE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927250\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.JOINT\": {\n", + " \"2025-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.amount.adult_dependent\": {\n", + " \"2026-01-01.2100-12-31\": 500\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93549,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.SINGLE\": {\n", + " \"2025-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SEPARATE\": {\n", + " \"2025-01-01.2025-12-31\": 16000,\n", + " \"2026-01-01.2026-12-31\": 16200,\n", + " \"2027-01-01.2027-12-31\": 16600,\n", + " \"2028-01-01.2028-12-31\": 16900,\n", + " \"2029-01-01.2029-12-31\": 16200,\n", + " \"2030-01-01.2030-12-31\": 16550,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2100-12-31\": 18250\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.alt_rate\": {\n", + " \"2026-01-01.2035-12-31\": 0.25\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 69547,\n", + " \"2027-01-01.2027-12-31\": 71261,\n", + " \"2028-01-01.2028-12-31\": 72737,\n", + " \"2029-01-01.2029-12-31\": 74193,\n", + " \"2030-01-01.2030-12-31\": 75670,\n", + " \"2031-01-01.2031-12-31\": 77166,\n", + " \"2032-01-01.2032-12-31\": 78682,\n", + " \"2033-01-01.2033-12-31\": 80238,\n", + " \"2034-01-01.2034-12-31\": 81834,\n", + " \"2035-01-01.2036-12-31\": 83450\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 256450,\n", + " \"2027-01-01.2027-12-31\": 262800,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273600,\n", + " \"2030-01-01.2030-12-31\": 279050,\n", + " \"2031-01-01.2031-12-31\": 284550,\n", + " \"2032-01-01.2032-12-31\": 290150,\n", + " \"2033-01-01.2033-12-31\": 295900,\n", + " \"2034-01-01.2034-12-31\": 301750,\n", + " \"2035-01-01.2100-12-31\": 307750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 386350,\n", + " \"2027-01-01.2027-12-31\": 395900,\n", + " \"2028-01-01.2028-12-31\": 404100,\n", + " \"2029-01-01.2029-12-31\": 412200,\n", + " \"2030-01-01.2030-12-31\": 420400,\n", + " \"2031-01-01.2031-12-31\": 428700,\n", + " \"2032-01-01.2032-12-31\": 437100,\n", + " \"2033-01-01.2033-12-31\": 445750,\n", + " \"2034-01-01.2034-12-31\": 454650,\n", + " \"2035-01-01.2036-12-31\": 463600\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.SEPARATE\": {\n", + " \"2025-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.individual_max\": {\n", + " \"2026-01-01.2026-12-31\": 1700,\n", + " \"2027-01-01.2028-12-31\": 1800,\n", + " \"2029-01-01.2031-12-31\": 1900,\n", + " \"2032-01-01.2033-12-31\": 2000,\n", + " \"2034-01-01.2100-12-31\": 2100\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217900,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.agi_rate\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.phase_in.threshold\": {\n", + " \"2026-01-01.2100-12-31\": 2500\n", + " },\n", + " \"gov.irs.deductions.qbi.max.business_property.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.025\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SURVIVING_SPOUSE\": {\n", + " \"2025-01-01.2025-12-31\": 32000,\n", + " \"2026-01-01.2026-12-31\": 32400,\n", + " \"2027-01-01.2027-12-31\": 33200,\n", + " \"2028-01-01.2028-12-31\": 33800,\n", + " \"2029-01-01.2029-12-31\": 32400,\n", + " \"2030-01-01.2030-12-31\": 33100,\n", + " \"2031-01-01.2031-12-31\": 33700,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35100,\n", + " \"2034-01-01.2034-12-31\": 35800,\n", + " \"2035-01-01.2100-12-31\": 36500\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.deductions.standard.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2025-01-01.2025-12-31\": 24000,\n", + " \"2026-01-01.2026-12-31\": 24300,\n", + " \"2027-01-01.2027-12-31\": 24900,\n", + " \"2028-01-01.2028-12-31\": 25350,\n", + " \"2029-01-01.2029-12-31\": 24350,\n", + " \"2030-01-01.2030-12-31\": 24850,\n", + " \"2031-01-01.2031-12-31\": 25300,\n", + " \"2032-01-01.2032-12-31\": 25800,\n", + " \"2033-01-01.2033-12-31\": 26350,\n", + " \"2034-01-01.2034-12-31\": 26850,\n", + " \"2035-01-01.2100-12-31\": 27400\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 139094,\n", + " \"2027-01-01.2027-12-31\": 142522,\n", + " \"2028-01-01.2028-12-31\": 145474,\n", + " \"2029-01-01.2029-12-31\": 148387,\n", + " \"2030-01-01.2030-12-31\": 151339,\n", + " \"2031-01-01.2031-12-31\": 154332,\n", + " \"2032-01-01.2032-12-31\": 157364,\n", + " \"2033-01-01.2033-12-31\": 160477,\n", + " \"2034-01-01.2034-12-31\": 163668,\n", + " \"2035-01-01.2036-12-31\": 166900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 208300,\n", + " \"2027-01-01.2027-12-31\": 213400,\n", + " \"2028-01-01.2028-12-31\": 217850,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226650,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235650,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2036-12-31\": 249950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 397650,\n", + " \"2027-01-01.2027-12-31\": 407450,\n", + " \"2028-01-01.2028-12-31\": 415900,\n", + " \"2029-01-01.2029-12-31\": 424250,\n", + " \"2030-01-01.2030-12-31\": 432700,\n", + " \"2031-01-01.2031-12-31\": 441250,\n", + " \"2032-01-01.2032-12-31\": 449900,\n", + " \"2033-01-01.2033-12-31\": 458800,\n", + " \"2034-01-01.2034-12-31\": 467950,\n", + " \"2035-01-01.2036-12-31\": 477150\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 512950,\n", + " \"2027-01-01.2027-12-31\": 525600,\n", + " \"2028-01-01.2028-12-31\": 536500,\n", + " \"2029-01-01.2029-12-31\": 547200,\n", + " \"2030-01-01.2030-12-31\": 558100,\n", + " \"2031-01-01.2031-12-31\": 569150,\n", + " \"2032-01-01.2032-12-31\": 580350,\n", + " \"2033-01-01.2033-12-31\": 591800,\n", + " \"2034-01-01.2034-12-31\": 603550,\n", + " \"2035-01-01.2037-12-31\": 615500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 772750,\n", + " \"2027-01-01.2027-12-31\": 791800,\n", + " \"2028-01-01.2028-12-31\": 808200,\n", + " \"2029-01-01.2029-12-31\": 824400,\n", + " \"2030-01-01.2030-12-31\": 840800,\n", + " \"2031-01-01.2031-12-31\": 857400,\n", + " \"2032-01-01.2032-12-31\": 874250,\n", + " \"2033-01-01.2033-12-31\": 891550,\n", + " \"2034-01-01.2034-12-31\": 909300,\n", + " \"2035-01-01.2036-12-31\": 927300\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2025-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 89447,\n", + " \"2027-01-01.2027-12-31\": 91651,\n", + " \"2028-01-01.2028-12-31\": 93550,\n", + " \"2029-01-01.2029-12-31\": 95423,\n", + " \"2030-01-01.2030-12-31\": 97321,\n", + " \"2031-01-01.2031-12-31\": 99246,\n", + " \"2032-01-01.2032-12-31\": 101196,\n", + " \"2033-01-01.2033-12-31\": 103197,\n", + " \"2034-01-01.2034-12-31\": 105250,\n", + " \"2035-01-01.2036-12-31\": 107328\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719454,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 104900,\n", + " \"2027-01-01.2027-12-31\": 107500,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111900,\n", + " \"2030-01-01.2030-12-31\": 114150,\n", + " \"2031-01-01.2031-12-31\": 116400,\n", + " \"2032-01-01.2032-12-31\": 118700,\n", + " \"2033-01-01.2033-12-31\": 121050,\n", + " \"2034-01-01.2034-12-31\": 123450,\n", + " \"2035-01-01.2036-12-31\": 125900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 198800,\n", + " \"2027-01-01.2027-12-31\": 203700,\n", + " \"2028-01-01.2028-12-31\": 207950,\n", + " \"2029-01-01.2029-12-31\": 212100,\n", + " \"2030-01-01.2030-12-31\": 216350,\n", + " \"2031-01-01.2031-12-31\": 220600,\n", + " \"2032-01-01.2032-12-31\": 224950,\n", + " \"2033-01-01.2033-12-31\": 229400,\n", + " \"2034-01-01.2034-12-31\": 233950,\n", + " \"2035-01-01.2036-12-31\": 238550\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 256486,\n", + " \"2027-01-01.2027-12-31\": 262806,\n", + " \"2028-01-01.2028-12-31\": 268250,\n", + " \"2029-01-01.2029-12-31\": 273621,\n", + " \"2030-01-01.2030-12-31\": 279065,\n", + " \"2031-01-01.2031-12-31\": 284584,\n", + " \"2032-01-01.2032-12-31\": 290175,\n", + " \"2033-01-01.2033-12-31\": 295914,\n", + " \"2034-01-01.2034-12-31\": 301800,\n", + " \"2035-01-01.2036-12-31\": 307759\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 643950,\n", + " \"2027-01-01.2027-12-31\": 659800,\n", + " \"2028-01-01.2028-12-31\": 673500,\n", + " \"2029-01-01.2029-12-31\": 687000,\n", + " \"2030-01-01.2030-12-31\": 700650,\n", + " \"2031-01-01.2031-12-31\": 714500,\n", + " \"2032-01-01.2032-12-31\": 728550,\n", + " \"2033-01-01.2033-12-31\": 742950,\n", + " \"2034-01-01.2034-12-31\": 757750,\n", + " \"2035-01-01.2036-12-31\": 772700\n", + " },\n", + " \"gov.contrib.salt_phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2025-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 400600,\n", + " \"2027-01-01.2027-12-31\": 410500,\n", + " \"2028-01-01.2028-12-31\": 419000,\n", + " \"2029-01-01.2029-12-31\": 427350,\n", + " \"2030-01-01.2030-12-31\": 435900,\n", + " \"2031-01-01.2031-12-31\": 444500,\n", + " \"2032-01-01.2032-12-31\": 453250,\n", + " \"2033-01-01.2033-12-31\": 462200,\n", + " \"2034-01-01.2034-12-31\": 471400,\n", + " \"2035-01-01.2036-12-31\": 480700\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 200300,\n", + " \"2027-01-01.2027-12-31\": 205250,\n", + " \"2028-01-01.2028-12-31\": 209500,\n", + " \"2029-01-01.2029-12-31\": 213650,\n", + " \"2030-01-01.2030-12-31\": 217950,\n", + " \"2031-01-01.2031-12-31\": 222250,\n", + " \"2032-01-01.2032-12-31\": 226600,\n", + " \"2033-01-01.2033-12-31\": 231100,\n", + " \"2034-01-01.2034-12-31\": 235700,\n", + " \"2035-01-01.2036-12-31\": 240350\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 15000\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 1271850,\n", + " \"2027-01-01.2027-12-31\": 1303189,\n", + " \"2028-01-01.2028-12-31\": 1330187,\n", + " \"2029-01-01.2029-12-31\": 1356820,\n", + " \"2030-01-01.2030-12-31\": 1383817,\n", + " \"2031-01-01.2031-12-31\": 1411180,\n", + " \"2032-01-01.2032-12-31\": 1438907,\n", + " \"2033-01-01.2033-12-31\": 1467364,\n", + " \"2034-01-01.2034-12-31\": 1496551,\n", + " \"2035-01-01.2036-12-31\": 1526103\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 635925,\n", + " \"2027-01-01.2027-12-31\": 651594,\n", + " \"2028-01-01.2028-12-31\": 665093,\n", + " \"2029-01-01.2029-12-31\": 678410,\n", + " \"2030-01-01.2030-12-31\": 691909,\n", + " \"2031-01-01.2031-12-31\": 705599,\n", + " \"2032-01-01.2032-12-31\": 719455,\n", + " \"2033-01-01.2033-12-31\": 733682,\n", + " \"2034-01-01.2034-12-31\": 748276,\n", + " \"2035-01-01.2036-12-31\": 763051\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 30000\n", + " }\n", + "}, country_id=\"us\")\n", + "\n", + "\n", + "situation = {\n", + " \"people\": {\n", + " \"you\": {\n", + " \"age\": {\n", + " \"2026\": 40\n", + " },\n", + " \"real_estate_taxes\": {\n", + " \"2026\": 45000\n", + " }\n", + " }\n", + " },\n", + " \"families\": {\n", + " \"your family\": {\n", + " \"members\": [\n", + " \"you\"\n", + " ]\n", + " }\n", + " },\n", + " \"spm_units\": {\n", + " \"your household\": {\n", + " \"members\": [\n", + " \"you\"\n", + " ]\n", + " }\n", + " },\n", + " \"tax_units\": {\n", + " \"your tax unit\": {\n", + " \"members\": [\n", + " \"you\"\n", + " ]\n", + " }\n", + " },\n", + " \"households\": {\n", + " \"your household\": {\n", + " \"members\": [\n", + " \"you\"\n", + " ],\n", + " \"state_name\": {\n", + " \"2026\": \"NY\"\n", + " }\n", + " }\n", + " },\n", + " \"marital_units\": {\n", + " \"your marital unit\": {\n", + " \"members\": [\n", + " \"you\"\n", + " ]\n", + " }\n", + " },\n", + " \"axes\": [\n", + " [\n", + " {\n", + " \"name\": \"employment_income\",\n", + " \"count\": 2000,\n", + " \"min\": 0,\n", + " \"max\": 1000000\n", + " }\n", + " ]\n", + " ]\n", + "}\n", + "\n", + "simulation = Simulation(\n", + " reform=reform,\n", + " situation=situation,\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "salt_cap = simulation.calculate(\"salt_cap\", map_to = \"household\", period = 2026)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[30000. 30000. 30000. ... 10000. 10000. 10000.]\n" + ] + } + ], + "source": [ + "print(salt_cap)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "employment_income = simulation.calculate(\"employment_income\", map_to = \"household\", period = 2026)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "line": { + "color": "#4d94ff", + "dash": "solid" + }, + "mode": "lines", + "name": "Reform salt cap", + "type": "scatter", + "x": [ + 0, + 548.7194213867188, + 1097.4388427734375, + 1646.158203125, + 2194.877685546875, + 2743.59716796875, + 3292.31640625, + 3841.035888671875, + 4389.75537109375, + 4938.474609375, + 5487.1943359375, + 6035.91357421875, + 6584.6328125, + 7133.35205078125, + 7682.07177734375, + 8230.791015625, + 8779.5107421875, + 9328.2294921875, + 9876.94921875, + 10425.66796875, + 10974.388671875, + 11523.107421875, + 12071.8271484375, + 12620.546875, + 13169.265625, + 13717.9853515625, + 14266.7041015625, + 14815.423828125, + 15364.1435546875, + 15912.86328125, + 16461.58203125, + 17010.30078125, + 17559.021484375, + 18107.740234375, + 18656.458984375, + 19205.177734375, + 19753.8984375, + 20302.6171875, + 20851.3359375, + 21400.056640625, + 21948.77734375, + 22497.49609375, + 23046.21484375, + 23594.935546875, + 24143.654296875, + 24692.373046875, + 25241.09375, + 25789.8125, + 26338.53125, + 26887.25, + 27435.970703125, + 27984.689453125, + 28533.408203125, + 29082.126953125, + 29630.84765625, + 30179.568359375, + 30728.287109375, + 31277.0078125, + 31825.7265625, + 32374.4453125, + 32923.1640625, + 33471.8828125, + 34020.6015625, + 34569.32421875, + 35118.04296875, + 35666.76171875, + 36215.48046875, + 36764.19921875, + 37312.91796875, + 37861.63671875, + 38410.35546875, + 38959.078125, + 39507.796875, + 40056.515625, + 40605.234375, + 41153.953125, + 41702.671875, + 42251.390625, + 42800.11328125, + 43348.8359375, + 43897.5546875, + 44446.2734375, + 44994.9921875, + 45543.7109375, + 46092.4296875, + 46641.15234375, + 47189.87109375, + 47738.58984375, + 48287.30859375, + 48836.02734375, + 49384.74609375, + 49933.46484375, + 50482.1875, + 51030.90625, + 51579.625, + 52128.34375, + 52677.0625, + 53225.78125, + 53774.5, + 54323.21875, + 54871.94140625, + 55420.66015625, + 55969.37890625, + 56518.09765625, + 57066.81640625, + 57615.53515625, + 58164.25390625, + 58712.97265625, + 59261.6953125, + 59810.4140625, + 60359.13671875, + 60907.85546875, + 61456.57421875, + 62005.29296875, + 62554.015625, + 63102.734375, + 63651.453125, + 64200.171875, + 64748.890625, + 65297.609375, + 65846.328125, + 66395.046875, + 66943.765625, + 67492.484375, + 68041.203125, + 68589.921875, + 69138.6484375, + 69687.3671875, + 70236.0859375, + 70784.8046875, + 71333.5234375, + 71882.2421875, + 72430.9609375, + 72979.6796875, + 73528.3984375, + 74077.1171875, + 74625.8359375, + 75174.5546875, + 75723.2734375, + 76271.9921875, + 76820.7109375, + 77369.4375, + 77918.15625, + 78466.875, + 79015.59375, + 79564.3125, + 80113.03125, + 80661.75, + 81210.46875, + 81759.1875, + 82307.90625, + 82856.625, + 83405.34375, + 83954.0625, + 84502.78125, + 85051.5, + 85600.2265625, + 86148.953125, + 86697.671875, + 87246.390625, + 87795.109375, + 88343.828125, + 88892.546875, + 89441.265625, + 89989.984375, + 90538.703125, + 91087.421875, + 91636.140625, + 92184.859375, + 92733.5859375, + 93282.3046875, + 93831.0234375, + 94379.7421875, + 94928.4609375, + 95477.1796875, + 96025.8984375, + 96574.6171875, + 97123.3359375, + 97672.0546875, + 98220.7734375, + 98769.4921875, + 99318.2109375, + 99866.9296875, + 100415.6484375, + 100964.375, + 101513.09375, + 102061.8125, + 102610.53125, + 103159.25, + 103707.96875, + 104256.6875, + 104805.40625, + 105354.125, + 105902.84375, + 106451.5625, + 107000.28125, + 107549, + 108097.71875, + 108646.4375, + 109195.15625, + 109743.8828125, + 110292.6015625, + 110841.3203125, + 111390.0390625, + 111938.7578125, + 112487.4765625, + 113036.1953125, + 113584.9140625, + 114133.6328125, + 114682.3515625, + 115231.0703125, + 115779.7890625, + 116328.5078125, + 116877.2265625, + 117425.9453125, + 117974.671875, + 118523.390625, + 119072.109375, + 119620.828125, + 120169.5546875, + 120718.2734375, + 121266.9921875, + 121815.7109375, + 122364.4296875, + 122913.1484375, + 123461.8671875, + 124010.5859375, + 124559.3046875, + 125108.03125, + 125656.75, + 126205.46875, + 126754.1875, + 127302.90625, + 127851.625, + 128400.34375, + 128949.0625, + 129497.78125, + 130046.5, + 130595.21875, + 131143.9375, + 131692.65625, + 132241.375, + 132790.09375, + 133338.8125, + 133887.53125, + 134436.25, + 134984.96875, + 135533.6875, + 136082.40625, + 136631.125, + 137179.84375, + 137728.578125, + 138277.296875, + 138826.015625, + 139374.734375, + 139923.453125, + 140472.171875, + 141020.890625, + 141569.609375, + 142118.328125, + 142667.046875, + 143215.765625, + 143764.484375, + 144313.203125, + 144861.921875, + 145410.640625, + 145959.359375, + 146508.078125, + 147056.796875, + 147605.515625, + 148154.234375, + 148702.953125, + 149251.671875, + 149800.390625, + 150349.109375, + 150897.828125, + 151446.546875, + 151995.265625, + 152543.984375, + 153092.703125, + 153641.421875, + 154190.15625, + 154738.875, + 155287.59375, + 155836.3125, + 156385.03125, + 156933.75, + 157482.46875, + 158031.1875, + 158579.90625, + 159128.625, + 159677.34375, + 160226.0625, + 160774.78125, + 161323.5, + 161872.21875, + 162420.9375, + 162969.65625, + 163518.375, + 164067.09375, + 164615.8125, + 165164.53125, + 165713.25, + 166261.96875, + 166810.6875, + 167359.40625, + 167908.125, + 168456.84375, + 169005.5625, + 169554.28125, + 170103, + 170651.734375, + 171200.453125, + 171749.1875, + 172297.90625, + 172846.625, + 173395.34375, + 173944.0625, + 174492.78125, + 175041.5, + 175590.21875, + 176138.9375, + 176687.65625, + 177236.375, + 177785.09375, + 178333.8125, + 178882.53125, + 179431.25, + 179979.96875, + 180528.6875, + 181077.40625, + 181626.125, + 182174.84375, + 182723.5625, + 183272.28125, + 183821, + 184369.71875, + 184918.4375, + 185467.171875, + 186015.890625, + 186564.609375, + 187113.328125, + 187662.046875, + 188210.765625, + 188759.484375, + 189308.203125, + 189856.921875, + 190405.640625, + 190954.359375, + 191503.078125, + 192051.796875, + 192600.515625, + 193149.234375, + 193697.953125, + 194246.671875, + 194795.390625, + 195344.109375, + 195892.828125, + 196441.546875, + 196990.265625, + 197538.984375, + 198087.703125, + 198636.421875, + 199185.140625, + 199733.859375, + 200282.578125, + 200831.296875, + 201380.015625, + 201928.75, + 202477.46875, + 203026.1875, + 203574.90625, + 204123.625, + 204672.34375, + 205221.0625, + 205769.78125, + 206318.5, + 206867.21875, + 207415.9375, + 207964.65625, + 208513.375, + 209062.09375, + 209610.8125, + 210159.53125, + 210708.25, + 211256.96875, + 211805.6875, + 212354.40625, + 212903.125, + 213451.84375, + 214000.5625, + 214549.28125, + 215098, + 215646.71875, + 216195.4375, + 216744.15625, + 217292.875, + 217841.59375, + 218390.3125, + 218939.046875, + 219487.765625, + 220036.484375, + 220585.203125, + 221133.921875, + 221682.640625, + 222231.359375, + 222780.078125, + 223328.796875, + 223877.515625, + 224426.234375, + 224974.953125, + 225523.671875, + 226072.390625, + 226621.109375, + 227169.828125, + 227718.546875, + 228267.265625, + 228815.984375, + 229364.703125, + 229913.421875, + 230462.140625, + 231010.859375, + 231559.578125, + 232108.296875, + 232657.015625, + 233205.734375, + 233754.453125, + 234303.171875, + 234851.890625, + 235400.625, + 235949.34375, + 236498.0625, + 237046.78125, + 237595.5, + 238144.21875, + 238692.9375, + 239241.65625, + 239790.375, + 240339.109375, + 240887.828125, + 241436.546875, + 241985.265625, + 242533.984375, + 243082.703125, + 243631.421875, + 244180.140625, + 244728.859375, + 245277.578125, + 245826.296875, + 246375.015625, + 246923.734375, + 247472.453125, + 248021.171875, + 248569.890625, + 249118.609375, + 249667.328125, + 250216.0625, + 250764.78125, + 251313.5, + 251862.21875, + 252410.9375, + 252959.65625, + 253508.375, + 254057.09375, + 254605.8125, + 255154.53125, + 255703.25, + 256251.96875, + 256800.6875, + 257349.40625, + 257898.125, + 258446.84375, + 258995.5625, + 259544.28125, + 260093, + 260641.71875, + 261190.4375, + 261739.15625, + 262287.875, + 262836.59375, + 263385.3125, + 263934.03125, + 264482.75, + 265031.46875, + 265580.1875, + 266128.90625, + 266677.625, + 267226.34375, + 267775.0625, + 268323.78125, + 268872.5, + 269421.21875, + 269969.9375, + 270518.65625, + 271067.375, + 271616.09375, + 272164.8125, + 272713.53125, + 273262.25, + 273810.96875, + 274359.6875, + 274908.4375, + 275457.15625, + 276005.875, + 276554.59375, + 277103.3125, + 277652.03125, + 278200.75, + 278749.46875, + 279298.1875, + 279846.90625, + 280395.625, + 280944.34375, + 281493.0625, + 282041.78125, + 282590.5, + 283139.21875, + 283687.9375, + 284236.65625, + 284785.375, + 285334.09375, + 285882.8125, + 286431.53125, + 286980.25, + 287528.96875, + 288077.6875, + 288626.40625, + 289175.125, + 289723.84375, + 290272.5625, + 290821.28125, + 291370, + 291918.71875, + 292467.4375, + 293016.15625, + 293564.875, + 294113.59375, + 294662.3125, + 295211.03125, + 295759.75, + 296308.46875, + 296857.1875, + 297405.90625, + 297954.625, + 298503.34375, + 299052.0625, + 299600.78125, + 300149.5, + 300698.21875, + 301246.9375, + 301795.65625, + 302344.375, + 302893.09375, + 303441.8125, + 303990.53125, + 304539.25, + 305087.96875, + 305636.6875, + 306185.40625, + 306734.125, + 307282.84375, + 307831.59375, + 308380.3125, + 308929.03125, + 309477.75, + 310026.46875, + 310575.1875, + 311123.90625, + 311672.625, + 312221.34375, + 312770.0625, + 313318.78125, + 313867.5, + 314416.21875, + 314964.9375, + 315513.65625, + 316062.375, + 316611.09375, + 317159.8125, + 317708.53125, + 318257.25, + 318805.96875, + 319354.6875, + 319903.40625, + 320452.125, + 321000.84375, + 321549.5625, + 322098.28125, + 322647, + 323195.71875, + 323744.4375, + 324293.15625, + 324841.875, + 325390.59375, + 325939.3125, + 326488.03125, + 327036.75, + 327585.46875, + 328134.1875, + 328682.90625, + 329231.625, + 329780.34375, + 330329.0625, + 330877.78125, + 331426.5, + 331975.21875, + 332523.9375, + 333072.65625, + 333621.375, + 334170.09375, + 334718.8125, + 335267.53125, + 335816.25, + 336364.96875, + 336913.6875, + 337462.40625, + 338011.125, + 338559.84375, + 339108.5625, + 339657.28125, + 340206, + 340754.71875, + 341303.46875, + 341852.1875, + 342400.90625, + 342949.65625, + 343498.375, + 344047.09375, + 344595.8125, + 345144.53125, + 345693.25, + 346241.96875, + 346790.6875, + 347339.40625, + 347888.125, + 348436.84375, + 348985.5625, + 349534.28125, + 350083, + 350631.71875, + 351180.4375, + 351729.15625, + 352277.875, + 352826.59375, + 353375.3125, + 353924.03125, + 354472.75, + 355021.46875, + 355570.1875, + 356118.90625, + 356667.625, + 357216.34375, + 357765.0625, + 358313.78125, + 358862.5, + 359411.21875, + 359959.9375, + 360508.65625, + 361057.375, + 361606.09375, + 362154.8125, + 362703.53125, + 363252.25, + 363800.96875, + 364349.6875, + 364898.40625, + 365447.125, + 365995.84375, + 366544.5625, + 367093.28125, + 367642, + 368190.71875, + 368739.4375, + 369288.15625, + 369836.875, + 370385.59375, + 370934.34375, + 371483.0625, + 372031.78125, + 372580.5, + 373129.21875, + 373677.9375, + 374226.65625, + 374775.375, + 375324.09375, + 375872.8125, + 376421.53125, + 376970.25, + 377518.96875, + 378067.6875, + 378616.40625, + 379165.125, + 379713.84375, + 380262.5625, + 380811.28125, + 381360, + 381908.71875, + 382457.4375, + 383006.15625, + 383554.875, + 384103.59375, + 384652.3125, + 385201.03125, + 385749.75, + 386298.46875, + 386847.1875, + 387395.90625, + 387944.625, + 388493.34375, + 389042.0625, + 389590.78125, + 390139.5, + 390688.21875, + 391236.9375, + 391785.65625, + 392334.375, + 392883.09375, + 393431.8125, + 393980.53125, + 394529.25, + 395077.96875, + 395626.6875, + 396175.40625, + 396724.125, + 397272.84375, + 397821.5625, + 398370.28125, + 398919, + 399467.71875, + 400016.4375, + 400565.15625, + 401113.875, + 401662.59375, + 402211.3125, + 402760.03125, + 403308.75, + 403857.5, + 404406.21875, + 404954.9375, + 405503.65625, + 406052.375, + 406601.09375, + 407149.8125, + 407698.53125, + 408247.25, + 408795.96875, + 409344.6875, + 409893.40625, + 410442.125, + 410990.84375, + 411539.5625, + 412088.28125, + 412637, + 413185.71875, + 413734.4375, + 414283.15625, + 414831.875, + 415380.59375, + 415929.3125, + 416478.03125, + 417026.75, + 417575.46875, + 418124.1875, + 418672.90625, + 419221.625, + 419770.34375, + 420319.0625, + 420867.78125, + 421416.5, + 421965.21875, + 422513.9375, + 423062.65625, + 423611.375, + 424160.09375, + 424708.8125, + 425257.53125, + 425806.25, + 426354.96875, + 426903.6875, + 427452.40625, + 428001.125, + 428549.84375, + 429098.5625, + 429647.28125, + 430196, + 430744.71875, + 431293.4375, + 431842.15625, + 432390.875, + 432939.59375, + 433488.3125, + 434037.03125, + 434585.75, + 435134.46875, + 435683.1875, + 436231.90625, + 436780.625, + 437329.375, + 437878.09375, + 438426.8125, + 438975.53125, + 439524.25, + 440072.96875, + 440621.6875, + 441170.40625, + 441719.125, + 442267.84375, + 442816.5625, + 443365.28125, + 443914, + 444462.71875, + 445011.4375, + 445560.15625, + 446108.875, + 446657.59375, + 447206.3125, + 447755.03125, + 448303.75, + 448852.46875, + 449401.1875, + 449949.90625, + 450498.625, + 451047.34375, + 451596.0625, + 452144.78125, + 452693.5, + 453242.21875, + 453790.9375, + 454339.65625, + 454888.375, + 455437.09375, + 455985.8125, + 456534.53125, + 457083.25, + 457631.96875, + 458180.6875, + 458729.40625, + 459278.125, + 459826.84375, + 460375.5625, + 460924.28125, + 461473, + 462021.71875, + 462570.4375, + 463119.15625, + 463667.875, + 464216.59375, + 464765.3125, + 465314.03125, + 465862.75, + 466411.46875, + 466960.1875, + 467508.90625, + 468057.625, + 468606.34375, + 469155.0625, + 469703.78125, + 470252.53125, + 470801.25, + 471349.96875, + 471898.6875, + 472447.40625, + 472996.125, + 473544.84375, + 474093.5625, + 474642.28125, + 475191, + 475739.71875, + 476288.4375, + 476837.15625, + 477385.875, + 477934.59375, + 478483.3125, + 479032.03125, + 479580.75, + 480129.5, + 480678.21875, + 481226.9375, + 481775.65625, + 482324.375, + 482873.09375, + 483421.8125, + 483970.53125, + 484519.25, + 485067.96875, + 485616.6875, + 486165.40625, + 486714.125, + 487262.84375, + 487811.5625, + 488360.28125, + 488909, + 489457.71875, + 490006.4375, + 490555.15625, + 491103.875, + 491652.59375, + 492201.3125, + 492750.03125, + 493298.75, + 493847.46875, + 494396.1875, + 494944.90625, + 495493.625, + 496042.34375, + 496591.0625, + 497139.78125, + 497688.5, + 498237.21875, + 498785.9375, + 499334.65625, + 499883.40625, + 500432.125, + 500980.84375, + 501529.5625, + 502078.28125, + 502627, + 503175.71875, + 503724.4375, + 504273.15625, + 504821.875, + 505370.59375, + 505919.3125, + 506468.03125, + 507016.75, + 507565.46875, + 508114.1875, + 508662.90625, + 509211.625, + 509760.34375, + 510309.0625, + 510857.78125, + 511406.5, + 511955.21875, + 512503.9375, + 513052.65625, + 513601.375, + 514150.09375, + 514698.8125, + 515247.53125, + 515796.25, + 516344.96875, + 516893.6875, + 517442.40625, + 517991.125, + 518539.84375, + 519088.5625, + 519637.28125, + 520186, + 520734.71875, + 521283.4375, + 521832.15625, + 522380.875, + 522929.59375, + 523478.3125, + 524027.03125, + 524575.75, + 525124.5, + 525673.1875, + 526221.9375, + 526770.625, + 527319.375, + 527868.0625, + 528416.8125, + 528965.5, + 529514.25, + 530062.9375, + 530611.6875, + 531160.375, + 531709.125, + 532257.8125, + 532806.5625, + 533355.25, + 533904, + 534452.6875, + 535001.4375, + 535550.125, + 536098.875, + 536647.5625, + 537196.3125, + 537745, + 538293.75, + 538842.4375, + 539391.1875, + 539939.875, + 540488.625, + 541037.3125, + 541586.0625, + 542134.75, + 542683.5, + 543232.1875, + 543780.9375, + 544329.625, + 544878.375, + 545427.0625, + 545975.8125, + 546524.5, + 547073.25, + 547621.9375, + 548170.6875, + 548719.375, + 549268.125, + 549816.875, + 550365.5625, + 550914.3125, + 551463, + 552011.75, + 552560.4375, + 553109.1875, + 553657.875, + 554206.625, + 554755.3125, + 555304.0625, + 555852.75, + 556401.5, + 556950.1875, + 557498.9375, + 558047.625, + 558596.375, + 559145.0625, + 559693.8125, + 560242.5, + 560791.25, + 561339.9375, + 561888.6875, + 562437.375, + 562986.125, + 563534.8125, + 564083.5625, + 564632.25, + 565181, + 565729.6875, + 566278.4375, + 566827.125, + 567375.875, + 567924.5625, + 568473.3125, + 569022, + 569570.75, + 570119.4375, + 570668.1875, + 571216.875, + 571765.625, + 572314.3125, + 572863.0625, + 573411.75, + 573960.5, + 574509.1875, + 575057.9375, + 575606.625, + 576155.375, + 576704.0625, + 577252.8125, + 577801.5, + 578350.25, + 578898.9375, + 579447.6875, + 579996.375, + 580545.125, + 581093.8125, + 581642.5625, + 582191.25, + 582740, + 583288.75, + 583837.4375, + 584386.1875, + 584934.875, + 585483.625, + 586032.3125, + 586581.0625, + 587129.75, + 587678.5, + 588227.1875, + 588775.9375, + 589324.625, + 589873.375, + 590422.0625, + 590970.8125, + 591519.5, + 592068.25, + 592616.9375, + 593165.6875, + 593714.375, + 594263.125, + 594811.8125, + 595360.5625, + 595909.25, + 596458, + 597006.6875, + 597555.4375, + 598104.125, + 598652.875, + 599201.5625, + 599750.3125, + 600299, + 600847.75, + 601396.4375, + 601945.1875, + 602493.875, + 603042.625, + 603591.3125, + 604140.0625, + 604688.75, + 605237.5, + 605786.1875, + 606334.9375, + 606883.625, + 607432.375, + 607981.0625, + 608529.8125, + 609078.5, + 609627.25, + 610175.9375, + 610724.6875, + 611273.375, + 611822.125, + 612370.8125, + 612919.5625, + 613468.25, + 614017, + 614565.6875, + 615114.4375, + 615663.1875, + 616211.875, + 616760.625, + 617309.3125, + 617858.0625, + 618406.75, + 618955.5, + 619504.1875, + 620052.9375, + 620601.625, + 621150.375, + 621699.0625, + 622247.8125, + 622796.5, + 623345.25, + 623893.9375, + 624442.6875, + 624991.375, + 625540.125, + 626088.8125, + 626637.5625, + 627186.25, + 627735, + 628283.6875, + 628832.4375, + 629381.125, + 629929.875, + 630478.5625, + 631027.3125, + 631576, + 632124.75, + 632673.4375, + 633222.1875, + 633770.875, + 634319.625, + 634868.3125, + 635417.0625, + 635965.75, + 636514.5, + 637063.1875, + 637611.9375, + 638160.625, + 638709.375, + 639258.0625, + 639806.8125, + 640355.5, + 640904.25, + 641452.9375, + 642001.6875, + 642550.375, + 643099.125, + 643647.8125, + 644196.5625, + 644745.25, + 645294, + 645842.6875, + 646391.4375, + 646940.125, + 647488.875, + 648037.5625, + 648586.3125, + 649135.0625, + 649683.75, + 650232.5, + 650781.1875, + 651329.9375, + 651878.625, + 652427.375, + 652976.0625, + 653524.8125, + 654073.5, + 654622.25, + 655170.9375, + 655719.6875, + 656268.375, + 656817.125, + 657365.8125, + 657914.5625, + 658463.25, + 659012, + 659560.6875, + 660109.4375, + 660658.125, + 661206.875, + 661755.5625, + 662304.3125, + 662853, + 663401.75, + 663950.4375, + 664499.1875, + 665047.875, + 665596.625, + 666145.3125, + 666694.0625, + 667242.75, + 667791.5, + 668340.1875, + 668888.9375, + 669437.625, + 669986.375, + 670535.0625, + 671083.8125, + 671632.5, + 672181.25, + 672729.9375, + 673278.6875, + 673827.375, + 674376.125, + 674924.8125, + 675473.5625, + 676022.25, + 676571, + 677119.6875, + 677668.4375, + 678217.125, + 678765.875, + 679314.5625, + 679863.3125, + 680412, + 680960.75, + 681509.4375, + 682058.1875, + 682606.9375, + 683155.625, + 683704.375, + 684253.0625, + 684801.8125, + 685350.5, + 685899.3125, + 686448, + 686996.75, + 687545.4375, + 688094.1875, + 688642.875, + 689191.625, + 689740.3125, + 690289.0625, + 690837.75, + 691386.5, + 691935.1875, + 692483.9375, + 693032.625, + 693581.375, + 694130.0625, + 694678.8125, + 695227.5, + 695776.25, + 696324.9375, + 696873.6875, + 697422.375, + 697971.125, + 698519.8125, + 699068.5625, + 699617.25, + 700166, + 700714.6875, + 701263.4375, + 701812.125, + 702360.875, + 702909.5625, + 703458.3125, + 704007, + 704555.75, + 705104.4375, + 705653.1875, + 706201.875, + 706750.625, + 707299.3125, + 707848.0625, + 708396.8125, + 708945.5, + 709494.25, + 710042.9375, + 710591.6875, + 711140.375, + 711689.125, + 712237.8125, + 712786.5625, + 713335.25, + 713884, + 714432.6875, + 714981.4375, + 715530.125, + 716078.875, + 716627.5625, + 717176.3125, + 717725, + 718273.75, + 718822.4375, + 719371.1875, + 719919.875, + 720468.625, + 721017.3125, + 721566.0625, + 722114.75, + 722663.5, + 723212.1875, + 723760.9375, + 724309.625, + 724858.375, + 725407.0625, + 725955.8125, + 726504.5, + 727053.25, + 727601.9375, + 728150.6875, + 728699.375, + 729248.125, + 729796.8125, + 730345.5625, + 730894.25, + 731443, + 731991.6875, + 732540.4375, + 733089.125, + 733637.875, + 734186.5625, + 734735.3125, + 735284, + 735832.75, + 736381.4375, + 736930.1875, + 737478.875, + 738027.625, + 738576.3125, + 739125.0625, + 739673.75, + 740222.5, + 740771.1875, + 741319.9375, + 741868.6875, + 742417.375, + 742966.125, + 743514.8125, + 744063.5625, + 744612.25, + 745161, + 745709.6875, + 746258.4375, + 746807.125, + 747355.875, + 747904.5625, + 748453.3125, + 749002, + 749550.75, + 750099.4375, + 750648.1875, + 751196.875, + 751745.625, + 752294.3125, + 752843.0625, + 753391.75, + 753940.5, + 754489.1875, + 755037.9375, + 755586.625, + 756135.375, + 756684.0625, + 757232.8125, + 757781.5, + 758330.25, + 758878.9375, + 759427.6875, + 759976.375, + 760525.125, + 761073.8125, + 761622.5625, + 762171.25, + 762720, + 763268.6875, + 763817.4375, + 764366.125, + 764914.875, + 765463.5625, + 766012.3125, + 766561, + 767109.75, + 767658.4375, + 768207.1875, + 768755.875, + 769304.625, + 769853.3125, + 770402.0625, + 770950.75, + 771499.5, + 772048.1875, + 772596.9375, + 773145.625, + 773694.375, + 774243.0625, + 774791.8125, + 775340.5625, + 775889.25, + 776438, + 776986.6875, + 777535.4375, + 778084.125, + 778632.875, + 779181.5625, + 779730.3125, + 780279, + 780827.75, + 781376.4375, + 781925.1875, + 782473.875, + 783022.625, + 783571.3125, + 784120.0625, + 784668.75, + 785217.5, + 785766.1875, + 786314.9375, + 786863.625, + 787412.375, + 787961.0625, + 788509.8125, + 789058.5, + 789607.25, + 790155.9375, + 790704.6875, + 791253.375, + 791802.125, + 792350.8125, + 792899.5625, + 793448.25, + 793997, + 794545.6875, + 795094.4375, + 795643.125, + 796191.875, + 796740.5625, + 797289.3125, + 797838, + 798386.75, + 798935.4375, + 799484.1875, + 800032.875, + 800581.625, + 801130.3125, + 801679.0625, + 802227.75, + 802776.5, + 803325.1875, + 803873.9375, + 804422.625, + 804971.375, + 805520.0625, + 806068.8125, + 806617.5, + 807166.25, + 807715, + 808263.6875, + 808812.4375, + 809361.125, + 809909.875, + 810458.5625, + 811007.3125, + 811556, + 812104.75, + 812653.4375, + 813202.1875, + 813750.875, + 814299.625, + 814848.3125, + 815397.0625, + 815945.75, + 816494.5, + 817043.1875, + 817591.9375, + 818140.625, + 818689.375, + 819238.0625, + 819786.8125, + 820335.5, + 820884.25, + 821432.9375, + 821981.6875, + 822530.375, + 823079.125, + 823627.8125, + 824176.5625, + 824725.25, + 825274, + 825822.6875, + 826371.4375, + 826920.125, + 827468.875, + 828017.5625, + 828566.3125, + 829115, + 829663.75, + 830212.4375, + 830761.1875, + 831309.875, + 831858.625, + 832407.3125, + 832956.0625, + 833504.75, + 834053.5, + 834602.1875, + 835150.9375, + 835699.625, + 836248.375, + 836797.0625, + 837345.8125, + 837894.5, + 838443.25, + 838991.9375, + 839540.6875, + 840089.375, + 840638.125, + 841186.875, + 841735.5625, + 842284.3125, + 842833, + 843381.75, + 843930.4375, + 844479.1875, + 845027.875, + 845576.625, + 846125.3125, + 846674.0625, + 847222.75, + 847771.5, + 848320.1875, + 848868.9375, + 849417.625, + 849966.375, + 850515.0625, + 851063.8125, + 851612.5, + 852161.25, + 852709.9375, + 853258.6875, + 853807.375, + 854356.125, + 854904.8125, + 855453.5625, + 856002.25, + 856551, + 857099.6875, + 857648.4375, + 858197.125, + 858745.875, + 859294.5625, + 859843.3125, + 860392, + 860940.75, + 861489.4375, + 862038.1875, + 862586.875, + 863135.625, + 863684.3125, + 864233.0625, + 864781.75, + 865330.5, + 865879.1875, + 866427.9375, + 866976.625, + 867525.375, + 868074.0625, + 868622.8125, + 869171.5, + 869720.25, + 870268.9375, + 870817.6875, + 871366.375, + 871915.125, + 872463.8125, + 873012.5625, + 873561.25, + 874110, + 874658.75, + 875207.4375, + 875756.1875, + 876304.875, + 876853.625, + 877402.3125, + 877951.0625, + 878499.75, + 879048.5, + 879597.1875, + 880145.9375, + 880694.625, + 881243.375, + 881792.0625, + 882340.8125, + 882889.5, + 883438.25, + 883986.9375, + 884535.6875, + 885084.375, + 885633.125, + 886181.8125, + 886730.5625, + 887279.25, + 887828, + 888376.6875, + 888925.4375, + 889474.125, + 890022.875, + 890571.5625, + 891120.3125, + 891669, + 892217.75, + 892766.4375, + 893315.1875, + 893863.875, + 894412.625, + 894961.3125, + 895510.0625, + 896058.75, + 896607.5, + 897156.1875, + 897704.9375, + 898253.625, + 898802.375, + 899351.0625, + 899899.8125, + 900448.5, + 900997.25, + 901545.9375, + 902094.6875, + 902643.375, + 903192.125, + 903740.8125, + 904289.5625, + 904838.25, + 905387, + 905935.6875, + 906484.4375, + 907033.1875, + 907581.875, + 908130.625, + 908679.3125, + 909228.0625, + 909776.75, + 910325.5, + 910874.1875, + 911422.9375, + 911971.625, + 912520.375, + 913069.0625, + 913617.8125, + 914166.5, + 914715.25, + 915263.9375, + 915812.6875, + 916361.375, + 916910.125, + 917458.8125, + 918007.5625, + 918556.25, + 919105, + 919653.6875, + 920202.4375, + 920751.125, + 921299.875, + 921848.5625, + 922397.3125, + 922946, + 923494.75, + 924043.4375, + 924592.1875, + 925140.875, + 925689.625, + 926238.3125, + 926787.0625, + 927335.75, + 927884.5, + 928433.1875, + 928981.9375, + 929530.625, + 930079.375, + 930628.0625, + 931176.8125, + 931725.5, + 932274.25, + 932822.9375, + 933371.6875, + 933920.375, + 934469.125, + 935017.8125, + 935566.5625, + 936115.25, + 936664, + 937212.6875, + 937761.4375, + 938310.125, + 938858.875, + 939407.5625, + 939956.3125, + 940505.0625, + 941053.75, + 941602.5, + 942151.1875, + 942699.9375, + 943248.625, + 943797.375, + 944346.0625, + 944894.8125, + 945443.5, + 945992.25, + 946540.9375, + 947089.6875, + 947638.375, + 948187.125, + 948735.8125, + 949284.5625, + 949833.25, + 950382, + 950930.6875, + 951479.4375, + 952028.125, + 952576.875, + 953125.5625, + 953674.3125, + 954223, + 954771.75, + 955320.4375, + 955869.1875, + 956417.875, + 956966.625, + 957515.3125, + 958064.0625, + 958612.75, + 959161.5, + 959710.1875, + 960259, + 960807.6875, + 961356.4375, + 961905.125, + 962453.875, + 963002.5625, + 963551.3125, + 964100, + 964648.75, + 965197.4375, + 965746.1875, + 966294.875, + 966843.625, + 967392.375, + 967941.0625, + 968489.8125, + 969038.5, + 969587.25, + 970135.9375, + 970684.6875, + 971233.375, + 971782.125, + 972330.8125, + 972879.5625, + 973428.25, + 973977, + 974525.6875, + 975074.4375, + 975623.125, + 976171.875, + 976720.5625, + 977269.3125, + 977818, + 978366.75, + 978915.4375, + 979464.1875, + 980012.875, + 980561.625, + 981110.3125, + 981659.0625, + 982207.75, + 982756.5, + 983305.1875, + 983853.9375, + 984402.625, + 984951.375, + 985500.0625, + 986048.8125, + 986597.5, + 987146.25, + 987694.9375, + 988243.6875, + 988792.375, + 989341.125, + 989889.8125, + 990438.5625, + 990987.25, + 991536, + 992084.6875, + 992633.4375, + 993182.125, + 993730.875, + 994279.5625, + 994828.3125, + 995377, + 995925.75, + 996474.4375, + 997023.1875, + 997571.875, + 998120.625, + 998669.3125, + 999218.0625, + 999766.8125, + 1000315.5, + 1000864.25, + 1001412.9375, + 1001961.6875, + 1002510.375, + 1003059.125, + 1003607.8125, + 1004156.5625, + 1004705.25, + 1005254, + 1005802.6875, + 1006351.4375, + 1006900.125, + 1007448.875, + 1007997.5625, + 1008546.3125, + 1009095, + 1009643.75, + 1010192.4375, + 1010741.1875, + 1011289.875, + 1011838.625, + 1012387.3125, + 1012936.0625, + 1013484.75, + 1014033.5, + 1014582.1875, + 1015130.9375, + 1015679.625, + 1016228.375, + 1016777.0625, + 1017325.8125, + 1017874.5, + 1018423.25, + 1018971.9375, + 1019520.6875, + 1020069.375, + 1020618.125, + 1021166.8125, + 1021715.5625, + 1022264.25, + 1022813, + 1023361.6875, + 1023910.4375, + 1024459.125, + 1025007.875, + 1025556.5625, + 1026105.3125, + 1026654, + 1027202.75, + 1027751.4375, + 1028300.1875, + 1028848.875, + 1029397.625, + 1029946.3125, + 1030495.0625, + 1031043.75, + 1031592.5, + 1032141.1875, + 1032689.9375, + 1033238.6875, + 1033787.375, + 1034336.125, + 1034884.8125, + 1035433.5625, + 1035982.25, + 1036531, + 1037079.6875, + 1037628.4375, + 1038177.125, + 1038725.875, + 1039274.5625, + 1039823.3125, + 1040372, + 1040920.75, + 1041469.4375, + 1042018.1875, + 1042566.875, + 1043115.625, + 1043664.3125, + 1044213.0625, + 1044761.75, + 1045310.5, + 1045859.1875, + 1046407.9375, + 1046956.625, + 1047505.375, + 1048054.0625, + 1048602.75, + 1049151.5, + 1049700.25, + 1050249, + 1050797.625, + 1051346.375, + 1051895.125, + 1052443.875, + 1052992.5, + 1053541.25, + 1054090, + 1054638.75, + 1055187.375, + 1055736.125, + 1056284.875, + 1056833.625, + 1057382.25, + 1057931, + 1058479.75, + 1059028.5, + 1059577.125, + 1060125.875, + 1060674.625, + 1061223.375, + 1061772, + 1062320.75, + 1062869.5, + 1063418.25, + 1063966.875, + 1064515.625, + 1065064.375, + 1065613.125, + 1066161.875, + 1066710.5, + 1067259.25, + 1067808, + 1068356.75, + 1068905.375, + 1069454.125, + 1070002.875, + 1070551.625, + 1071100.25, + 1071649, + 1072197.75, + 1072746.5, + 1073295.125, + 1073843.875, + 1074392.625, + 1074941.375, + 1075490, + 1076038.75, + 1076587.5, + 1077136.25, + 1077684.875, + 1078233.625, + 1078782.375, + 1079331.125, + 1079879.75, + 1080428.5, + 1080977.25, + 1081526, + 1082074.625, + 1082623.375, + 1083172.125, + 1083720.875, + 1084269.5, + 1084818.25, + 1085367, + 1085915.75, + 1086464.375, + 1087013.125, + 1087561.875, + 1088110.625, + 1088659.25, + 1089208, + 1089756.75, + 1090305.5, + 1090854.125, + 1091402.875, + 1091951.625, + 1092500.375, + 1093049, + 1093597.75, + 1094146.5, + 1094695.25, + 1095243.875, + 1095792.625, + 1096341.375, + 1096890.125 + ], + "y": [ + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 30000, + 29996.712890625, + 29886.96875, + 29777.224609375, + 29667.48046875, + 29557.73828125, + 29447.994140625, + 29338.25, + 29228.5, + 29118.755859375, + 29009.01171875, + 28899.26953125, + 28789.525390625, + 28679.78125, + 28570.037109375, + 28460.29296875, + 28350.55078125, + 28240.806640625, + 28131.0625, + 28021.318359375, + 27911.57421875, + 27801.83203125, + 27692.087890625, + 27582.34375, + 27472.599609375, + 27362.85546875, + 27253.11328125, + 27143.369140625, + 27033.625, + 26923.880859375, + 26814.13671875, + 26704.39453125, + 26594.650390625, + 26484.90625, + 26375.162109375, + 26265.41796875, + 26155.67578125, + 26045.931640625, + 25936.1875, + 25826.443359375, + 25716.69921875, + 25606.95703125, + 25497.212890625, + 25387.46875, + 25277.724609375, + 25167.98046875, + 25058.23828125, + 24948.494140625, + 24838.75, + 24729.005859375, + 24619.26171875, + 24509.51953125, + 24399.775390625, + 24290.03125, + 24180.287109375, + 24070.54296875, + 23960.80078125, + 23851.056640625, + 23741.3125, + 23631.568359375, + 23521.82421875, + 23412.08203125, + 23302.337890625, + 23192.59375, + 23082.849609375, + 22973.10546875, + 22863.36328125, + 22753.619140625, + 22643.875, + 22534.125, + 22424.380859375, + 22314.63671875, + 22204.89453125, + 22095.150390625, + 21985.40625, + 21875.662109375, + 21765.91796875, + 21656.17578125, + 21546.431640625, + 21436.6875, + 21326.943359375, + 21217.19921875, + 21107.45703125, + 20997.712890625, + 20887.96875, + 20778.224609375, + 20668.48046875, + 20558.73828125, + 20448.994140625, + 20339.25, + 20229.505859375, + 20119.76171875, + 20010.01953125, + 19900.275390625, + 19790.53125, + 19680.787109375, + 19571.04296875, + 19461.30078125, + 19351.556640625, + 19241.8125, + 19132.068359375, + 19022.32421875, + 18912.58203125, + 18802.837890625, + 18693.09375, + 18583.349609375, + 18473.60546875, + 18363.86328125, + 18254.119140625, + 18144.375, + 18034.630859375, + 17924.88671875, + 17815.14453125, + 17705.400390625, + 17595.65625, + 17485.912109375, + 17376.16796875, + 17266.42578125, + 17156.681640625, + 17046.9375, + 16937.193359375, + 16827.44921875, + 16717.70703125, + 16607.962890625, + 16498.21875, + 16388.474609375, + 16278.7314453125, + 16168.9873046875, + 16059.244140625, + 15949.494140625, + 15839.75, + 15730.005859375, + 15620.2626953125, + 15510.5185546875, + 15400.775390625, + 15291.03125, + 15181.287109375, + 15071.5439453125, + 14961.7998046875, + 14852.056640625, + 14742.3125, + 14632.568359375, + 14522.8251953125, + 14413.0810546875, + 14303.337890625, + 14193.59375, + 14083.849609375, + 13974.099609375, + 13864.3564453125, + 13754.6123046875, + 13644.869140625, + 13535.125, + 13425.380859375, + 13315.6376953125, + 13205.8935546875, + 13096.150390625, + 12986.40625, + 12876.662109375, + 12766.9189453125, + 12657.1748046875, + 12547.431640625, + 12437.6875, + 12327.943359375, + 12218.2001953125, + 12108.4560546875, + 11998.712890625, + 11888.96875, + 11779.224609375, + 11669.4814453125, + 11559.7373046875, + 11449.994140625, + 11340.25, + 11230.505859375, + 11120.7626953125, + 11011.0185546875, + 10901.275390625, + 10791.53125, + 10681.787109375, + 10572.0439453125, + 10462.2998046875, + 10352.556640625, + 10242.8125, + 10133.068359375, + 10023.318359375, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000, + 10000 + ] + } + ], + "layout": { + "font": { + "color": "black", + "family": "Roboto Serif" + }, + "height": 600, + "images": [ + { + "sizex": 0.15, + "sizey": 0.15, + "source": "https://raw.githubusercontent.com/PolicyEngine/policyengine-app/master/src/images/logos/policyengine/blue.png", + "x": 1.1, + "xanchor": "right", + "xref": "paper", + "y": -0.15, + "yanchor": "bottom", + "yref": "paper" + } + ], + "legend": { + "x": 0.01, + "xanchor": "left", + "y": 0.99, + "yanchor": "top" + }, + "modebar": { + "bgcolor": "rgba(0,0,0,0)", + "color": "rgba(0,0,0,0)" + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "white", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "white", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "#C8D4E3", + "linecolor": "#C8D4E3", + "minorgridcolor": "#C8D4E3", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "#C8D4E3", + "linecolor": "#C8D4E3", + "minorgridcolor": "#C8D4E3", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "white", + "showlakes": true, + "showland": true, + "subunitcolor": "#C8D4E3" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "white", + "polar": { + "angularaxis": { + "gridcolor": "#EBF0F8", + "linecolor": "#EBF0F8", + "ticks": "" + }, + "bgcolor": "white", + "radialaxis": { + "gridcolor": "#EBF0F8", + "linecolor": "#EBF0F8", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "white", + "gridcolor": "#DFE8F3", + "gridwidth": 2, + "linecolor": "#EBF0F8", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#EBF0F8" + }, + "yaxis": { + "backgroundcolor": "white", + "gridcolor": "#DFE8F3", + "gridwidth": 2, + "linecolor": "#EBF0F8", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#EBF0F8" + }, + "zaxis": { + "backgroundcolor": "white", + "gridcolor": "#DFE8F3", + "gridwidth": 2, + "linecolor": "#EBF0F8", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#EBF0F8" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "#DFE8F3", + "linecolor": "#A2B1C6", + "ticks": "" + }, + "baxis": { + "gridcolor": "#DFE8F3", + "linecolor": "#A2B1C6", + "ticks": "" + }, + "bgcolor": "white", + "caxis": { + "gridcolor": "#DFE8F3", + "linecolor": "#A2B1C6", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "#EBF0F8", + "linecolor": "#EBF0F8", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "#EBF0F8", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "#EBF0F8", + "linecolor": "#EBF0F8", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "#EBF0F8", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "SALT Cap by Wage Income" + }, + "width": 800, + "xaxis": { + "tickformat": "$~s", + "title": { + "text": "Household Head Employment Income" + } + }, + "yaxis": { + "range": [ + 0, + 60000 + ], + "tickformat": "$~s", + "title": { + "text": "SALT Cap" + } + } + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "fig = go.Figure()\n", + "\n", + "# reform line (solid)\n", + "fig.add_trace(go.Scatter(\n", + " x=employment_income,\n", + " y=salt_cap,\n", + " mode=\"lines\",\n", + " name=\"Reform salt cap\",\n", + " line=dict(color=\"#4d94ff\", dash=\"solid\")\n", + "))\n", + "\n", + "fig.update_layout(\n", + " title=\"SALT Cap by Wage Income\",\n", + " xaxis_title=\"Household Head Employment Income\",\n", + " yaxis_title=\"SALT Cap\",\n", + " xaxis=dict(tickformat=\"$~s\"),\n", + " yaxis=dict(\n", + " tickformat=\"$~s\",\n", + " range=[0, 60000] # 0 at bottom, 60k at top\n", + " ),\n", + " legend=dict(yanchor=\"top\", y=0.99, xanchor=\"left\", x=0.01),\n", + " height=500,\n", + " width=700,\n", + ")\n", + "\n", + "\n", + "fig = format_fig(fig) # applies your standard styling\n", + "fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pe", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}