{"version":3,"file":"js/reducers.xxxxxxxxxxxxxxxxxxxx.js","mappings":"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","sources":["webpack://zenbusiness.com/./src/client/reducers/registration/businessAddresses.js","webpack://zenbusiness.com/./src/client/reducers/registration/taxServices.js","webpack://zenbusiness.com/./src/client/reducers/registration/emailV2.js","webpack://zenbusiness.com/./src/client/reducers/registration/zbBankingPreferred.js","webpack://zenbusiness.com/./src/client/reducers/registration/business.js","webpack://zenbusiness.com/./src/client/reducers/registration/dbaEntity.js","webpack://zenbusiness.com/./src/client/reducers/registration/annualReport.js","webpack://zenbusiness.com/./src/client/reducers/registration/officers.js","webpack://zenbusiness.com/./src/client/reducers/registration/smbWebsite.js","webpack://zenbusiness.com/./src/client/reducers/registration/order.js","webpack://zenbusiness.com/./src/client/reducers/registration/smbWebsiteOrEcomm.js","webpack://zenbusiness.com/./src/client/reducers/registration/customer.js","webpack://zenbusiness.com/./src/client/reducers/registration/zbmPro.js","webpack://zenbusiness.com/./src/client/reducers/registration/purchase.js","webpack://zenbusiness.com/./src/client/reducers/registration/directors.js","webpack://zenbusiness.com/./src/client/reducers/registration/beneficialOwnershipFiling.js","webpack://zenbusiness.com/./src/client/reducers/registration/expenseTrackerNTaxFiling.js","webpack://zenbusiness.com/./src/client/reducers/registration/corpStockFlow.js","webpack://zenbusiness.com/./src/client/reducers/registration/registeredAgent.js","webpack://zenbusiness.com/./src/client/reducers/registration/beneficialOwnershipModification.js","webpack://zenbusiness.com/./src/client/reducers/registration/domainV2.js","webpack://zenbusiness.com/./src/client/reducers/registration/cora.js","webpack://zenbusiness.com/./src/client/reducers/registration/corpDocs.js","webpack://zenbusiness.com/./src/client/reducers/registration/goodStanding.js","webpack://zenbusiness.com/./src/client/reducers/registration/page.js","webpack://zenbusiness.com/./src/client/reducers/registration/blr.js","webpack://zenbusiness.com/./src/client/reducers/registration/ettfRenewal.js","webpack://zenbusiness.com/./src/client/reducers/registration/operatingAgreement.js","webpack://zenbusiness.com/./src/client/reducers/registration/logoKit.js","webpack://zenbusiness.com/./src/client/reducers/registration/ein.js","webpack://zenbusiness.com/./src/client/reducers/registration/stockSetup.js","webpack://zenbusiness.com/./src/client/reducers/registration/members.js","webpack://zenbusiness.com/./src/client/reducers/registration/domainName.js","webpack://zenbusiness.com/./src/client/reducers/registration/postpurchase.js","webpack://zenbusiness.com/./src/client/reducers/registration/smbWebsiteEcomm.js","webpack://zenbusiness.com/./src/client/reducers/account/details.js","webpack://zenbusiness.com/./src/client/reducers/account/paymentMethods.js","webpack://zenbusiness.com/./src/client/reducers/account/index.js","webpack://zenbusiness.com/./src/client/reducers/companies/companies.js","webpack://zenbusiness.com/./src/client/reducers/companies/data.js","webpack://zenbusiness.com/./src/client/reducers/companies/items.js","webpack://zenbusiness.com/./src/client/reducers/companies/orders.js","webpack://zenbusiness.com/./src/client/reducers/companies/status.js","webpack://zenbusiness.com/./src/client/reducers/companies/index.js","webpack://zenbusiness.com/./src/client/reducers/files/data.js","webpack://zenbusiness.com/./src/client/reducers/files/documents.js","webpack://zenbusiness.com/./src/client/reducers/files/status.js","webpack://zenbusiness.com/./src/client/reducers/files/index.js","webpack://zenbusiness.com/./src/client/reducers/initialization/entryPoint.js","webpack://zenbusiness.com/./src/client/reducers/initialization/pricing.js","webpack://zenbusiness.com/./src/client/reducers/initialization/index.js","webpack://zenbusiness.com/./src/client/reducers/orders/accounting.js","webpack://zenbusiness.com/./src/client/reducers/orders/accountingOld.js","webpack://zenbusiness.com/./src/client/reducers/orders/amendment.js","webpack://zenbusiness.com/./src/client/reducers/orders/banking.js","webpack://zenbusiness.com/./src/client/reducers/orders/business.js","webpack://zenbusiness.com/./src/client/reducers/orders/businessAddresses.js","webpack://zenbusiness.com/./src/client/reducers/orders/businessKit.js","webpack://zenbusiness.com/./src/client/reducers/orders/contact.js","webpack://zenbusiness.com/./src/client/reducers/orders/contacts.js","webpack://zenbusiness.com/./src/client/reducers/orders/dbaEntity.js","webpack://zenbusiness.com/./src/client/reducers/orders/directors.js","webpack://zenbusiness.com/./src/client/reducers/orders/domainName.js","webpack://zenbusiness.com/./src/client/reducers/orders/ein.js","webpack://zenbusiness.com/./src/client/reducers/orders/futureFileDate.js","webpack://zenbusiness.com/./src/client/reducers/orders/goodStanding.js","webpack://zenbusiness.com/./src/client/reducers/orders/insurance.js","webpack://zenbusiness.com/./src/client/reducers/orders/items.js","webpack://zenbusiness.com/./src/client/reducers/orders/jurisdictions.js","webpack://zenbusiness.com/./src/client/reducers/orders/logoKit.js","webpack://zenbusiness.com/./src/client/reducers/orders/managers.js","webpack://zenbusiness.com/./src/client/reducers/orders/members.js","webpack://zenbusiness.com/./src/client/reducers/orders/nyPublication.js","webpack://zenbusiness.com/./src/client/reducers/orders/officers.js","webpack://zenbusiness.com/./src/client/reducers/orders/operatingAgreement.js","webpack://zenbusiness.com/./src/client/reducers/orders/other.js","webpack://zenbusiness.com/./src/client/reducers/orders/plan.js","webpack://zenbusiness.com/./src/client/reducers/orders/registeredAgent.js","webpack://zenbusiness.com/./src/client/reducers/orders/status.js","webpack://zenbusiness.com/./src/client/reducers/orders/vanityProduct.js","webpack://zenbusiness.com/./src/client/reducers/orders/index.js","webpack://zenbusiness.com/./src/client/reducers/registration/account.js","webpack://zenbusiness.com/./src/client/reducers/registration/accounting.js","webpack://zenbusiness.com/./src/client/reducers/registration/amendment.js","webpack://zenbusiness.com/./src/client/reducers/registration/banking.js","webpack://zenbusiness.com/./src/client/reducers/registration/bankOfAmericaOffer.js","webpack://zenbusiness.com/./src/client/reducers/registration/contact.js","webpack://zenbusiness.com/./src/client/reducers/registration/coupons.js","webpack://zenbusiness.com/./src/client/reducers/registration/nypub.js","webpack://zenbusiness.com/./src/client/reducers/registration/plan.js","webpack://zenbusiness.com/./src/client/reducers/registration/remagine.js","webpack://zenbusiness.com/./src/client/reducers/registration/wfgir.js","webpack://zenbusiness.com/./src/client/reducers/registration/progressBar.js","webpack://zenbusiness.com/./src/client/reducers/registration/businessNameGenerator.js","webpack://zenbusiness.com/./src/client/reducers/registration/vanityProduct.js","webpack://zenbusiness.com/./src/client/reducers/registration/index.js","webpack://zenbusiness.com/./src/client/reducers/pricing/index.js","webpack://zenbusiness.com/./src/client/reducers/productEnabledStatus/index.js","webpack://zenbusiness.com/./src/client/reducers/index.js","webpack://zenbusiness.com/./src/client/reducers/registration/zbmPlaid.js","webpack://zenbusiness.com/./src/client/reducers/registration/lead.js","webpack://zenbusiness.com/./src/client/reducers/registration/managers.js","webpack://zenbusiness.com/./src/client/reducers/initialization/fees.js","webpack://zenbusiness.com/./src/client/reducers/registration/businessKit.js","webpack://zenbusiness.com/./src/client/reducers/registration/smbEcommAddon.js","webpack://zenbusiness.com/./src/client/reducers/registration/feedback.js"],"sourcesContent":["import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isEqual from 'lodash/isEqual';\nimport _pick from 'lodash/pick';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { DOM_JURS } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/businessAddresses';\n\nconst\n  ADDRESS_COMPARE_FIELDS = [ 'address_1', 'address_2', 'city', 'county', 'state', 'zip', 'lat', 'lng', 'address_is_google' ],\n  EMPTY_ADDRESS = {\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    stateName: '',\n    country: '',\n    zipCode: '',\n    lat: 0,\n    lng: 0,\n    addressIsGoogle: false\n  },\n  EMPTY_ADDRESS_COMPARE = {\n    address_1: '',\n    address_2: '',\n    city: '',\n    county: '',\n    state: '',\n    zip: '',\n    lat: 0,\n    lng: 0,\n    address_is_google: false\n  },\n  EMPTY_ADDRESS_SET = {\n    addressLine1: { $set: '' },\n    addressLine2: { $set: '' },\n    city: { $set: '' },\n    county: { $set: '' },\n    state: { $set: '' },\n    stateName: { $set: '' },\n    country: { $set: '' },\n    zipCode: { $set: '' },\n    lat: { $set: 0 },\n    lng: { $set: 0 },\n    addressIsGoogle: { $set: false }\n  },\n  INITIAL_STATE_DEFAULT = {\n    principal: _assign({}, EMPTY_ADDRESS),\n    mailing: _assign({}, EMPTY_ADDRESS),\n    physical: _assign({}, EMPTY_ADDRESS),\n    usePhysicalAsMailing: false,\n    usePhysicalAsPrincipal: false,\n    useMailingAsPrincipal: false\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT)),\n\n  getStateName = (value) => {\n    const match = _find(DOM_JURS, (option) => {\n      return option.value === value;\n    });\n    return match ? match.label : '';\n  },\n\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n\n  getAddressUpdate = (data) => {\n    const { addressLine1, addressLine2, city, county, state: addrState, country = 'US', zipCode, lat = 0, lng = 0, addressIsGoogle = false } = data,\n      stateName = getStateName(addrState),\n      addressUpdate = {\n        addressLine1: { $set: _trim(addressLine1) },\n        addressLine2: { $set: _trim(addressLine2) },\n        city: { $set: _trim(city) },\n        county: { $set: _trim(county) },\n        state: { $set: _trim(addrState) },\n        stateName: { $set: stateName },\n        country: { $set: _trim(country) || 'US' },\n        zipCode: { $set: _trim(zipCode) },\n        lat: { $set: lat },\n        lng: { $set: lng },\n        addressIsGoogle: { $set: addressIsGoogle }\n      };\n\n    return addressUpdate;\n  },\n\n  getOrderAddressUpdate = (data) => {\n    const { address_1: addressLine1, address_2: addressLine2, city, county, state: addrState, country = '', zip: zipCode, lat = 0, lng = 0, address_is_google: addressIsGoogle = false } = data,\n      stateName = getStateName(addrState),\n      addressUpdate = {\n        addressLine1: { $set: _trim(addressLine1) },\n        addressLine2: { $set: _trim(addressLine2) },\n        city: { $set: _trim(city) },\n        county: { $set: _trim(county) },\n        state: { $set: _trim(addrState) },\n        stateName: { $set: stateName },\n        country: { $set: _trim(country) || 'US' },\n        zipCode: { $set: _trim(zipCode) },\n        lat: { $set: lat },\n        lng: { $set: lng },\n        addressIsGoogle: { $set: addressIsGoogle }\n      };\n\n    return addressUpdate;\n  },\n\n  compareAddresses = (address1, address2) => {\n    const addr1 = _pick(address1, ADDRESS_COMPARE_FIELDS),\n      addr2 = _pick(address2, ADDRESS_COMPARE_FIELDS);\n\n    if (_isEqual(addr1, EMPTY_ADDRESS_COMPARE) || _isEqual(addr2, EMPTY_ADDRESS_COMPARE)) {\n      return false;\n    }\n    return _isEqual(addr1, addr2);\n  },\n\n  processPhysicalAddress = (state, action, data) => {\n    const { usePhysicalAsMailing, usePhysicalAsPrincipal } = data,\n      oldUsePhysicalAsMailing = state.usePhysicalAsMailing,\n      oldUsePhysicalAsPrincipal = state.usePhysicalAsPrincipal,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        physical: addressUpdate,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal }\n      };\n\n    if (usePhysicalAsMailing && !oldUsePhysicalAsMailing) {\n      stateUpdate.mailing = addressUpdate;\n      stateUpdate.useMailingAsPrincipal = { $set: false };\n    } else if (!usePhysicalAsMailing && oldUsePhysicalAsMailing) {\n      stateUpdate.mailing = EMPTY_ADDRESS_SET;\n    }\n\n    if (usePhysicalAsPrincipal && !oldUsePhysicalAsPrincipal) {\n      stateUpdate.principal = addressUpdate;\n      stateUpdate.useMailingAsPrincipal = { $set: false };\n    } else if (!usePhysicalAsPrincipal && oldUsePhysicalAsPrincipal) {\n      stateUpdate.principal = EMPTY_ADDRESS_SET;\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processPhysicalAddressInFlow = (state, action, data) => {\n    const { usePhysicalAsMailing } = data,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        physical: addressUpdate,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: true },\n        principal: addressUpdate\n      };\n\n    if (usePhysicalAsMailing) {\n      stateUpdate.mailing = addressUpdate;\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processPhysicalAddressModal = (state, action, data) => {\n    const { usePhysicalAsMailing, usePhysicalAsPrincipal } = data,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        physical: addressUpdate,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal }\n      };\n\n    if (usePhysicalAsMailing) {\n      stateUpdate.mailing = addressUpdate;\n      stateUpdate.useMailingAsPrincipal = { $set: false };\n    }\n    if (usePhysicalAsPrincipal) {\n      stateUpdate.principal = addressUpdate;\n      stateUpdate.useMailingAsPrincipal = { $set: false };\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processNameResPhysicalAddress = (state, action, data) => {\n    const { usePhysicalAsMailing } = data,\n      oldUsePhysicalAsMailing = state.usePhysicalAsMailing,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        physical: addressUpdate,\n        principal: addressUpdate,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: true },\n        useMailingAsPrincipal: { $set: false }\n      };\n\n    if (usePhysicalAsMailing && !oldUsePhysicalAsMailing) {\n      stateUpdate.mailing = addressUpdate;\n    } else if (!usePhysicalAsMailing && oldUsePhysicalAsMailing) {\n      stateUpdate.mailing = EMPTY_ADDRESS_SET;\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processNameResPhysicalAddressModal = (state, action, data) => {\n    const { usePhysicalAsMailing } = data,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        physical: addressUpdate,\n        principal: addressUpdate,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: true },\n        useMailingAsPrincipal: { $set: false }\n      };\n\n    if (usePhysicalAsMailing) {\n      stateUpdate.mailing = addressUpdate;\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processMailingAddress = (state, action, data) => {\n    const { useMailingAsPrincipal } = data,\n      oldUseMailingAsPrincipal = state.useMailingAsPrincipal,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        mailing: addressUpdate,\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n      };\n\n    if (useMailingAsPrincipal && !oldUseMailingAsPrincipal) {\n      stateUpdate.principal = addressUpdate;\n    } else if (!useMailingAsPrincipal && oldUseMailingAsPrincipal) {\n      stateUpdate.principal = EMPTY_ADDRESS_SET;\n    }\n\n    return (update(state, stateUpdate));\n  },\n\n  processMailingAddressModal = (state, action, data) => {\n    const { useMailingAsPrincipal } = data,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        mailing: addressUpdate,\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n      };\n\n    if (useMailingAsPrincipal) {\n      stateUpdate.principal = addressUpdate;\n    }\n    return (update(state, stateUpdate));\n  },\n\n  processMailingAddressInFlow = (state, action, data) => {\n    const addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        mailing: addressUpdate\n      };\n    return (update(state, stateUpdate));\n  },\n\n  processPrincipalAddress = (state, action, data) => {\n    const addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        principal: addressUpdate\n      };\n\n    return (update(state, stateUpdate));\n  },\n\n  processAllAddressModal = (state, action, data) => {\n    const { mailing, physical, principal, usePhysicalAsMailing, usePhysicalAsPrincipal, useMailingAsPrincipal } = data,\n      addressUpdate = getAddressUpdate(principal),\n      stateUpdate = {\n        principal: addressUpdate,\n        mailing: usePhysicalAsMailing ? addressUpdate : getAddressUpdate(mailing),\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal },\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal }\n      };\n\n    if (usePhysicalAsPrincipal) {\n      stateUpdate.physical = addressUpdate;\n      stateUpdate.useMailingAsPrincipal = { $set: false };\n    } else if (useMailingAsPrincipal) {\n      stateUpdate.physical = stateUpdate.mailing;\n    } else {\n      stateUpdate.physical = getAddressUpdate(physical);\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processAllAddressModalInFlow = (state, action, data) => {\n    const { mailing, physical, usePhysicalAsMailing } = data,\n      physicalAddress = getAddressUpdate(physical),\n      mailingAddress = getAddressUpdate(mailing),\n      stateUpdate = {\n        physical: physicalAddress,\n        mailing: usePhysicalAsMailing ? physicalAddress : mailingAddress,\n        principal: physicalAddress,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: true }\n      };\n    return update(state, stateUpdate);\n  },\n\n  processBusinessId = (state, action, data) => {\n    const\n      { businessAddresses = {} } = data,\n      {\n        principal = EMPTY_ADDRESS,\n        mailing = EMPTY_ADDRESS,\n        physical = EMPTY_ADDRESS,\n        usePhysicalAsMailing,\n        usePhysicalAsPrincipal,\n        useMailingAsPrincipal\n      } = businessAddresses;\n\n    return update(state, {\n      principal: getAddressUpdate(principal),\n      mailing: getAddressUpdate(mailing),\n      physical: getAddressUpdate(physical),\n      usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n      usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal },\n      useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n    });\n  },\n\n  // Calls to middleware\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const addr = _get(o, 'address', null);\n\n        return addr !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n    const\n      { address: physical = EMPTY_ADDRESS, principal_address: principal = EMPTY_ADDRESS, mailing_address: mailing = EMPTY_ADDRESS } = order;\n\n    return update(state, {\n      principal: getOrderAddressUpdate(principal),\n      mailing: getOrderAddressUpdate(mailing),\n      physical: getOrderAddressUpdate(physical),\n      usePhysicalAsMailing: { $set: compareAddresses(physical, mailing) },\n      usePhysicalAsPrincipal: { $set: compareAddresses(physical, principal) },\n      useMailingAsPrincipal: { $set: compareAddresses(mailing, principal) }\n    });\n  },\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.BUS_ID]: processBusinessId,\n    [ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressInFlow,\n    [ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n    [ACTIONS.PHYS_ADDR_MODAL]: processPhysicalAddressInFlow,\n    [ACTIONS.PRIN_ADDR]: processPrincipalAddress,\n    [ACTIONS.PRIN_ADDR_MODAL]: processPrincipalAddress,\n    [ACTIONS.PURCHASE_SUCCESS]: resetAllData,\n\n    [LLC_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [LLC_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n\n    [CORP_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [CORP_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n\n    [REG_BLR_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_BLR_ACTIONS.ADDR_MODAL]: processAllAddressModalInFlow,\n    [COMP_BLR_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [COMP_BLR_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n\n    [COMP_BUSINESS_ACTIONS.MAIL_ADDR]: processMailingAddress,\n    [COMP_BUSINESS_ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressModal,\n    [COMP_BUSINESS_ACTIONS.PHYS_ADDR]: processPhysicalAddress,\n    [COMP_BUSINESS_ACTIONS.PHYS_ADDR_MODAL]: processPhysicalAddressModal,\n    [COMP_BUSINESS_ACTIONS.PRIN_ADDR]: processPrincipalAddress,\n    [COMP_BUSINESS_ACTIONS.PRIN_ADDR_MODAL]: processPrincipalAddress,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.ADDR_MODAL]: processAllAddressModal,\n    [COMP_CORA_ACTIONS.MAIL_ADDR]: processMailingAddress,\n    [COMP_CORA_ACTIONS.PHYS_ADDR]: processPhysicalAddress,\n    [COMP_CORA_ACTIONS.PRIN_ADDR]: processPrincipalAddress,\n\n    [COMP_DBA_ACTIONS.ADDR_MODAL]: processAllAddressModalInFlow,\n    [COMP_DBA_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [COMP_DBA_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n\n    [REG_EIN_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_EIN_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [COMP_EIN_ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressInFlow,\n    [COMP_EIN_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n    [COMP_EIN_ACTIONS.PHYS_ADDR_MODAL]: processPhysicalAddressInFlow,\n\n    [REG_NAMERES_ACTIONS.MAIL_ADDR]: processMailingAddress,\n    [REG_NAMERES_ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressModal,\n    [REG_NAMERES_ACTIONS.PHYS_ADDR]: processNameResPhysicalAddress,\n    [REG_NAMERES_ACTIONS.PHYS_ADDR_MODAL]: processNameResPhysicalAddressModal,\n\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.ADDR_MODAL]: processAllAddressModal,\n\n    [COMP_NYPUB_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [COMP_NYPUB_ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressInFlow,\n    [COMP_NYPUB_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n    [COMP_NYPUB_ACTIONS.PHYS_ADDR_MODAL]: processPhysicalAddressInFlow,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.MAIL_ADDR]: processMailingAddress,\n    [COMP_WFG_ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressModal,\n    [COMP_WFG_ACTIONS.PHYS_ADDR]: processPhysicalAddress,\n    [COMP_WFG_ACTIONS.PHYS_ADDR_MODAL]: processPhysicalAddressModal,\n    [COMP_WFG_ACTIONS.PRIN_ADDR]: processPrincipalAddress,\n    [COMP_WFG_ACTIONS.PRIN_ADDR_MODAL]: processPrincipalAddress,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_tax_services';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/taxServices';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    product: '',\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processCompleteReturnToDash = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, isUpgrade } = data;\n    const { product } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      actionError: { $set: 0 },\n      isUpgrade : { $set: isUpgrade },\n      inProgress: { $set: true },\n      product: { $set: product }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [ACTIONS.COMPLETE_RETURN_TO_DASH]: processCompleteReturnToDash,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/register_email_v2';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/emailV2';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    companyId: '',\n    companyCount: 0,\n    primary: '',\n    alternates: [],\n    domainNameSearch: '',\n    domainNames: [],\n    emailAddresses: [],\n    verified: false,\n    skip: false,\n    emailUserName: '',\n    emailSkip: false,\n    emailInPlan: false,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      domainName = '',\n      emailInPlan = false,\n      domainNameSearch = '',\n      domainNames = [],\n      emailAddresses = []\n    } = data;\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      primary: { $set: domainName },\n      emailInPlan: { $set: emailInPlan },\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      emailAddresses: { $set: emailAddresses },\n      actionError: { $set: 0 }\n    });\n  },\n  processDomainNames = (state, action, data) => {\n    const { domainNameSearch, domainNames, skip } = data;\n    return update(state, {\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      skip: { $set: skip }\n    });\n  },\n  processMap = {\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.EMAILS]: processDomainNames,\n    [ACTIONS.INIT]: processInit\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_zb_banking_preferred';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/zbBankingPreferred';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    domesticJurisdiction: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, companyCount, domesticJurisdiction } = data;\n\n    return update(state, {\n      inProgress: { $set: true },\n      companyId: { $set: companyId },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      companyCount: { $set: companyCount },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  /* Previous functionality\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  }, */\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    // Leaving in previous functionality for future reference purposes\n    // as a guide to others implementing similar flows\n    // [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    // [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _endsWith from 'lodash/endsWith';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isEmpty from 'lodash/isEmpty';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ACCOUNT_ACTIONS } from '../../constants/register_account';\nimport { ACTIONS as REG_ANNUAL_REPORT_ACTIONS } from '../../constants/annual_report';\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BUSINESSKIT_ACTIONS } from '../../constants/register_business_kit';\nimport { ACTIONS as REG_STOCK_SETUP_ACTIONS } from '../../constants/register_stock_setup';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_CD_ACTIONS } from '../../constants/register_corpdocs';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_DOMAINNAME_ACTIONS } from '../../constants/register_domainname';\nimport { ACTIONS as REG_DOMAINPRIVACY_ACTIONS } from '../../constants/register_domainprivacy';\nimport { ACTIONS as REG_DOMAIN_V2_ACTIONS } from '../../constants/register_domain_v2';\nimport { ACTIONS as REG_EMAIL_V2_ACTIONS } from '../../constants/register_email_v2';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_ETNTF_ACTIONS } from '../../constants/register_expense_tracker_n_tax_filing';\nimport { ACTIONS as REG_GS_ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REG_LOGOKIT_ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as BNG_ACTIONS } from '../../constants/business_name_generator';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_ONLINETOOLS_ACTIONS } from '../../constants/register_onlinetools';\nimport { ACTIONS as REG_OPAGREEMENT_ACTIONS } from '../../constants/register_opagreement';\nimport { ACTIONS as REG_SMB_WEBSITE_ACTIONS } from '../../constants/register_smb_website';\nimport { ACTIONS as REG_SMB_WEBSITE_ECOMM_ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport { ACTIONS as REG_SMB_ECOMM_ADDON_ACTIONS } from '../../constants/register_smb_ecomm_addon';\nimport { ACTIONS as REG_SMB_WEBSITE_OR_ECOMM_ACTIONS } from '../../constants/register_smb_website_or_ecomm';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as REG_WFGIR_ACTIONS } from '../../constants/register_wfgir';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as REG_VANITY_PRODUCT_ACTIONS } from '../../constants/register_vanity';\nimport { ACTIONS as REG_ZBMPRO_ACTIONS } from '../../constants/register_zbmpro';\nimport { ACTIONS as REG_ZBM_PLAID_ACTIONS } from '../../constants/register_zbm_plaid';\nimport { ACTIONS as REG_TAX_SERVICES_ACTIONS } from '../../constants/register_tax_services';\nimport { ACTIONS as COMPANY_ACTIONS } from '../../constants/companies';\nimport { DOM_JURS, CORP_INDICATORS, LLC_INDICATORS } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { reportError } from '../../utils/ReportingUtils';\nimport { isPostPurchaseEntityCheckEnabled } from '../../utils/ProductService';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/business';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    status: 'incomplete',\n    id: '',\n    isBusinessIncomplete: false,\n    businessOrderType: '',\n    type: '',\n    isDAO: false,\n    isSCorp: false,\n    hasSCorp: false,\n    hasSCorpWordUpdate: false,\n    name: '',\n    indicator: '',\n    description: '',\n    alternates: [],\n    phoneNumber: '',\n    domesticEntity: null,\n    domesticJurisdiction: '',\n    domesticJurisdictionName: '',\n    requestedJurisdiction: '',\n    requestedJurisdictionName: '',\n    foreignJurisdictions: [],\n    foreignJurisdictionNames: {},\n    hasForeignJurisdictions: null,\n    domesticFilingDate: '',\n    stateId: '',\n    authorizedShares: '',\n    valuePerShare: '',\n    hasMoreThanOneShare: null,\n    businessActivity: '',\n    hasExistingBusiness: null,\n    createBusiness: false,\n    creatingBusiness: false,\n    updateBusiness: false,\n    updatingBusiness: false,\n    scorpAllUSOwners: null,\n    scorpOutsideInvestors: null,\n    scorpOperateLoss: null,\n    scorpOperateProfit: null,\n    scorpPaySalary: null,\n    scorpPlanJurChosen: false,\n    authorizedSignatory: null,\n    actionError: 0,\n    isSimulated: false,\n    formationCounty: '',\n    daoMemberManaged: null,\n    daoRestriction: null,\n    daoSmartContractLink: ''\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT), { creatingBusiness: false }),\n  getStateName = (value) => {\n    const match = _find(DOM_JURS, (option) => {\n      return option.value === value;\n    });\n    return match ? match.label : '';\n  },\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data,\n      domesticJurisdictionName = getStateName(domesticJurisdiction);\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: domesticJurisdictionName },\n      domesticEntity: { $set: true }\n    });\n  },\n  processAnnualReportJurisdiction = (state, action) => {\n    const { company: { domesticJurisdiction } } = action,\n      requestedJurisdictionName = getStateName(domesticJurisdiction);\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: requestedJurisdictionName },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: requestedJurisdictionName }\n    });\n  },\n  processDBAInitReqJurisdiction = (state, action, data) => {\n    const { isInitialJurSupported, requestedJurisdiction } = data,\n      requestedJurisdictionName = isInitialJurSupported ? getStateName(requestedJurisdiction) : '',\n      reqJur = isInitialJurSupported ? requestedJurisdiction : '';\n\n    return update(state, {\n      requestedJurisdiction: { $set: reqJur },\n      requestedJurisdictionName: { $set: requestedJurisdictionName }\n    });\n  },\n  processDBAReqJurisdiction = (state, action, data) => {\n    const { requestedJurisdiction } = data,\n      requestedJurisdictionName = getStateName(requestedJurisdiction);\n\n    return update(state, {\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: requestedJurisdictionName }\n    });\n  },\n  processDBAHomeState = (state, action, data) => {\n    const { homeState } = data;\n    const domJur = homeState ? state.requestedJurisdiction : '';\n    const domJurName =  homeState ? getStateName(domJur) : '';\n\n    return update(state, {\n      domesticJurisdiction: { $set: domJur },\n      domesticJurisdictionName: { $set: domJurName }\n    });\n  },\n  processDBADomesticJurisdiction = (state, action, data) => {\n    const { requestedJurisdiction = '', domesticJurisdiction = '' } = data,\n      jur = requestedJurisdiction || domesticJurisdiction,\n      jurName = jur ? getStateName(jur) : '';\n\n    return update(state, {\n      domesticJurisdiction: { $set: jur },\n      domesticJurisdictionName: { $set: jurName },\n      requestedJurisdiction: { $set: jur },\n      requestedJurisdictionName: { $set: jurName }\n    });\n  },\n  processBusDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data,\n      domesticJurisdictionName = getStateName(domesticJurisdiction);\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: domesticJurisdictionName },\n      domesticEntity: { $set: true },\n      createBusiness: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processTRUiCRADomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data,\n      domesticJurisdictionName = getStateName(domesticJurisdiction);\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName }\n    });\n  },\n  /*\n  processRequestedJurisdiction = (state, action, data) => {\n    const { requestedJurisdiction } = data,\n      { id } = state,\n      requestedJurisdictionName = getStateName(requestedJurisdiction);\n\n    if (id) {\n      return update(state, {\n        requestedJurisdiction: { $set: requestedJurisdiction },\n        requestedJurisdictionName: { $set: requestedJurisdictionName },\n        createBusiness: { $set: true },\n        actionError: { $set: 0 }\n      });\n    }\n    return update(state, {\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: requestedJurisdictionName },\n      createBusiness: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  */\n  processDomesticEntity = (state, action, data) => {\n    const { domesticEntity } = data;\n\n    if (domesticEntity) {\n      return update(state, {\n        domesticJurisdiction: { $set: state.requestedJurisdiction },\n        domesticJurisdictionName: { $set: state.requestedJurisdictionName },\n        foreignJurisdictions: { $set: [] },\n        foreignJurisdictionNames: { $set: {} },\n        domesticEntity: { $set: domesticEntity }\n      });\n    }\n    return update(state, {\n      domesticJurisdiction: { $set: '' },\n      domesticJurisdictionName: { $set: '' },\n      foreignJurisdictions: { $set: [state.requestedJurisdiction] },\n      foreignJurisdictionNames: { $set: { [state.requestedJurisdiction]: state.requestedJurisdictionName } },\n      domesticEntity: { $set: domesticEntity }\n    });\n  },\n  /*\n  processHasForeignJurisdictions = (state, action, data) => {\n    const { hasForeignJurisdictions } = data;\n\n    if (!hasForeignJurisdictions) {\n      return update(state, {\n        hasForeignJurisdictions: { $set: hasForeignJurisdictions },\n        foreignJurisdictions: { $set: [] },\n        foreignJurisdictionNames: { $set: {} }\n      });\n    }\n    return update(state, {\n      hasForeignJurisdictions: { $set: hasForeignJurisdictions }\n    });\n  },\n  processForeignJurisdictions = (state, action, data) => {\n    const { foreignJurisdictions } = data,\n      foreignJurisdictionNames = _reduce(foreignJurisdictions, (collect, fj) => {\n        collect[fj] = getStateName(fj);\n        return collect;\n      }, {});\n\n    return update(state, {\n      foreignJurisdictions: { $set: foreignJurisdictions },\n      foreignJurisdictionNames: { $set: foreignJurisdictionNames }\n    });\n  },\n  processDomesticFilingDate = (state, action, data) => {\n    const { domesticFilingDate } = data;\n\n    return update(state, {\n      domesticFilingDate: { $set: domesticFilingDate }\n    });\n  },\n  processStateId = (state, action, data) => {\n    const { stateId } = data;\n\n    return update(state, {\n      stateId: { $set: stateId }\n    });\n  },\n  */\n  processAccountOwnerContact = (state, action, data) => {\n    const { phoneNumber } = data;\n    return update(state, {\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processAccountOwnerInfo = (state, action, data) => {\n    const { phoneNumber } = data;\n    return update(state, {\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processBusinessActivity = (state, action, data) => {\n    const { businessActivity } = data;\n    return update(state, {\n      businessActivity: { $set: businessActivity }\n    });\n  },\n  processBusinessDescription = (state, action, data) => {\n    const { description } = data;\n    return update(state, {\n      description: { $set: _trim(description) }\n    });\n  },\n  processDBABusinessDescription = (state, action, data) => {\n    const { businessDescription } = data;\n    return update(state, {\n      description: { $set: _trim(businessDescription) }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const { id, businessOrderType = '', reset, forceEmptyId } = data,\n      { id: oldId, status } = state;\n\n    if (!id) {\n      if (oldId && !forceEmptyId) {\n        if (status === 'incomplete' && !reset) {\n          return state;\n        }\n        reducerStorage.clear(storageKey);\n        return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n      }\n      return update(state, {\n        id: { $set: '' },\n        businessOrderType: { $set: '' }\n      });\n    }\n\n    const\n      { business } = data,\n      { type, name, indicator, alternates, description, phoneNumber, requestedJurisdiction = '', domesticJurisdiction, foreignJurisdictions = [], domesticFilingDate = '', stateId = '', authorizedShares, valuePerShare } = business,\n      requestedJurisdictionName = id ? getStateName(requestedJurisdiction) : '',\n      domesticJurisdictionName = id ? getStateName(domesticJurisdiction) : '',\n      foreignJurisdictionNames = id ? _reduce(foreignJurisdictions, (collect, foreignJurisdiction) => {\n        collect[foreignJurisdiction] = getStateName(foreignJurisdiction);\n        return collect;\n      }, {}) : [];\n\n    return update(state, {\n      id: { $set: id },\n      businessOrderType: { $set: businessOrderType },\n      status: { $set: 'incomplete' },\n      type: { $set: type },\n      name: { $set: name },\n      indicator: { $set: indicator },\n      alternates: { $set: alternates },\n      description: { $set: _trim(description) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: requestedJurisdictionName },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      foreignJurisdictions: { $set: foreignJurisdictions },\n      foreignJurisdictionName: { $set: foreignJurisdictionNames },\n      domesticEntity: { $set: requestedJurisdiction === domesticJurisdiction },\n      domesticFilingDate: { $set: domesticFilingDate },\n      stateId: { $set: stateId },\n      // Not subject to the API-925 stale-'' issue (cf. processOrdersComplete): this fires when the\n      // user selects an existing company at flow entry, and every caller (the register* BusinessId\n      // containers) passes a hardcoded `business.authorizedShares: 0, valuePerShare: 0` — the value\n      // is never read from the main order or a business-entity GET. Writing '' / '$0' here is the\n      // intended fresh-start reset; a fallback-to-state would wrongly block switching companies.\n      authorizedShares: { $set: authorizedShares === 0 ? '' : `${authorizedShares}` },\n      valuePerShare: { $set: valuePerShare === '' ? '' : `$${valuePerShare}` }\n    });\n  },\n  processBusinessName = (state, action, data) => {\n    const { name, indicator = '' } = data;\n    return update(state, {\n      name: { $set: _trim(name) },\n      indicator: { $set: indicator }\n    });\n  },\n  processBusinessAlternates = (state, action, data) => {\n    const { alternates } = data;\n\n    return update(state, {\n      alternates: {\n        $set: _map(alternates, (alternate) => {\n          return alternate ? _trim(alternate) : '';\n        })\n      }\n    });\n  },\n  processBusinessType = (state, action, data) => {\n    const { type, isSCorp = false } = data,\n      { type: origType } = state;\n\n    if (type !== origType) {\n      return update(state, {\n        type: { $set: type },\n        isSCorp: { $set: isSCorp },\n        indicator: { $set: '' }\n      });\n    }\n    return update(state, {\n      type: { $set: type },\n      isSCorp: { $set: isSCorp }\n    });\n  },\n  processBusinessModal = (state, action, data) => {\n    const { domesticJurisdiction = state.domesticJurisdiction, name = state.name, type = state.type, domesticEntity = state.domesticEntity, businessName = null } = data,\n      domesticJurisdictionName = domesticJurisdiction ? getStateName(domesticJurisdiction) : '';\n\n    return update(state, {\n      type: { $set: type },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: domesticJurisdictionName },\n      domesticEntity: { $set: domesticEntity },\n      name: { $set: businessName ? _trim(businessName) : _trim(name) }\n    });\n  },\n  processAuthorizedSignatory = (state, action, data) => {\n    const\n      {\n        isPrincipal = false,\n        title = '',\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        suffix = '',\n        companyName = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        state: addrState = '',\n        zipCode = '',\n        country = 'US',\n        email = '',\n        phoneNumber = ''\n      } = data || {};\n\n    if (state.authorizedSignatory === null) {\n      const contact = {\n        isPrincipal,\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix,\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode,\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber,\n        title: _trim(title)\n      };\n\n      return update(state, {\n        authorizedSignatory: { $set: contact }\n      });\n    }\n\n    const updates = {\n      isPrincipal: { $set: isPrincipal },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: suffix },\n      companyName: { $set: _trim(companyName) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      state: { $set: addrState },\n      zipCode: { $set: zipCode },\n      country: { $set: _trim(country) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phoneNumber },\n      title: { $set: _trim(title) }\n    };\n    return update(state, {\n      authorizedSignatory: updates\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processCorpStock = (state, action, data) => {\n    const { authorizedShares, valuePerShare } = data;\n    return update(state, {\n      authorizedShares: { $set: authorizedShares },\n      valuePerShare: { $set: valuePerShare }\n    });\n  },\n  processHasMoreThanOneShare = (state, action, data) => {\n    const { hasMoreThanOneShare } = data;\n    return update(state, {\n      hasMoreThanOneShare: { $set: hasMoreThanOneShare }\n    });\n  },\n  processPurchasePlan = (state, action, data) => {\n    const { business = null } = data;\n\n    if (!business) {\n      return update(state, {\n        status: { $set: 'incomplete' }\n      });\n    }\n\n    const { domesticJurisdiction, type, isSCorp = false } = business;\n\n    return update(state, {\n      status: { $set: 'incomplete' },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: getStateName(domesticJurisdiction) },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: getStateName(domesticJurisdiction) },\n      domesticEntity: { $set: true },\n      type: { $set: type },\n      isSCorp: { $set: isSCorp },\n      scorpPlanJurChosen: { $set: true }\n    });\n  },\n  processWFGBusinessData = (state, action, data) => {\n    const { businessDescription, businessType } = data;\n\n    return update(state, {\n      description: { $set: _trim(businessDescription) },\n      type: { $set: businessType }\n    });\n  },\n  processBLRBusinessData = (state, action, data) => {\n    const { description, domesticJurisdiction, domesticJurisdictionName, name, type } = data;\n\n    return update(state, {\n      description: { $set: _trim(description) },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      name: { $set: name },\n      type: { $set: type }\n    });\n  },\n  processBusBusinessData = (state, action, data) => {\n    const { businessDescription } = data;\n\n    return update(state, {\n      description: { $set: _trim(businessDescription) }\n    });\n  },\n  processHasExistingBusiness = (state, action, data) => {\n    const { hasExistingBusiness } = data;\n\n    if (!hasExistingBusiness) {\n      return update(state, {\n        hasExistingBusiness: { $set: hasExistingBusiness },\n        domesticEntity: { $set: true },\n        domesticJurisdiction: { $set: state.requestedJurisdiction },\n        hasForeignJurisdictions: { $set: false },\n        foreignJurisdictions: { $set: [] }\n      });\n    }\n    return update(state, {\n      hasExistingBusiness: { $set: hasExistingBusiness }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { fromDashboard = false, id = '', businessOrderType = '', type = '', domesticJurisdiction, name, hasSCorp = false, hasSCorpWordUpdate = false, isSCorp = false, isDAO = false, isSimulated = false } = data;\n    const tp = type === 'none' ? '' : (type || state.type);\n    const dj = domesticJurisdiction === 'none' ? '' : (domesticJurisdiction || state.domesticJurisdiction);\n    const djName = getStateName(dj);\n    if (fromDashboard) {\n      const newState = _assign({}, INITIAL_STATE_DEFAULT, {\n        status: 'incomplete',\n        id,\n        businessOrderType,\n        type: tp,\n        requestedJurisdiction: dj,\n        requestedJurisdictionName: djName,\n        domesticJurisdiction: dj,\n        domesticJurisdictionName: djName,\n        domesticEntity: true,\n        name: name || state.name,\n        hasSCorp,\n        hasSCorpWordUpdate,\n        isSCorp,\n        isDAO,\n        isSimulated\n      });\n      reducerStorage.store(storageKey, newState);\n      return newState;\n    }\n    return update(state, {\n      status: { $set: 'incomplete' },\n      id: { $set: id || '' },\n      businessOrderType: { $set: '' },\n      type: { $set: tp },\n      hasSCorp: { $set: hasSCorp },\n      hasSCorpWordUpdate: { $set: hasSCorpWordUpdate },\n      isSCorp: { $set: isSCorp },\n      isDAO: { $set: isDAO },\n      requestedJurisdiction: { $set: dj },\n      requestedJurisdictionName: { $set: djName },\n      domesticJurisdiction: { $set: dj },\n      domesticJurisdictionName: { $set: djName },\n      ...action.type !== REG_NAMERES_ACTIONS.INIT && { domesticEntity: { $set: true } },\n      name: { $set: name || state.name },\n      isSimulated: { $set: isSimulated }\n    });\n  },\n  processDashboardProduct = (state, action, data) => {\n    const { companyId, domesticJurisdiction, type, name } = data,\n      isSimulated = name === 'My Business',\n      djName = getStateName(domesticJurisdiction);\n    return update(state, {\n      id: { $set: companyId },\n      status: { $set: 'incomplete' },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: djName },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: djName },\n      type: { $set: type },\n      isSimulated: { $set: isSimulated }\n    });\n  },\n  checkoutEditBusiness = (state, action, data) => {\n    const { name, companyType, domesticJurisdiction } = data;\n    return update(state, {\n      name: { $set: name },\n      type: { $set: companyType },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: getStateName(domesticJurisdiction) }\n    });\n  },\n  processStartBusinessComplete = (state, action, data) => {\n    const { id, name, type, domesticJurisdiction } = data,\n      domesticJurisdictionName = getStateName(domesticJurisdiction);\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, {\n      name,\n      type,\n      domesticJurisdiction,\n      domesticJurisdictionName,\n      requestedJurisdiction: domesticJurisdiction,\n      requestedJurisdictionName: domesticJurisdictionName,\n      domesticEntity: true,\n      businessOrderType: 'incomplete',\n      id: state.id || id,\n      status: 'incomplete'\n    }));\n  },\n  processStatus = (state, action, data) => {\n    const { status } = data;\n\n    return update(state, {\n      status: { $set: status || 'incomplete' }\n    });\n  },\n  processStatusComplete = (state) => {\n    return update(state, {\n      status: { $set: 'complete' }\n    });\n  },\n  processSCorpAllUSOwners = (state, action, data) => {\n    const { scorpAllUSOwners } = data;\n    return update(state, {\n      scorpAllUSOwners: { $set: scorpAllUSOwners },\n      scorpPlanJurChosen: { $set: false },\n      scorpOperateLoss: { $set: null },\n      scorpOperateProfit: { $set: null },\n      scorpOutsideInvestors: { $set: null },\n      scorpPaySalary: { $set: null }\n    });\n  },\n  processSCorpOperateLoss = (state, action, data) => {\n    const { scorpOperateLoss } = data;\n    return update(state, {\n      scorpOperateLoss: { $set: scorpOperateLoss },\n      scorpPlanJurChosen: { $set: false },\n      scorpOperateProfit: { $set: null },\n      scorpOutsideInvestors: { $set: null },\n      scorpPaySalary: { $set: null }\n    });\n  },\n  processSCorpOutsideInvestors = (state, action, data) => {\n    const { scorpOutsideInvestors } = data;\n    return update(state, {\n      scorpOutsideInvestors: { $set: scorpOutsideInvestors },\n      scorpPlanJurChosen: { $set: false }\n    });\n  },\n  processSCorpPaySalary = (state, action, data) => {\n    const { scorpPaySalary } = data;\n    return update(state, {\n      scorpPaySalary: { $set: scorpPaySalary },\n      scorpPlanJurChosen: { $set: false },\n      scorpOutsideInvestors: { $set: null }\n    });\n  },\n  processFormationCounty = (state, action, data) => {\n    const { nyPubCounty } = data;\n\n    return update(state, {\n      formationCounty: { $set: nyPubCounty }\n    });\n  },\n  processFormationCountyPF = (state, action, data) => {\n    const { nyPubCounty } = data;\n\n    return update(state, {\n      formationCounty: { $set: nyPubCounty }\n    });\n  },\n\n  // Calls to middleware\n  /* eslint-disable max-statements */\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const postPurchaseEntityCheck = isPostPurchaseEntityCheckEnabled();\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const {\n        order_data: orderData,\n        order_items: orderItems = [],\n        business_entity_uuid: id,\n        order_entity_name: orderEntityName = '',\n        entity_type: orderEntityType = ''\n      } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        // API-934: slim order_data nests entity_name under create_data\n        const entityName = _get(o, 'entity_name', null) || _get(o, 'create_data.entity_name', null);\n\n        if (entityName !== null) {\n          return true;\n        }\n\n        // DJL - for ShoppingUI orders for CoRA, find the registered_agent_service that also\n        // has a completed_action value\n        // DJL - to handle the issue for OARENG-1476, where the entity_name was removed from the order\n        // for existing businesses, also check for completed_action on ein_creation,\n        // business_license_report, and dba_entity\n        const service = _get(o, 'service', null);\n        if (service === 'registered_agent_service' || service === 'ein_creation' || service === 'business_license_report' || service === 'dba_entity') {\n          const completedAction = _get(o, 'completed_action', null);\n          if (completedAction !== null) {\n            return true;\n          }\n        }\n        // API-891: slim seed omits entity_name for brand-new corp/llc orders; match on\n        // completed_action instead when the flag is enabled\n        if (postPurchaseEntityCheck &&\n            (service === 'corp_formation' || service === 'llc_formation')) {\n          const completedAction = _get(o, 'completed_action', null);\n          if (completedAction !== null) {\n            return true;\n          }\n        }\n        return false;\n      }),\n      isSCorp = !!_find(orderData, (o) => {\n        return _get(o, 'service', '') === 's_corp_designation';\n      }),\n      daoService = _find(orderData, (o) => {\n        return _get(o, 'service', '') === 'dao_designation';\n      });\n    if (!order) {\n      return state;\n    }\n    const\n      { service,\n        entity_type: dataEntityType,\n        alternates = [],\n        jurisdiction: requestedJurisdiction,\n        domestic_jurisdiction: domesticJurisdiction = order.jurisdiction,\n        domestic_entity: domesticEntity = null,\n        foreign_jurisdictions: foreignJurisdictions = [],\n        has_existing_business: hasExistingBusiness = null,\n        has_foreign_jurisdictions: hasForeignJurisdictions = null,\n        business_purpose: description = '',\n        business_order_type: businessOrderType = state.businessOrderType,\n        phone: phoneNumber = '',\n        authorized_shares: authorizedShares = '',\n        par_value: valuePerShare = '',\n        activity: businessActivity = ''\n      } = order,\n      // API-934: slim order_data nests entity_name and formation_county under create_data;\n      // formation_county may also live on the formation entry within order_items, so as a\n      // last resort find any order_items entry that has a non-empty formation_county\n      dataEntityName = _get(order, 'entity_name', null) || _get(order, 'create_data.entity_name', null),\n      orderItemWithCounty = _find(orderItems, (oi) => { return !!_get(oi, 'formation_county', ''); }),\n      formationCounty = _get(order, 'formation_county', '')\n        || _get(order, 'create_data.formation_county', '')\n        || _get(orderItemWithCounty, 'formation_county', ''),\n      fullName = dataEntityName || orderEntityName,\n      entityType = dataEntityType || orderEntityType,\n      corpProdType = entityType === 'corp' ? 'CORP' : '',\n      llcProdType = entityType === 'llc' ? 'LLCX' : '',\n      solePropType = entityType === 'sole_prop' ? 'SOLE' : '',\n      productType = corpProdType || llcProdType || solePropType,\n      corpServiceType = service === 'corp_formation' ? 'CORP' : '',\n      llcServiceType = service === 'llc_formation' ? 'LLCX' : '',\n      serviceType = corpServiceType || llcServiceType,\n      type = entityType ? productType : serviceType,\n      indicatorObj = _find(type === 'CORP' ? CORP_INDICATORS : LLC_INDICATORS, (indicator) => {\n        return _endsWith(fullName, indicator.value);\n      }),\n      indicator = indicatorObj ? indicatorObj.value : '',\n      name = indicatorObj ? _trim(fullName.substring(0, fullName.length - indicatorObj.value.length)) : fullName,\n      requestedJurisdictionName = getStateName(requestedJurisdiction),\n      domesticJurisdictionName = getStateName(domesticJurisdiction),\n      foreignJurisdictionNames = _reduce(foreignJurisdictions, (collect, foreignJurisdiction) => {\n        collect[foreignJurisdiction] = getStateName(foreignJurisdiction);\n        return collect;\n      }, {});\n\n    // API-934: source from the matched formation entry rather than orderData[0], since\n    // slim payloads may place non-formation items (e.g. pro_plan_v36) at index 0.\n    // Treat an empty object as null — an empty {} is truthy and would otherwise flow\n    // through convertContact as a real contact during a subsequent CoRA POST.\n    const authorizedSignatory = _isEmpty(order?.authorized_signatory) ? null : order.authorized_signatory;\n    // API-891: when the flag is enabled, corp/llc formation orders matched via completed_action\n    // may have an empty jurisdiction at creation time — return state without throwing or\n    // corrupting it; the jurisdiction will be populated once the order is updated\n    if (postPurchaseEntityCheck &&\n        (service === 'corp_formation' || service === 'llc_formation') &&\n        !requestedJurisdiction) {\n      return state;\n    }\n    if ((!name && !postPurchaseEntityCheck) || !requestedJurisdiction) {\n      // This is an error situation. Report the error to sentry and return existing state\n      const err = new Error('Order missing data'),\n        dataStr = JSON.stringify(data, null, 4);\n      reportError(err, { metaData: { data: dataStr } });\n      if (!state.name || !state.requestedJurisdiction || !state.type) {\n        // If there is no state for this, throw an error to keep from moving forward\n        throw new Error('Order missing data and no existing data');\n      }\n      return state;\n    }\n\n    // API-925: the stock step now writes authorized_shares/par_value to the order-task, not the\n    // main order, but GET /orders still reads the (now-stale) order object and returns ''. Never\n    // let that empty value overwrite a non-empty value already in Redux — fall back to state.\n    //\n    // Numeric authorized_shares === 0 is deliberately folded into the same \"no authoritative\n    // value\" bucket as '' and therefore also preserves the existing Redux value. A corp always\n    // has a positive share count, so 0 here means \"the order object never received it\" (the\n    // pre-existing code already coerced 0 -> ''), not \"the customer chose zero shares\". If a real\n    // zero-share value ever becomes meaningful, write `${authorizedShares}` through unconditionally.\n    //\n    // null/undefined are bucketed with 0/'' too: the `= ''` destructuring defaults above only fire\n    // for `undefined`, so an explicit `null` from zenapi would otherwise stringify to the literal\n    // 'null'/'$null' and (being truthy) defeat the fall-back-to-state guard. `== null` catches both.\n    const\n      nextAuthorizedShares = (authorizedShares == null || authorizedShares === 0) ? '' : `${authorizedShares}`,\n      nextValuePerShare = (valuePerShare == null || valuePerShare === '') ? '' : `$${valuePerShare}`;\n\n    return update(state, {\n      status: { $set: 'incomplete' },\n      id: { $set: id },\n      type: { $set: type },\n      isSCorp: { $set: isSCorp },\n      hasSCorp: { $set: isSCorp },\n      daoMemberManaged: { $set: !daoService?.dao_smart_contract_managed },\n      daoRestriction: { $set: daoService?.dao_notice_approved },\n      daoSmartContractLink: { $set: daoService?.dao_smart_contract_link },\n      isDAO: { $set: !!daoService },\n      name: { $set: name },\n      indicator: { $set: indicator },\n      alternates: { $set: alternates },\n      description: { $set: _trim(description) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: requestedJurisdictionName },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      foreignJurisdictions: { $set: foreignJurisdictions },\n      foreignJurisdictionNames: { $set: foreignJurisdictionNames },\n      domesticEntity: { $set: domesticEntity },\n      hasExistingBusiness: { $set: hasExistingBusiness },\n      hasForeignJurisdictions: { $set: hasForeignJurisdictions },\n      authorizedShares: { $set: nextAuthorizedShares || state.authorizedShares },\n      valuePerShare: { $set: nextValuePerShare || state.valuePerShare },\n      businessActivity: { $set: businessActivity },\n      businessOrderType: { $set: businessOrderType },\n      authorizedSignatory: { $set: authorizedSignatory },\n      formationCounty: { $set: formationCounty }\n    });\n  },\n  /* eslint-enable max-statements */\n  processCreateBusiness = (state) => {\n    return update(state, {\n      createBusiness: { $set: false },\n      creatingBusiness: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreateBusinessComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        creatingBusiness: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    return update(state, {\n      id: { $set: data.id },\n      createBusiness: { $set: false },\n      creatingBusiness: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n  processBusinessDataConfirmation = (state) => {\n    return update(state, {\n      updateBusiness: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processUpdateBusiness = (state) => {\n    return update(state, {\n      updateBusiness: { $set: false },\n      updatingBusiness: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processUpdateBusinessComplete = (state, action) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        updatingBusiness: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    return update(state, {\n      businessOrderType: { $set: 'completed' },\n      updateBusiness: { $set: false },\n      updatingBusiness: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreateOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, {\n      id: { $set: data.business_entity_uuid }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processGetCompaniesComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { companies } = data;\n    const company = companies.find((c) => {\n      return c.business_entity_uuid === state.id;\n    });\n\n    return update(state, {\n      ...(company ? { isDAO: { $set: company?.is_dao } } : {}),\n      actionError: { $set: 0 }\n    });\n  },\n\n  // CoRA PF\n  processPFCoRABusinessId = (state, action, data) => {\n    const { id, business = {} } = data,\n      { type = '',\n        name = '',\n        indicator = '',\n        alternates = [],\n        description = '',\n        domesticJurisdiction = '',\n        foreignJurisdictions = [],\n        domesticFilingDate = '',\n        stateId = '',\n        authorizedShares = 0,\n        valuePerShare = ''\n      } = business,\n      domesticJurisdictionName = domesticJurisdiction ? getStateName(domesticJurisdiction) : '',\n      foreignJurisdictionNames = _reduce(foreignJurisdictions, (collect, foreignJurisdiction) => {\n        collect[foreignJurisdiction] = getStateName(foreignJurisdiction);\n        return collect;\n      }, {});\n\n    return update(state, {\n      id: { $set: id },\n      status: { $set: 'incomplete' },\n      type: { $set: type },\n      name: { $set: name },\n      indicator: { $set: indicator },\n      alternates: { $set: alternates },\n      description: { $set: _trim(description) },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      foreignJurisdictions: { $set: foreignJurisdictions },\n      foreignJurisdictionName: { $set: foreignJurisdictionNames },\n      domesticEntity: { $set: true },\n      domesticFilingDate: { $set: domesticFilingDate },\n      stateId: { $set: stateId },\n      // Not subject to the API-925 stale-'' issue (cf. processOrdersComplete): this fires on\n      // CoRA-PF company selection, and the busId step hardcodes `business.authorizedShares: 0,\n      // valuePerShare: 0` — never read from the main order. The reset to '' is intended here.\n      authorizedShares: { $set: authorizedShares === 0 ? '' : `${authorizedShares}` },\n      valuePerShare: { $set: valuePerShare === '' ? '' : `$${valuePerShare}` }\n    });\n  },\n\n  processPFCoRAInit = (state, action, data) => {\n    const { id = '' } = data,\n      newState = _assign({}, INITIAL_STATE_DEFAULT, {\n        id,\n        status: 'incomplete'\n      });\n\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n\n  processPFCoRABusinessType = (state, action, data) => {\n    const { type } = data;\n\n    return update(state, {\n      type: { $set: type }\n    });\n  },\n\n  processPFBusinessTypeAndName = (state, action, data) => {\n    const { name, type, businessType } = data;\n\n    return update(state, {\n      name: { $set: _trim(name) },\n      type: { $set: type || businessType }\n    });\n  },\n\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [ACTIONS.ACCOWN_MODAL]: processAccountOwnerContact,\n    [ACTIONS.BUS_ACT]: processBusinessActivity,\n    [ACTIONS.BUS_ID]: processBusinessId,\n    [ACTIONS.BUS_NAME]: processBusinessName,\n    [ACTIONS.BUS_NAME_MODAL]: processBusinessName,\n    [ACTIONS.BUS_TYPE]: processBusinessType,\n    [ACTIONS.BUS_TYPE_MODAL]: processBusinessType,\n    [ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [ACTIONS.FORM_COUNTY]: processFormationCounty,\n    [ACTIONS.FORM_COUNTY_PF]: processFormationCountyPF,\n    [ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [ACTIONS.DOM_JUR_MODAL]: processDomesticJurisdiction,\n    [ACTIONS.PURCH_PLAN]: processPurchasePlan,\n    [ACTIONS.PURCH_PRIV]: processDomesticJurisdiction,\n    [ACTIONS.SCORP_ALL_US_OWNERS]: processSCorpAllUSOwners,\n    [ACTIONS.SCORP_INVESTORS]: processSCorpOutsideInvestors,\n    [ACTIONS.SCORP_LOSS]: processSCorpOperateLoss,\n    [ACTIONS.SCORP_SALARY]: processSCorpPaySalary,\n    [ACTIONS.EDIT_CHECKOUT]: checkoutEditBusiness,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [LLC_ACTIONS.BUS_ALT]: processBusinessAlternates,\n    [LLC_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [LLC_ACTIONS.BUS_NAME]: processBusinessName,\n    [LLC_ACTIONS.AUTH_SIG]: processAuthorizedSignatory,\n    [COMPANY_ACTIONS.GET_COMPANIES_COMPLETE]: processGetCompaniesComplete,\n\n    [CORP_ACTIONS.BUS_ALT]: processBusinessAlternates,\n    [CORP_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [CORP_ACTIONS.BUS_NAME]: processBusinessName,\n    [CORP_ACTIONS.CORP_STOCK]: processCorpStock,\n    [CORP_ACTIONS.HAS_MORE_THAN_ONE_SHARE]: processHasMoreThanOneShare,\n    [CORP_ACTIONS.AUTH_SIG]: processAuthorizedSignatory,\n\n    [REG_ACCOUNT_ACTIONS.HAS_EX_BUS]: processHasExistingBusiness,\n    [REG_ACCOUNT_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_ACCOUNT_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_ACCOUNT_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n\n    [REG_ANNUAL_REPORT_ACTIONS.SET_COMPANY]: processAnnualReportJurisdiction,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [REG_BUSINESS_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_BUSINESS_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_BUSINESS_ACTIONS.DOM_JUR]: processBusDomesticJurisdiction,\n    [REG_BUSINESS_ACTIONS.CREATE_BUSINESS]: processCreateBusiness,\n    [REG_BUSINESS_ACTIONS.CREATE_BUSINESS_COMPLETE]: processCreateBusinessComplete,\n\n    [COMP_BUSINESS_ACTIONS.BUS_MODAL]: processBusBusinessData,\n    [COMP_BUSINESS_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [COMP_BUSINESS_ACTIONS.DATA_CONFIRM]: processBusinessDataConfirmation,\n    [COMP_BUSINESS_ACTIONS.PAYMENT]: processStatus,\n    [COMP_BUSINESS_ACTIONS.UPDATE_BUSINESS]: processUpdateBusiness,\n    [COMP_BUSINESS_ACTIONS.UPDATE_BUSINESS_COMPLETE]: processUpdateBusinessComplete,\n    [COMP_BUSINESS_ACTIONS.INIT]: processStartBusinessComplete,\n\n    [REG_ACCOUNTING_ACTIONS.INIT]: processStart,\n\n    [REG_STOCK_SETUP_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_STOCK_SETUP_ACTIONS.INIT]: processDashboardProduct,\n    [REG_STOCK_SETUP_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_BUSINESSKIT_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_BUSINESSKIT_ACTIONS.INIT]: processDashboardProduct,\n    [REG_BUSINESSKIT_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_BASICEMAIL_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_BASICEMAIL_ACTIONS.INIT]: processDashboardProduct,\n    [REG_BASICEMAIL_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_BLR_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_BLR_ACTIONS.ACCOWN_MODAL]: processAccountOwnerContact,\n    [REG_BLR_ACTIONS.BUS_DATA_MODAL]: processBLRBusinessData,\n    [REG_BLR_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [REG_BLR_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_BLR_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_BLR_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_BLR_ACTIONS.BUS_DATA]: processBusinessModal,\n    [REG_BLR_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_BLR_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [REG_BLR_ACTIONS.INIT]: processStart,\n\n    [COMP_BLR_ACTIONS.AUTH_SIG]: processAuthorizedSignatory,\n    [COMP_BLR_ACTIONS.AUTH_SIG_MODAL]: processAuthorizedSignatory,\n    [COMP_BLR_ACTIONS.DATA_CONFIRM]: processStatusComplete,\n\n    [REG_CD_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_CD_ACTIONS.INIT]: processDashboardProduct,\n    [REG_CD_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processPFCoRABusinessId,\n    [REG_CORA_PF_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_CORA_PF_ACTIONS.BUS_TYPE]: processPFCoRABusinessType,\n    [REG_CORA_PF_ACTIONS.BUS_TYPE_NAME_CART]: processPFBusinessTypeAndName,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_CORA_PF_ACTIONS.INIT]: processPFCoRAInit,\n\n    [COMP_CORA_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [COMP_CORA_ACTIONS.BUS_DESC_MODAL]: processBusinessDescription,\n    [COMP_CORA_ACTIONS.BUS_NAME_MODAL]: processBusinessName,\n    [COMP_CORA_ACTIONS.DATA_CONFIRM]: processStatusComplete,\n\n    [REG_DBA_PF_ACTIONS.INIT_REQ_JUR]: processDBAInitReqJurisdiction,\n    [REG_DBA_PF_ACTIONS.REQ_JUR]: processDBAReqJurisdiction,\n    [REG_DBA_PF_ACTIONS.HOME_STATE]: processDBAHomeState,\n    [REG_DBA_PF_ACTIONS.DOMESTIC_JUR]: processDBADomesticJurisdiction,\n\n\n    [COMP_DBA_ACTIONS.BUS_DESC]: processDBABusinessDescription,\n    [COMP_DBA_ACTIONS.BUS_MODAL]: processDBABusinessDescription,\n    [COMP_DBA_ACTIONS.DATA_CONFIRM]: processStatus,\n    [COMP_DBA_ACTIONS.DOM_ENTITY]: processDomesticEntity,\n    [COMP_DBA_ACTIONS.DOM_JUR]: processTRUiCRADomesticJurisdiction,\n    [COMP_DBA_ACTIONS.REG_MODAL]: processBusinessModal,\n\n    [REG_DOMAINNAME_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_DOMAINNAME_ACTIONS.INIT]: processDashboardProduct,\n    [REG_DOMAINNAME_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_DOMAIN_V2_ACTIONS.INIT]: processDashboardProduct,\n\n    [REG_EMAIL_V2_ACTIONS.INIT]: processDashboardProduct,\n\n    [REG_DOMAINPRIVACY_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_DOMAINPRIVACY_ACTIONS.INIT]: processDashboardProduct,\n    [REG_DOMAINPRIVACY_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_EIN_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_EIN_ACTIONS.ACCOWN_MODAL]: processAccountOwnerContact,\n    [REG_EIN_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [REG_EIN_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_EIN_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_EIN_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_EIN_ACTIONS.BUS_DATA]: processBusinessModal,\n    [REG_EIN_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_EIN_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [REG_EIN_ACTIONS.INIT]: processStart,\n\n    [COMP_EIN_ACTIONS.DATA_CONFIRM]: processStatus,\n\n    [REG_ETNTF_ACTIONS.INIT]: processDashboardProduct,\n    [REG_ETNTF_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_GS_ACTIONS.INIT]: processStart,\n\n    [REG_LOGOKIT_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_LOGOKIT_ACTIONS.INIT]: processDashboardProduct,\n    [REG_LOGOKIT_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_NAMERES_ACTIONS.ACC_OWN_INFO]: processAccountOwnerInfo,\n    [REG_NAMERES_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_NAMERES_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_NAMERES_ACTIONS.BUS_DATA]: processBusinessModal,\n    [REG_NAMERES_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_NAMERES_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n\n    [REG_NAMERES_ACTIONS.INIT]: processStart,\n\n    [BNG_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [BNG_ACTIONS.BUS_NAME]: processBusinessName,\n\n    [REG_NYPUB_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_NYPUB_ACTIONS.ACCOWN_DATA]: processAccountOwnerContact,\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_NYPUB_ACTIONS.BUS_MODAL]: processBusinessModal,\n    [REG_NYPUB_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_NYPUB_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [REG_NYPUB_ACTIONS.PAYMENT]: processStatus,\n    [REG_NYPUB_ACTIONS.INIT]: processStart,\n\n    [COMP_NYPUB_ACTIONS.BUS_DATA]: processBusinessDescription,\n    [COMP_NYPUB_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [COMP_NYPUB_ACTIONS.DATA_CONFIRM]: processStatus,\n\n    [REG_ONLINETOOLS_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_ONLINETOOLS_ACTIONS.INIT]: processDashboardProduct,\n    [REG_ONLINETOOLS_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_OPAGREEMENT_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_OPAGREEMENT_ACTIONS.INIT]: processDashboardProduct,\n    [REG_OPAGREEMENT_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.INIT]: processDashboardProduct,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_SMB_ECOMM_ADDON_ACTIONS.INIT]: processDashboardProduct,\n    [REG_SMB_ECOMM_ADDON_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.INIT]: processDashboardProduct,\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_SMB_WEBSITE_ACTIONS.INIT]: processDashboardProduct,\n    [REG_SMB_WEBSITE_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_WFG_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_WFG_ACTIONS.ACCOWN_DATA]: processAccountOwnerContact,\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_WFG_ACTIONS.BUS_MODAL]: processBusinessModal,\n    [REG_WFG_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_WFG_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_WFG_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_WFG_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [REG_WFG_ACTIONS.INIT]: processStart,\n    [REG_WFG_ACTIONS.PAYMENT]: processStatus,\n\n    [COMP_WFG_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [COMP_WFG_ACTIONS.BUS_MODAL]: processWFGBusinessData,\n    [COMP_WFG_ACTIONS.BUS_NAME]: processBusinessName,\n    [COMP_WFG_ACTIONS.DATA_CONFIRM]: processStatusComplete,\n\n    [REG_WFGIR_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_WFGIR_ACTIONS.INIT]: processDashboardProduct,\n    [REG_WFGIR_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_VANITY_PRODUCT_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_VANITY_PRODUCT_ACTIONS.INIT]: processDashboardProduct,\n    [REG_VANITY_PRODUCT_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_ZBMPRO_ACTIONS.INIT]: processDashboardProduct,\n    [REG_ZBMPRO_ACTIONS.PAYMENT]: processStatusComplete,\n    [REG_ZBM_PLAID_ACTIONS.INIT]: processDashboardProduct,\n    [REG_ZBM_PLAID_ACTIONS.SET_PLAID_PUBLIC_TOKENS]: processStatusComplete,\n\n    [REG_TAX_SERVICES_ACTIONS.INIT]: processDashboardProduct,\n    [REG_TAX_SERVICES_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [POSTPURCHASE_ACTIONS.MARK_COMPLETE]: processStatusComplete,\n    [POSTPURCHASE_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _trim from 'lodash/trim';\nimport _has from 'lodash/has';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as COMPLETE_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as REGISTER_DBA_PF_ACTIONS, STEPS } from '../../constants/register_dbaentity_pf';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { DOM_JURS } from '../../constants/ui';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/dbaEntity';\n\nconst getStateName = (value) => {\n  const match = _find(DOM_JURS, (option) => {\n    return option.value === value;\n  });\n  return match ? match.label : '';\n};\n\nconst addNextStep = ({ nextStep }) => {\n  if (!nextStep) { return {}; }\n  return { step: { $set: nextStep } };\n};\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    authorizedSignatory: null,\n    inProgress: false,\n    status: 'incomplete',\n    companyId: '',\n    businessType: '',\n    businessName: '',\n    parentType: '',\n    county: '',\n    city: '',\n    skipRequestedJurisdiction: false,\n    requestedJurisdiction: '',\n    requestedJurisdictionName: '',\n    dbaEntities: [], // for add-on flow\n    dbaName: '', // for standalone flow\n    hasDBAComnpliance: null,\n    skipDBACompliance: false,\n    dbaCompliance: null,\n    skipEIN: null,\n    skipStaticWebsite: null,\n\n    spFirstName: '',\n    spMiddleName: '',\n    spLastName: '',\n    spSuffix: '',\n\n    businessDescription: '',\n    businessIndustry: '',\n    ownerCount: 0,\n    stateFilingDate: '',\n    stateFilingNumber: '',\n    domesticEntity: null,\n    domesticJurisdiction: '',\n    domesticJurisdictionName: '',\n    hasEIN: null,\n    ein: '',\n    cardToken: '',\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0,\n    // for pf flow\n    initCompanyId: '',\n    step: '',\n    startStep: '',\n    initialJurisdiction: '',\n    initialJurisdictionName: '',\n    isInitialJurSupported: null,\n    isTypeSupported: null,\n    formWithZB: null,\n    homeState: null,\n    formInHomeState: null,\n    saveData: null,\n    businessIsRegistered: null,\n    checkOtherDomJurs: null,\n    loggedInBusSelection: null,\n    registerDBAInSameState: null,\n    price: 0,\n    loggedInUserNumberOfBusinesses: 0,\n    simulatedCompanyId: '',\n    isRegisteringABusiness: null,\n    skipInititialDomJur: null,\n    useCompanyConfirmation: null,\n    isCompanyStateSupported: null,\n    companyHasForeignQualification: null,\n    confirmCompanyUsage: null,\n    confirmDomesticJurisdiction: null\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processStart = (state, action, data) => {\n    const {\n      requestedJurisdiction = null,\n      skipRequestedJurisdiction = false,\n      county = null,\n      city = null,\n      dbaCompliance = null,\n      skipDBACompliance = false,\n      skipEIN = false,\n      initialJurisdiction = '',\n      skipInititialDomJur = false,\n      initCompanyId = '',\n      useCompanyConfirmation = false,\n      skipStaticWebsite = false,\n      simulatedCompanyId = '',\n      isRegisteringABusiness = true,\n      loggedInUserNumberOfBusinesses = 0\n    } = data;\n    const initialJurisdictionName =  initialJurisdiction ? getStateName(initialJurisdiction)  : '';\n\n    return update(state, {\n      initCompanyId: { $set: initCompanyId },\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      skipRequestedJurisdiction: { $set: skipRequestedJurisdiction },\n      county: { $set: county },\n      city: { $set: city },\n      dbaCompliance: { $set: dbaCompliance },\n      skipDBACompliance: { $set: skipDBACompliance },\n      skipEIN: { $set: skipEIN },\n      skipStaticWebsite: { $set: skipStaticWebsite },\n      step: { $set: STEPS.WELCOME },\n      simulatedCompanyId: { $set: simulatedCompanyId },\n      isRegisteringABusiness: { $set: isRegisteringABusiness },\n      skipInititialDomJur: { $set: skipInititialDomJur },\n      useCompanyConfirmation: { $set: useCompanyConfirmation },\n      initialJurisdiction: { $set: initialJurisdiction },\n      initialJurisdictionName: { $set: initialJurisdictionName },\n      loggedInUserNumberOfBusinesses: { $set: loggedInUserNumberOfBusinesses }\n    });\n  },\n  processInitialJurisdiction = (state, action, data) => {\n    const { requestedJurisdiction, isInitialJurSupported = null } = data;\n    const requestedJurisdictionName = getStateName(requestedJurisdiction);\n    return update(state, {\n      initialJurisdiction: { $set:requestedJurisdiction },\n      initialJurisdictionName: { $set:requestedJurisdictionName },\n      isInitialJurSupported: { $set: isInitialJurSupported },\n      requestedJurisdiction: { $set: isInitialJurSupported ? requestedJurisdiction : '' },\n      requestedJurisdictionName: { $set: isInitialJurSupported ? requestedJurisdictionName : '' },\n      ...addNextStep(data)\n    });\n  },\n  processPreDomesticJurisdiction  = (state, action, data) => {\n    const { domesticJurisdiction, county = '', city = '' } = data;\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: getStateName(domesticJurisdiction) },\n      county: { $set: county },\n      city: { $set: city },\n      ...addNextStep(data)\n    });\n  },\n  processPreDomesticJurConfirmation  = (state, action, data) => {\n    const { confirmDomesticJurisdiction } = data;\n\n    return update(state, {\n      confirmDomesticJurisdiction: { $set: confirmDomesticJurisdiction },\n      ...addNextStep(data)\n    });\n  },\n  processRequestedJurisdiction = (state, action, data) => {\n    const { requestedJurisdiction, county = '', city = '' } = data;\n\n    return update(state, {\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: getStateName(requestedJurisdiction) },\n      county: { $set: county },\n      city: { $set: city },\n      ...addNextStep(data)\n    });\n  },\n  processDBAName = (state, action, data) => {\n    const { dbaName } = data;\n\n    return update(state, {\n      dbaName: { $set: dbaName },\n      ...addNextStep(data)\n    });\n  },\n  processCheckpoint = (state, action, data) => {\n    const { saveData } = data;\n\n    return update(state, {\n      saveData: { $set: saveData },\n      ...addNextStep(data)\n    });\n  },\n  processBusRegistered = (state, action, data) => {\n    const { businessIsRegistered } = data;\n\n    return update(state, {\n      businessIsRegistered: { $set: businessIsRegistered },\n      ...addNextStep(data)\n    });\n  },\n  processPrice = (state, action, data) => {\n    const { price } = data;\n\n    return update(state, {\n      price: { $set: price },\n      ...addNextStep(data)\n    });\n  },\n  processCheckOtherDomJurs = (state, action, data) => {\n    const { checkOtherDomJurs } = data;\n\n    return update(state, {\n      checkOtherDomJurs: { $set: checkOtherDomJurs },\n      ...addNextStep(data)\n    });\n  },\n  processTypeAndBusinessName = (state, action, data) => {\n    const { name, type } = data;\n\n    return update(state, {\n      businessName: { $set: name },\n      businessType: { $set: type },\n      ...addNextStep(data)\n    });\n  },\n  processBusinessName = (state, action, data) => {\n    const { businessName, name } = data;\n\n    return update(state, {\n      businessName: { $set: businessName || name },\n      ...addNextStep(data)\n    });\n  },\n  processFormWithZB = (state, action, data) => {\n    return update(state, {\n      formWithZB: { $set: data.formWithZB },\n      ...addNextStep(data)\n    });\n  },\n  processHomeState = (state, action, data) => {\n    const { homeState } = data;\n    const domesticJur = homeState ? state.requestedJurisdiction : '';\n    const domesticJurName = homeState ? state.requestedJurisdictionName : '';\n    return update(state, {\n      homeState: { $set: homeState },\n      domesticJurisdiction: { $set: domesticJur },\n      domesticJurisdictionName: { $set: domesticJurName },\n      ...addNextStep(data)\n    });\n  },\n  processFormInHomeState = (state, action, data) => {\n    const { formInHomeState } = data;\n    const forExistingBusiness = {};\n    if (!state.isRegisteringABusiness) {\n      forExistingBusiness.domesticJurisdiction = { $set : formInHomeState ? state.requestedJurisdiction : '' };\n      forExistingBusiness.domesticJurisdictionName = { $set: formInHomeState ? state.requestedJurisdictionName : '' };\n    }\n    return update(state, {\n      formInHomeState: { $set: formInHomeState },\n      ...forExistingBusiness,\n      ...addNextStep(data)\n    });\n  },\n  processBusinessType = (state, action, data) => {\n    const { businessType, isTypeSupported = null } = data;\n\n    if (businessType !== 'SOLE') {\n      return update(state, {\n        businessType: { $set: businessType },\n        spFirstName: { $set: '' },\n        spMiddleName: { $set: '' },\n        spLastName: { $set: '' },\n        spSuffix: { $set: '' },\n        isTypeSupported: { $set: isTypeSupported },\n        ...addNextStep(data)\n      });\n    }\n    return update(state, {\n      businessType: { $set: businessType },\n      isTypeSupported: { $set: isTypeSupported },\n      ...addNextStep(data)\n    });\n  },\n  processDBAInSameState = (state, action, data) => {\n    const { registerDBAInSameState } = data;\n    const jur = registerDBAInSameState ? state.requestedJurisdiction : '';\n    const jurName = registerDBAInSameState ? state.requestedJurisdictionName : '';\n    return update(state, {\n      registerDBAInSameState: { $set: registerDBAInSameState },\n      domesticJurisdiction: { $set: jur },\n      domesticJurisdictionName: { $set: jurName },\n      ...addNextStep(data)\n    });\n\n  },\n  processCompanyId = (state, action, data) => {\n    const { companyId, name, businessType, requestedJurisdiction = '', county = '', city = '', isCompanyStateSupported = null } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      businessName: { $set: name },\n      businessType: { $set: businessType },\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: getStateName(requestedJurisdiction) },\n      initialJurisdiction: { $set: requestedJurisdiction },\n      initialJurisdictionName: { $set: getStateName(requestedJurisdiction) },\n      county: { $set: county },\n      city: { $set: city },\n      isRegisteringABusiness: { $set: !companyId },\n      isCompanyStateSupported: {  $set: isCompanyStateSupported },\n      ...addNextStep(data)\n    });\n  },\n  processBusSelection = (state, action, data) => {\n    return update(state, {\n      loggedInBusSelection: { $set: data.loggedInBusSelection },\n      ...addNextStep(data)\n    });\n  },\n  processCreateOrderComplete = (state, action) => {\n    const createCompleteSuccess = {};\n    if (!action.error) {\n      createCompleteSuccess.requestedJurisdiction = { $set: state.domesticJurisdiction };\n      createCompleteSuccess.requestedJurisdictionName = { $set: getStateName(state.domesticJurisdiction) };\n    }\n    return update(state, {\n      step: { $set: action.error ? STEPS.PAYMENT : '' },\n      ...createCompleteSuccess\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, dbaCompliance, cardToken } = data;\n\n    return update(state, {\n      dbaCompliance: { $set: dbaCompliance },\n      cardToken: { $set: cardToken },\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      ...addNextStep(data)\n    });\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id, cardToken } = data;\n    return update(state, {\n      cardToken: { $set: cardToken },\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processBusinessDescription = (state, action, data) => {\n    const { businessDescription, businessIndustry } = data;\n\n    return update(state, {\n      businessDescription: { $set: businessDescription },\n      businessIndustry: { $set: businessIndustry }\n    });\n  },\n  processOwnerCount = (state, action, data) => {\n    const { ownerCount } = data;\n\n    return update(state, {\n      ownerCount: { $set: ownerCount }\n    });\n  },\n  processStateFiling = (state, action, data) => {\n    const { stateFilingDate, stateFilingNumber } = data;\n\n    return update(state, {\n      stateFilingDate: { $set: stateFilingDate },\n      stateFilingNumber: { $set: stateFilingNumber }\n    });\n  },\n  processDomesticEntity = (state, action, data) => {\n    const { domesticEntity, requestedJurisdiction } = data;\n\n    if (domesticEntity) {\n      return update(state, {\n        domesticEntity: { $set: domesticEntity },\n        domesticJurisdiction: { $set: requestedJurisdiction },\n        requestedJurisdictionName: { $set: getStateName(requestedJurisdiction) }\n      });\n    }\n    return update(state, {\n      domesticEntity: { $set: domesticEntity }\n    });\n  },\n  processDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data;\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction }\n    });\n  },\n  processHasEIN = (state, action, data) => {\n    const { hasEIN } = data;\n\n    if (!hasEIN) {\n      return update(state, {\n        ein: { $set: '' },\n        hasEIN: { $set: hasEIN }\n      });\n    }\n    return update(state, {\n      hasEIN: { $set: hasEIN }\n    });\n  },\n  processEIN = (state, action, data) => {\n    const { ein } = data;\n\n    return update(state, {\n      ein: { $set: ein }\n    });\n  },\n  processBusinessModal = (state, action, data) => {\n    const\n      { businessIndustry, businessDescription } = data,\n      changes = {\n        businessIndustry: { $set: businessIndustry },\n        businessDescription: { $set: businessDescription }\n      };\n\n    return update(state, changes);\n  },\n  processRegistrationModal = (state, action, data) => {\n    const { stateFilingDate, stateFilingNumber, hasEIN, ein } = data;\n\n    return update(state, {\n      stateFilingDate: { $set: stateFilingDate },\n      stateFilingNumber: { $set: stateFilingNumber },\n      hasEIN: { $set: hasEIN },\n      ein: { $set: ein }\n    });\n  },\n  processStatus = (state, action, data) => {\n    const { status } = data;\n\n    return update(state, {\n      status: { $set: status || 'incomplete' }\n    });\n  },\n  processUser = (key, state, data, includeTitle) => {\n    const\n      {\n        isPrincipal = false,\n        title = '',\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        suffix = '',\n        companyName = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        state: addrState = '',\n        zipCode = '',\n        country = 'US',\n        email = '',\n        phoneNumber = ''\n      } = data || {};\n\n    if (state[key] === null) {\n      const contact = {\n        isPrincipal,\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix,\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode,\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber\n      };\n      if (includeTitle) {\n        contact.title = _trim(title);\n      }\n\n      return update(state, {\n        [key]: { $set: contact }\n      });\n    }\n\n    const updates = {\n      isPrincipal: { $set: isPrincipal },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: suffix },\n      companyName: { $set: _trim(companyName) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      state: { $set: addrState },\n      zipCode: { $set: zipCode },\n      country: { $set: _trim(country) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phoneNumber }\n    };\n    if (includeTitle) {\n      updates.title = { $set: _trim(title) };\n    }\n    return update(state, {\n      [key]: updates\n    });\n  },\n  processAuthorizedSignatory = (state, action, data) => {\n    return processUser('authorizedSignatory', state, data, true);\n  },\n\n    // Calls to middleware\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData, business_entity_uuid: companyId } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const service = _get(o, 'service', '');\n        return service === 'dba_entity';\n      }),\n      dbaComplianceOrder = _find(orderData, (o) => {\n        const service = _get(o, 'service', '');\n        return service === 'dba_compliance';\n      }),\n      dbaCompliance = !!dbaComplianceOrder;\n\n    if (!order) {\n      return state;\n    }\n    const\n      {\n        entity_type: entityType,\n        parent_type: parentType,\n        county,\n        city,\n        jurisdiction: requestedJurisdiction,\n        dba_name: dbaName,\n        business_purpose: businessDescription,\n        business_industry: businessIndustry,\n        owner_count: ownerCount,\n        jurisdiction_filing_date: stateFilingDate,\n        jurisdiction_filing_number: stateFilingNumber,\n        domestic_entity: domesticEntity,\n        domestic_jurisdiction: domesticJurisdiction,\n        authorized_signatory: authorizedSignatory,\n        has_ein: hasEIN,\n        sole_proprietor: soleProprietor = {},\n        ein\n      } = order,\n      // API-934: slim order_data nests entity_name under create_data\n      businessName = _get(order, 'entity_name', null) || _get(order, 'create_data.entity_name', null),\n      corpProdType = entityType === 'corp' ? 'CORP' : '',\n      llcProdType = entityType === 'llc' ? 'LLCX' : '',\n      solePropType = entityType === 'sole_prop' ? 'SOLE' : '',\n      businessType = corpProdType || llcProdType || solePropType,\n      {\n        first_name: spFirstName = '',\n        middle_name: spMiddleName = '',\n        last_name: spLastName = '',\n        suffix: spSuffix = ''\n      } = soleProprietor;\n\n    let authSignatory = null;\n    if (authorizedSignatory) {\n      const {\n        first_name: firstName = '',\n        middle_name: middleName = '',\n        last_name: lastName = '',\n        suffix = '',\n        company_name: companyName = '',\n        title = '',\n        email = '',\n        phone: phoneNumber = '',\n        address_1: addressLine1 = '',\n        address_2: addressLine2 = '',\n        city: authCity = '',\n        county: authCounty = '',\n        state: addrState = '',\n        zip: zipCode = '',\n        country = 'US',\n        is_principal: isPrincipal = false\n      } = authorizedSignatory;\n\n      authSignatory = {\n        firstName,\n        middleName,\n        lastName,\n        suffix,\n        companyName,\n        title,\n        email,\n        phoneNumber,\n        addressLine1,\n        addressLine2,\n        city: authCity,\n        county: authCounty,\n        state: addrState,\n        zipCode,\n        country,\n        isPrincipal\n      };\n    }\n\n    return update(state, {\n      status: { $set: 'incomplete' },\n      authorizedSignatory: { $set: authSignatory },\n      companyId: { $set: companyId },\n      businessType: { $set: _trim(businessType) },\n      businessName: { $set: _trim(businessName) },\n      parentType: { $set: _trim(parentType) },\n      requestedJurisdiction: { $set: _trim(requestedJurisdiction) },\n      requestedJurisdictionName: { $set: getStateName(requestedJurisdiction) },\n      county: { $set: _trim(county) },\n      city: { $set: _trim(city) },\n      dbaName: { $set: dbaName },\n      dbaCompliance: { $set: dbaCompliance },\n      businessDescription: { $set: _trim(businessDescription) },\n      businessIndustry: { $set: _trim(businessIndustry) },\n      ownerCount: { $set: ownerCount },\n      stateFilingDate: { $set: stateFilingDate },\n      stateFilingNumber: { $set: stateFilingNumber },\n      domesticEntity: { $set: domesticEntity },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: getStateName(domesticJurisdiction) },\n      hasEIN: { $set: hasEIN },\n      ein: { $set: ein },\n      spFirstName: { $set: spFirstName },\n      spMiddleName: { $set: spMiddleName },\n      spLastName: { $set: spLastName },\n      spSuffix: { $set: spSuffix }\n    });\n  },\n  processNextStep = (state, action, data) => {\n    return update(state, {\n      step: { $set: data.nextStep }\n    });\n  },\n  procesBusUsageConfirmation = (state, action, data) => {\n    return update(state, {\n      confirmCompanyUsage: { $set: data.confirmCompanyUsage },\n      ...addNextStep(data)\n    });\n  },\n  processForeignQualification = (state, action, data) => {\n    return update(state, {\n      companyHasForeignQualification: { $set: data.companyHasForeignQualification },\n      ...addNextStep(data)\n    });\n  },\n  processResetData = (state, action, data) => {\n    const updateObj = {};\n    Object.entries(data).forEach((entry) => {\n      const [key, value] = entry;\n      if (_has(state, key)) {\n        updateObj[key] = { $set: value };\n      }\n    });\n    return update(state, updateObj);\n  },\n  processMap = {\n    [REGISTER_DBA_PF_ACTIONS.INIT]: processStart,\n    [REGISTER_DBA_PF_ACTIONS.NEXT_STEP]: processNextStep,\n    [REGISTER_DBA_PF_ACTIONS.DBA_NAME]: processDBAName,\n    [REGISTER_DBA_PF_ACTIONS.DOMESTIC_JUR]: processPreDomesticJurisdiction,\n    [REGISTER_DBA_PF_ACTIONS.DOMESTIC_JUR_CONFIRMATION]: processPreDomesticJurConfirmation,\n    [REGISTER_DBA_PF_ACTIONS.REQ_JUR]: processRequestedJurisdiction,\n    [REGISTER_DBA_PF_ACTIONS.INIT_REQ_JUR]: processInitialJurisdiction,\n    [REGISTER_DBA_PF_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REGISTER_DBA_PF_ACTIONS.BUS_TYPE_NOT_FORMED]: processFormWithZB,\n    [REGISTER_DBA_PF_ACTIONS.HOME_STATE]: processHomeState,\n    [REGISTER_DBA_PF_ACTIONS.FORM_IN_HOME_STATE]: processFormInHomeState,\n    [REGISTER_DBA_PF_ACTIONS.BUS_NAME]: processBusinessName,\n    [REGISTER_DBA_PF_ACTIONS.CHECKPOINT]: processCheckpoint,\n    [REGISTER_DBA_PF_ACTIONS.BUS_REGISTERED]: processBusRegistered,\n    [REGISTER_DBA_PF_ACTIONS.CHECK_OTHER_JURS]: processCheckOtherDomJurs,\n    [REGISTER_DBA_PF_ACTIONS.PRICES]: processPrice,\n    [REGISTER_DBA_PF_ACTIONS.BUS_TYPE_NAME_CART]: processTypeAndBusinessName,\n    [REGISTER_DBA_PF_ACTIONS.PAYMENT]: processPayment,\n    [REGISTER_DBA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REGISTER_DBA_PF_ACTIONS.BUS_SELECTION]: processBusSelection,\n    [REGISTER_DBA_PF_ACTIONS.BUS_ID]: processCompanyId,\n    [REGISTER_DBA_PF_ACTIONS.DBA_IN_SAME_STATE]: processDBAInSameState,\n    [REGISTER_DBA_PF_ACTIONS.RESET_DATA]: processResetData,\n    [REGISTER_DBA_PF_ACTIONS.BUS_HAS_FOREIGN_QUALIFICATION]: processForeignQualification,\n    [REGISTER_DBA_PF_ACTIONS.BUS_USAGE_CONFIRM]: procesBusUsageConfirmation,\n\n    [COMPLETE_ACTIONS.BUS_MODAL]: processBusinessModal,\n    [COMPLETE_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [COMPLETE_ACTIONS.DATA_CONFIRM]: processStatus,\n    [COMPLETE_ACTIONS.DBA_MODAL]: processDBAName,\n    [COMPLETE_ACTIONS.DOM_ENTITY]: processDomesticEntity,\n    [COMPLETE_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [COMPLETE_ACTIONS.EIN]: processEIN,\n    [COMPLETE_ACTIONS.HAS_EIN]: processHasEIN,\n    [COMPLETE_ACTIONS.OWNER_COUNT]: processOwnerCount,\n    [COMPLETE_ACTIONS.OWNER_DATA]: processOwnerCount,\n    [COMPLETE_ACTIONS.REG_MODAL]: processRegistrationModal,\n    [COMPLETE_ACTIONS.STATE_FILING]: processStateFiling,\n    [COMPLETE_ACTIONS.AUTH_SIG]: processAuthorizedSignatory,\n    [COMPLETE_ACTIONS.AUTH_SIG_MODAL]: processAuthorizedSignatory,\n\n    [COMP_EIN_ACTIONS.DATA_DBA_CONFIRM]: processStatus,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment,\n\n    [REGISTRATION_ACTIONS.INIT]: resetAllData,\n    [REGISTRATION_ACTIONS.PURCH_PLAN]: resetAllData,\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nINITIAL_STATE.startStep = INITIAL_STATE.step;\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { ACTIONS } from '../../constants/annual_report';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\n\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/annualReport';\n\nconst INITIAL_STATE_DEFAULT = {\n  inProgress: false,\n  skip: {},\n  activeRoute: 'select-company',\n  complianceEventUuid: '',\n  didAddAmendment: null,\n  didAddWFC: null,\n  fieldInfo: null,\n  filingJurisdiction: null,\n  filingJurisdictionType: null,\n  isFetchingJurisdiction: false,\n  isPurchasingWFG: false,\n  useCredit: null,\n  hasWFG: false,\n  hasARS: false,\n  hasPurchasedWFC: false,\n  creditUUID: '',\n  jurisdictionRules: null,\n  originalCompanyInfo: {},\n  defaultTaxPreparer: null,\n  updatedCompanyInfo: {},\n  orderCompleteBusinessId: '',\n  cardId: '',\n  cardNumber: '',\n  cardToken: '',\n  expMonth: '',\n  expYear: '',\n  cvc: '',\n  brand: '',\n  last4: '',\n  cardCreated: false,\n  actionError: 0,\n  stateId: ''\n};\n\nconst INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n\nconst update = (newState) => {\n  reducerStorage.store(storageKey, newState);\n  return newState;\n};\n\nconst removeFieldFromUpdatedFields = (currentUpdates, fieldName) => {\n  const updatedInfo = currentUpdates;\n\n  delete updatedInfo[fieldName];\n\n  return updatedInfo;\n};\n\nexport default (state = INITIAL_STATE, action) => {\n  switch (action.type) {\n    case ACTIONS.SKIP_FLOW:\n      return update({\n        ...state,\n        skip: action.skip\n      });\n    case ACTIONS.ADVANCE_IN_FLOW:\n      return update({\n        ...state,\n        activeRoute: action.newRouteName\n      });\n\n    case ACTIONS.SET_COMPLIANCE_EVENT_UUID:\n      return update({\n        ...state,\n        complianceEventUuid: action.complianceEventUuid\n      });\n\n    case ACTIONS.FETCH_JURISDICTION_REQ:\n      return update({\n        ...state,\n        isFetchingJurisdiction: true\n      });\n\n    case ACTIONS.FETCH_JURISDICTION_COMPLETE:\n      return update({\n        ...state,\n        fieldInfo: action.fieldInfo,\n        isFetchingJurisdiction: false,\n        jurisdictionRules: action.jurisdictionRules\n      });\n\n    case ACTIONS.FETCH_COMPLIANCE_EVENT_COMPLETE:\n      return update({\n        ...state,\n        complianceEventDueDate: action.complianceEventDueDate\n      });\n\n    case ACTIONS.SET_FLOW_CHANGE_FLAGS:\n      return update({\n        ...state,\n        flowChangeFlags: action.flowChangeFlags\n      });\n\n    case ACTIONS.SET_ADD_AMENDMENT:\n      return update({\n        ...state,\n        didAddAmendment: action.didAddAmendment\n      });\n\n    case ACTIONS.SET_ADD_WFC:\n      return update({\n        ...state,\n        didAddWFC: action.didAddWFC\n      });\n\n    case ACTIONS.SET_COMPANY: {\n      if (action.company.id === state.originalCompanyInfo.id) {\n        return update({\n          ...state,\n          originalCompanyInfo: action.company,\n          filingJurisdiction: action.company.domesticJurisdiction,\n          hasPurchasedWFC: action.company.hasPurchasedWFC\n        });\n      }\n      return update({\n        ...INITIAL_STATE_DEFAULT,\n        inProgress: true,\n        originalCompanyInfo: action.company,\n        filingJurisdiction: action.company.domesticJurisdiction,\n        hasPurchasedWFC: action.company.hasPurchasedWFC,\n        orderCompleteBusinessId: action.company.id,\n        complianceEventUuid:state.complianceEventUuid\n      });\n    }\n\n    case ACTIONS.SET_FOREIGN_JURISDICTION:\n      return update({\n        ...state,\n        filingJurisdiction: action.data.jurisdictionCode,\n        stateId: action.data.stateId,\n        // restart updatedCompanyInfo when jurisdiction changes\n        updatedCompanyInfo: {}\n      });\n\n    case ACTIONS.INIT:\n      return update({\n        ...state,\n        inProgress: true\n      });\n\n    case ACTIONS.SET_JURISDICTION_TYPE:\n      return update({\n        ...state,\n        filingJurisdiction: action.filingJurisdiction || state.filingJurisdiction,\n        filingJurisdictionType: action.jurisdictionType\n      });\n\n    case ACTIONS.SET_DEFAULT_TAX_PREPARER:\n      return update({\n        ...state,\n        defaultTaxPreparer: action.taxPreparer\n      });\n\n    case ACTIONS.SET_FOREIGN_JURISDICTION_STATE_ID:\n      return update({\n        ...state,\n        stateId: action.stateId\n      });\n\n    case ACTIONS.RESET_FIELD:\n      return update({\n        ...state,\n        updatedCompanyInfo: removeFieldFromUpdatedFields(state.updatedCompanyInfo, action.fieldName)\n      });\n\n    case ACTIONS.SET_FIELD:\n      return update({\n        ...state,\n        updatedCompanyInfo: {\n          ...state.updatedCompanyInfo,\n          [action.fieldName]: action.updatedFieldValue\n        }\n      });\n\n    case ACTIONS.SET_PURCHASE_WFG:\n      return update({\n        ...state,\n        isPurchasingWFG: action.isPurchasing\n      });\n\n    case ACTIONS.SET_HAS_WFG:\n      return update({\n        ...state,\n        hasWFG: action.hasWFG\n      });\n\n    case ACTIONS.SET_USE_CREDIT:\n      return update({\n        ...state,\n        useCredit: action.useCredit,\n        creditUUID: action.creditUUID,\n        hasWFG: action.hasWFG\n      });\n\n    case ACTIONS.SET_USE_ARS:\n      return update({\n        ...state,\n        hasARS: action.hasARS\n      });\n\n    case ACTIONS.CREATE_ORDER_COMPLETE:\n      if (!action.error) {\n        return update({\n          ...INITIAL_STATE_DEFAULT,\n          orderCompleteBusinessId: state.orderCompleteBusinessId\n        });\n      }\n      return state;\n\n    case ACTIONS.PAYMENT:\n      return update({\n        ...state,\n        cardId: action.payload.data.cardId,\n        cardToken: action.payload.data.cardToken,\n        expMonth: action.payload.data.expMonth,\n        expYear: action.payload.data.expYear,\n        cvc: action.payload.data.cvc,\n        brand: action.payload.data.brand,\n        last4: action.payload.data.last4\n      });\n\n    case REGISTRATION_ACTIONS.RESET:\n      return update(INITIAL_STATE_DEFAULT);\n\n    default:\n      return state;\n  }\n};\n","import _cloneDeep from 'lodash/cloneDeep';\nimport _find from 'lodash/find';\nimport _findIndex from 'lodash/findIndex';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport _without from 'lodash/without';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport { ASST_SEC, PRES, SEC, TRSR, VP, TITLE_INDEXES } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/officers';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    hasAsstSecretary: null,\n    hasVicePresident: null,\n    officers: []\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  genId = (state) => {\n    const { officers } = state,\n      nextNum = _reduce(officers, (value, officer) => {\n        const newValue = parseInt(officer.id.substring(4), 10);\n        return value < newValue ? newValue : value;\n      }, 0);\n    return `off-${nextNum + 1}`;\n  },\n  hasTitle = (persons, title) => {\n    return !!_find(persons, (person) => {\n      return person.title ? person.title.split(',').indexOf(title) !== -1 : false;\n    });\n  },\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  removeTitle = (oldTitle, title) => {\n    const values = oldTitle.split(',');\n    return _trim(_without(values, title).join());\n  },\n  addTitle = (oldTitle, title) => {\n    const values = oldTitle.split(',');\n    if (values.length === 1 && !values[0]) {\n      values.shift();\n    }\n    if (values.indexOf(title) === -1) {\n      const titleIndex = TITLE_INDEXES[title];\n      if (titleIndex < values.length) {\n        values.splice(titleIndex, 0, title);\n      } else {\n        values.push(title);\n      }\n    }\n    return _trim(values.join());\n  },\n  updateChoice = (state, id, title) => {\n    if (!id) {\n      return state;\n    }\n    const { officers } = state,\n      titleIndex = _findIndex(officers, (officer) => {\n        return officer.title.split(',').indexOf(title) !== -1;\n      }),\n      idIndex = _findIndex(officers, (officer) => {\n        return officer.id === id;\n      });\n\n    if (idIndex !== titleIndex) {\n      if (idIndex >= 0 && titleIndex >= 0) {\n        return update(state, {\n          officers: {\n            [idIndex]: {\n              title: { $set: addTitle(officers[idIndex].title, title) }\n            },\n            [titleIndex]: {\n              title: { $set: removeTitle(officers[titleIndex].title, title) }\n            }\n          }\n        });\n      }\n      if (idIndex >= 0) {\n        return update(state, {\n          officers: {\n            [idIndex]: {\n              title: { $set: addTitle(officers[idIndex].title, title) }\n            }\n          }\n        });\n      }\n      return update(state, {\n        officers: {\n          [titleIndex]: {\n            title: { $set: removeTitle(officers[titleIndex].title, title) }\n          }\n        }\n      });\n    }\n    return state;\n  },\n  // This function assumes that the incoming officer is a new officer\n  updateOfficer = (state, { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country = 'US', email, phoneNumber }, title) => {\n    const { officers } = state,\n      newOfficer = {\n        id: genId(state),\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix: _trim(suffix),\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode: _trim(zipCode),\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber: _trim(phoneNumber),\n        title\n      },\n      titleIndex = _findIndex(officers, (officer) => {\n        return officer.title === title;\n      });\n\n    // If no existing title found, then it is a new user.\n    if (titleIndex === -1) {\n      return update(state, {\n        officers: { $push: [ newOfficer ] }\n      });\n    }\n    return update(update(state, {\n      officers: {\n        [titleIndex]: {\n          title: { $set: removeTitle(officers[titleIndex].title, title) }\n        }\n      }\n    }), {\n      officers: { $push: [ newOfficer ] }\n    });\n  },\n  // This function assumes that the incoming officer is an existing officer with changed data other than the title\n\n  processAsstSecretary = (state, action, data) => {\n    return updateOfficer(state, data, ASST_SEC);\n  },\n  processChooseAsstSecretary = (state, action, data) => {\n    return updateChoice(state, data.id, ASST_SEC);\n  },\n  processChoosePresident = (state, action, data) => {\n    return updateChoice(state, data.id, PRES);\n  },\n  processChooseSecretary = (state, action, data) => {\n    return updateChoice(state, data.id, SEC);\n  },\n  processChooseTreasurer = (state, action, data) => {\n    return updateChoice(state, data.id, TRSR);\n  },\n  processChooseVicePresident = (state, action, data) => {\n    return updateChoice(state, data.id, VP);\n  },\n  processHasAsstSecretary = (state, action, data) => {\n    const { hasAsstSecretary } = data;\n    if (hasAsstSecretary) {\n      return update(state, {\n        hasAsstSecretary: { $set: hasAsstSecretary }\n      });\n    }\n    if (state.hasAsstSecretary) {\n      return update(updateChoice(state, 'none', ASST_SEC), {\n        hasAsstSecretary: { $set: hasAsstSecretary }\n      });\n    }\n    return state;\n  },\n  processHasVicePresident = (state, action, data) => {\n    const { hasVicePresident } = data;\n    if (hasVicePresident) {\n      return update(state, {\n        hasVicePresident: { $set: hasVicePresident }\n      });\n    }\n    if (state.hasVicePresident) {\n      return update(updateChoice(state, 'none', VP), {\n        hasVicePresident: { $set: hasVicePresident }\n      });\n    }\n    return state;\n  },\n  processPresident = (state, action, data) => {\n    return updateOfficer(state, data, PRES);\n  },\n  processSecretary = (state, action, data) => {\n    return updateOfficer(state, data, SEC);\n  },\n  processTreasurer = (state, action, data) => {\n    return updateOfficer(state, data, TRSR);\n  },\n  processVicePresident = (state, action, data) => {\n    return updateOfficer(state, data, VP);\n  },\n  processOfficialListModal = (state, action, data) => {\n    const { officers, hasVicePresident, hasAsstSecretary } = data;\n\n    return update(state, {\n      hasVicePresident: { $set: hasVicePresident },\n      hasAsstSecretary: { $set: hasAsstSecretary },\n      officers: { $set: _map(officers, (off) => {\n        if (off.id.indexOf('off-') !== 0) {\n          off.id = genId(state);\n        }\n        return off;\n      }) }\n    });\n  },\n\n  processBusinessId = (state, action, data) => {\n    const\n      { directors, officers } = data;\n\n    if (!officers) {\n      return update(state, {\n        officers: { $set: [] },\n        hasAsstSecretary: { $set: null },\n        hasVicePresident: { $set: null }\n      });\n    }\n\n    const\n      hasPresident = hasTitle(officers, PRES) || hasTitle(directors, PRES),\n      hasSecretary = hasTitle(officers, SEC) || hasTitle(directors, SEC),\n      hasVicePresident = hasPresident ? hasTitle(officers, VP) || hasTitle(directors, VP) : null,\n      hasAsstSecretary = hasSecretary ? hasTitle(officers, ASST_SEC) || hasTitle(directors, ASST_SEC) : null;\n\n    return update(state, {\n      hasAsstSecretary: { $set: hasAsstSecretary },\n      hasVicePresident: { $set: hasVicePresident },\n      officers: { $set: _cloneDeep(officers) }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const offs = _get(o, 'officers', null);\n\n        return offs !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      { officers, directors } = order,\n      convertedOfficers = _map(officers, (officer, index) => {\n        const\n          id = `off-${index}`,\n          { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = officer,\n          { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state: addrState = '', zip: zipCode = '', country = 'US', email = '', phone: phoneNumber = '', outstanding_judgments: outstandingJudgments = null } = officer;\n\n        return { id, firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country, email, phoneNumber, title, outstandingJudgments };\n      }),\n      hasPresident = hasTitle(officers, PRES) || hasTitle(directors, PRES),\n      hasSecretary = hasTitle(officers, SEC) || hasTitle(directors, SEC),\n      hasVicePresident = hasPresident ? hasTitle(officers, VP) || hasTitle(directors, VP) : null,\n      hasAsstSecretary = hasSecretary ? hasTitle(officers, ASST_SEC) || hasTitle(directors, ASST_SEC) : null;\n\n    return update(state, {\n      officers: { $set: convertedOfficers },\n      hasVicePresident: { $set: hasVicePresident },\n      hasAsstSecretary: { $set: hasAsstSecretary }\n    });\n  },\n  processUpdateOfficer = (state, action, data) => {\n    const { officers = [] } = state;\n    const { arrayIndex, email, phoneNumber } = data;\n    const updatedOfficers = _cloneDeep(officers);\n    const { email: mEmail, phoneNumber: mPhoneNumber } = updatedOfficers[arrayIndex];\n    if (phoneNumber !== mPhoneNumber || email !== mEmail ) {\n      updatedOfficers[arrayIndex] = {\n        ...updatedOfficers[arrayIndex],\n        phoneNumber,\n        email\n      };\n      return update(state, {\n        officers: { $set: updatedOfficers }\n      });\n    }\n    return state;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [CORP_ACTIONS.ASST_SEC]: processAsstSecretary,\n    [CORP_ACTIONS.CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [CORP_ACTIONS.CHOOSE_PRES]: processChoosePresident,\n    [CORP_ACTIONS.CHOOSE_SEC]: processChooseSecretary,\n    [CORP_ACTIONS.CHOOSE_TRSR]: processChooseTreasurer,\n    [CORP_ACTIONS.CHOOSE_VP]: processChooseVicePresident,\n    [CORP_ACTIONS.HAS_ASST_SEC]: processHasAsstSecretary,\n    [CORP_ACTIONS.HAS_VP]: processHasVicePresident,\n    [CORP_ACTIONS.PRES]: processPresident,\n    [CORP_ACTIONS.SEC]: processSecretary,\n    [CORP_ACTIONS.TRSR]: processTreasurer,\n    [CORP_ACTIONS.VP]: processVicePresident,\n    [CORP_ACTIONS.UPDATE_OFC]: processUpdateOfficer,\n\n    [COMP_BLR_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_BLR_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_BLR_ACTIONS.CORP_OFF_LIST_MODAL]: processOfficialListModal,\n    [COMP_BLR_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_BLR_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_BLR_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_BLR_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_BLR_ACTIONS.UPDATE_OFC]: processUpdateOfficer,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [COMP_BUSINESS_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_BUSINESS_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_BUSINESS_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_BUSINESS_ACTIONS.UPDATE_OFC]: processUpdateOfficer,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_CORA_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_CORA_ACTIONS.CORP_OFF_LIST_MODAL]: processOfficialListModal,\n    [COMP_CORA_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_CORA_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_CORA_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_CORA_ACTIONS.CORP_VP]: processVicePresident,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_WFG_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_WFG_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_WFG_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_WFG_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_WFG_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_WFG_ACTIONS.UPDATE_OFC]: processUpdateOfficer,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/register_smb_website';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/smbWebsite';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    alreadyPurchased: null,\n\n    companyId: '',\n    jurisdiction: null,\n    yearlyInterval: null,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n\n  processChooseInterval = (state, action, data) => {\n    const { yearlyInterval = null } = data;\n\n    return update(state, {\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processComplete = (state) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, { companyId: state.companyId }));\n  },\n  processInit = (state, action, data) => {\n    const {\n      alreadyPurchased,\n      companyId,\n      jurisdiction\n    } = data;\n    return update(state, {\n      alreadyPurchased: { $set: alreadyPurchased },\n      companyId: { $set: companyId },\n      inProgress: { $set: !alreadyPurchased },\n      jurisdiction: { $set: jurisdiction },\n      yearlyInterval: { $set: null },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = _find(orders, (order) => {\n        return order.order_status === 'incomplete';\n      });\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      smbWebsiteOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'static_website';\n      });\n\n    if (!smbWebsiteOrder) {\n      return state;\n    }\n    const\n      {\n        jurisdiction,\n        service,\n        yearlyInterval\n      } = smbWebsiteOrder;\n\n    return update(state, {\n      jurisdiction: { $set: jurisdiction },\n      service: { $set: service === 'static_website' },\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processMap = {\n    [ACTIONS.CHOOSE_INTERVAL]: processChooseInterval,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BUSINESSKIT_ACTIONS } from '../../constants/register_business_kit';\nimport { ACTIONS as REG_CORP_TRANSPARENCY_ACT_ACTIONS } from '../../constants/register_bof';\nimport { ACTIONS as REG_BOF_MODIFICATIONS_ACTIONS } from '../../constants/register_bof_modification';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_CD_ACTIONS } from '../../constants/register_corpdocs';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_ENTITY_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_DOMAIN_V2_ACTIONS } from '../../constants/register_domain_v2';\nimport { ACTIONS as REG_DOMAINNAME_ACTIONS } from '../../constants/register_domainname';\nimport { ACTIONS as REG_DOMAINPRIVACY_ACTIONS } from '../../constants/register_domainprivacy';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_ETNTF_ACTIONS } from '../../constants/register_expense_tracker_n_tax_filing';\nimport { ACTIONS as REG_GS_ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REG_LOGOKIT_ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REG_INITIALCPASCREENING_ACTIONS } from '../../constants/register_initialcpascreening';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_ONLINETOOLS_ACTIONS } from '../../constants/register_onlinetools';\nimport { ACTIONS as REG_OPAGREEMENT_ACTIONS } from '../../constants/register_opagreement';\nimport { ACTIONS as REG_SMB_WEBSITE_ACTIONS } from '../../constants/register_smb_website';\nimport { ACTIONS as REG_SMB_WEBSITE_ECOMM_ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport { ACTIONS as REG_SMB_ECOMM_ADDON_ACTIONS } from '../../constants/register_smb_ecomm_addon';\nimport { ACTIONS as REG_SMB_WEBSITE_OR_ECOMM_ACTIONS } from '../../constants/register_smb_website_or_ecomm';\nimport { ACTIONS as REG_STOCK_SETUP_ACTIONS } from '../../constants/register_stock_setup';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as REG_WFGIR_ACTIONS } from '../../constants/register_wfgir';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as REG_ANNUAL_REPORT_ACTIONS } from '../../constants/annual_report';\nimport { ACTIONS as REG_AMENDMENT } from '../../constants/amendment';\nimport { ACTIONS as VANITY_PRODUCT_ACTIONS } from '../../constants/vanity_products';\nimport { ACTIONS as REG_VANITY_PRODUCT_ACTIONS } from '../../constants/register_vanity';\nimport { ACTIONS as REG_ZBMPRO_ACTIONS } from '../../constants/register_zbmpro';\nimport { ACTIONS as REG_ZBM_PLAID_ACTIONS } from '../../constants/register_zbm_plaid';\nimport { ACTIONS as REG_ZB_BANKING_PREFERRED } from '../../constants/register_zb_banking_preferred';\nimport { ACTIONS as REG_TAX_SERVICES } from '../../constants/register_tax_services';\nimport reducerStorage, { getReducerSnapshot } from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/order';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    createOrder: false,\n    creatingOrder: false,\n    updateOrder: false,\n    updatingOrder: false,\n    id: '',\n    isSubscription: false,\n    postpurchaseId: '',\n    totalPrice: 0,\n    stateFees: 0,\n    bofError: 0, // Special for postpurchase BOF\n    actionError: 0,\n    incompleteOrder: null,\n    willMarkOrderCompleted: true\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT), { creatingOrder: false, updatingOrder: false }),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processPayment = (state, action, data) => {\n    const { forceToPrivacy, totalPrice = 0, stateFees = 0 } = data;\n\n    return update(state, {\n      createOrder: { $set: !forceToPrivacy },\n      actionError: { $set: 0 },\n      totalPrice: { $set: totalPrice },\n      stateFees: { $set: stateFees }\n    });\n  },\n  processCreateHurdlrOrder = (state, action, data) => {\n    const { totalPrice = 0, stateFees = 0 } = data;\n\n    return update(state, {\n      createOrder: { $set: true },\n      actionError: { $set: 0 },\n      totalPrice: { $set: totalPrice },\n      stateFees: { $set: stateFees }\n    });\n  },\n  processCreateOrder = (state) => {\n    return update(state, {\n      createOrder: { $set: false },\n      creatingOrder: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreateOrderComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        creatingOrder: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    return update(state, {\n      id: { $set: data.id },\n      createOrder: { $set: false },\n      creatingOrder: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreatePostPurchaseOrder = (state) => {\n    return update(state, {\n      createOrder: { $set: false },\n      creatingOrder: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  // In this case, we want to record the bofError but move the process forward so that\n  // the error can be reported on the congrats page.\n  processCreatePostPurchaseOrderBOFFailed = (state, action, data) => {\n    const errorCode = _get(action, 'payload.errorCode', 0);\n    return update(state, {\n      postpurchaseId: { $set: data.id },\n      createOrder: { $set: false },\n      creatingOrder: { $set: false },\n      bofError: { $set: errorCode },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreatePostPurchaseOrderComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        creatingOrder: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    return update(state, {\n      postpurchaseId: { $set: data.id },\n      createOrder: { $set: false },\n      creatingOrder: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n  processPostpurchasePayment = (state, action, data) => {\n    const {\n      purchaseBankOfAmericaOffer,\n      purchaseBLR,\n      purchaseRA,\n      purchaseDBAEntity,\n      purchaseFFD,\n      purchaseBusinessKit,\n      purchaseBOF,\n      purchaseCD,\n      purchaseTaxAdvice,\n      purchaseTaxAdviceBizTaxPrep,\n      purchaseWFGIR,\n      purchaseVanityProduct,\n      purchaseVBA,\n      purchaseZbBankingPreferredOffer,\n      purchaseZBMPro,\n      totalPrice = 0,\n      stateFees = 0,\n      isComplete\n    } = data;\n\n    if (isComplete) {\n      return state;\n    }\n    //CAT\n    return update(state, {\n      createOrder: {\n        $set: (purchaseZbBankingPreferredOffer\n          || purchaseBankOfAmericaOffer\n          || purchaseBLR\n          || purchaseFFD\n          || purchaseCD\n          || purchaseVBA\n          || purchaseWFGIR\n          || purchaseDBAEntity\n          || purchaseTaxAdvice\n          || purchaseTaxAdviceBizTaxPrep\n          || purchaseZBMPro\n          || purchaseBusinessKit\n          || purchaseBOF\n          || purchaseVanityProduct\n          || purchaseRA)\n      },\n      updateOrder: {\n        $set: (!purchaseZbBankingPreferredOffer\n          && !purchaseBankOfAmericaOffer\n          && !purchaseDBAEntity\n          && !purchaseBLR\n          && !purchaseFFD\n          && !purchaseCD\n          && !purchaseTaxAdvice\n          && !purchaseTaxAdviceBizTaxPrep\n          && !purchaseVBA\n          && !purchaseWFGIR\n          && !purchaseZBMPro\n          && !purchaseBusinessKit\n          && !purchaseBOF\n          && !purchaseVanityProduct\n          && !purchaseRA)\n      },\n      actionError: { $set: 0 },\n      totalPrice: { $set: totalPrice },\n      stateFees: { $set: stateFees }\n    });\n  },\n\n  processUpdateOrder = (state) => {\n    return update(state, {\n      updateOrder: { $set: false },\n      updatingOrder: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  willMarkOrderCompleted = (state, action) => {\n    return update(state, {\n      willMarkOrderCompleted: {\n        $set: action.payload\n      }\n    });\n  },\n  processUpdateOrderComplete = (state, action) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        updatingOrder: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    return update(state, {\n      updatingOrder: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const {\n      order_uuid: id,\n      order_tracking: orderTracking\n    } = incompleteOrder;\n\n    const flowType = orderTracking?.flow_type || '';\n\n    if (!id) {\n      return state;\n    }\n\n    return update(state, {\n      id: { $set: id },\n      isSubscription: { $set: flowType === 'subscription' || flowType === 'sub' },\n      incompleteOrder: { $set: incompleteOrder }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n  resetActionError = (state) => {\n    let snapshot = getReducerSnapshot('registration/order');\n    if (snapshot) {\n      snapshot = {\n        ...snapshot,\n        actionError: 0\n      };\n      reducerStorage.storeLocal('registration/order', snapshot);\n    }\n\n    return update(state, {\n      actionError: { $set: 0 }\n    });\n  },\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [LLC_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [LLC_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [CORP_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [CORP_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_ACCOUNTING_ACTIONS.INIT]: processComplete,\n    [REG_ACCOUNTING_ACTIONS.PAYMENT]: processPayment,\n    [REG_ACCOUNTING_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_ACCOUNTING_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_ANNUAL_REPORT_ACTIONS.INIT]: processComplete,\n    [REG_ANNUAL_REPORT_ACTIONS.PAYMENT]: processPayment,\n    [REG_ANNUAL_REPORT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_ANNUAL_REPORT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_AMENDMENT.INIT]: processComplete,\n    [REG_AMENDMENT.PAYMENT]: processPayment,\n    [REG_AMENDMENT.CREATE_ORDER]: processCreateOrder,\n    [REG_AMENDMENT.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_BUSINESSKIT_ACTIONS.START]: processComplete,\n    [REG_BUSINESSKIT_ACTIONS.PAYMENT]: processPayment,\n    [REG_BUSINESSKIT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_BUSINESSKIT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_CORP_TRANSPARENCY_ACT_ACTIONS.INIT]: processComplete,\n    [REG_CORP_TRANSPARENCY_ACT_ACTIONS.PAYMENT]: processPayment,\n    [REG_CORP_TRANSPARENCY_ACT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_CORP_TRANSPARENCY_ACT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_BOF_MODIFICATIONS_ACTIONS.INIT]: processComplete,\n    [REG_BOF_MODIFICATIONS_ACTIONS.PAYMENT]: processPayment,\n    [REG_BOF_MODIFICATIONS_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_BOF_MODIFICATIONS_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_DOMAIN_V2_ACTIONS.INIT]: processComplete,\n\n    [REG_STOCK_SETUP_ACTIONS.START]: processComplete,\n    [REG_STOCK_SETUP_ACTIONS.PAYMENT]: processPayment,\n    [REG_STOCK_SETUP_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_STOCK_SETUP_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_BASICEMAIL_ACTIONS.START]: processComplete,\n    [REG_BASICEMAIL_ACTIONS.PAYMENT]: processPayment,\n    [REG_BASICEMAIL_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_BASICEMAIL_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_INITIALCPASCREENING_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_INITIALCPASCREENING_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_BLR_ACTIONS.INIT]: processComplete,\n    [REG_BLR_ACTIONS.PAYMENT]: processPayment,\n    [REG_BLR_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_BLR_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [COMP_BLR_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_BLR_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [COMP_BUSINESS_ACTIONS.PAYMENT]: processPayment,\n    [COMP_BUSINESS_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [COMP_BUSINESS_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_CD_ACTIONS.START]: processComplete,\n    [REG_CD_ACTIONS.PAYMENT]: processPayment,\n    [REG_CD_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_CD_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_CORA_PF_ACTIONS.INIT]: processComplete,\n    [REG_CORA_PF_ACTIONS.PAYMENT]: processPayment,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_CORA_PF_ACTIONS.PURCHASE_SUCCESS]: processComplete,\n    [REG_CORA_PF_ACTIONS.RESET_ACTION_ERROR]: resetActionError,\n\n    [COMP_CORA_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_CORA_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_DBA_ENTITY_PF_ACTIONS.START]: processComplete,\n    [REG_DBA_ENTITY_PF_ACTIONS.PAYMENT]: processPayment,\n    [REG_DBA_ENTITY_PF_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_DBA_ENTITY_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [COMP_DBA_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_DBA_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_DOMAINNAME_ACTIONS.START]: processComplete,\n    [REG_DOMAINNAME_ACTIONS.PAYMENT]: processPayment,\n    [REG_DOMAINNAME_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_DOMAINNAME_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_DOMAINPRIVACY_ACTIONS.START]: processComplete,\n    [REG_DOMAINPRIVACY_ACTIONS.PAYMENT]: processPayment,\n    [REG_DOMAINPRIVACY_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_DOMAINPRIVACY_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_EIN_ACTIONS.INIT]: processComplete,\n    [REG_EIN_ACTIONS.PAYMENT]: processPayment,\n    [REG_EIN_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_EIN_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_ETNTF_ACTIONS.START]: processComplete,\n    [REG_ETNTF_ACTIONS.PAYMENT]: processPayment,\n    [REG_ETNTF_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_ETNTF_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [COMP_EIN_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_EIN_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_GS_ACTIONS.INIT]: processComplete,\n    [REG_GS_ACTIONS.PAYMENT]: processPayment,\n    [REG_GS_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_GS_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_LOGOKIT_ACTIONS.START]: processComplete,\n    [REG_LOGOKIT_ACTIONS.PAYMENT]: processPayment,\n    [REG_LOGOKIT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_LOGOKIT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_NAMERES_ACTIONS.INIT]: processComplete,\n    [REG_NAMERES_ACTIONS.PAYMENT]: processPayment,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_NYPUB_ACTIONS.INIT]: processComplete,\n    [REG_NYPUB_ACTIONS.PAYMENT]: processPayment,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [COMP_NYPUB_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_NYPUB_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_ONLINETOOLS_ACTIONS.START]: processComplete,\n    [REG_ONLINETOOLS_ACTIONS.PAYMENT]: processPayment,\n    [REG_ONLINETOOLS_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_ONLINETOOLS_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_OPAGREEMENT_ACTIONS.START]: processComplete,\n    [REG_OPAGREEMENT_ACTIONS.PAYMENT]: processPayment,\n    [REG_OPAGREEMENT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_OPAGREEMENT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_SMB_WEBSITE_ACTIONS.INIT]: processComplete,\n    [REG_SMB_WEBSITE_ACTIONS.PAYMENT]: processPayment,\n    [REG_SMB_WEBSITE_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_SMB_WEBSITE_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.INIT]: processComplete,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.PAYMENT]: processPayment,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_SMB_ECOMM_ADDON_ACTIONS.INIT]: processComplete,\n    [REG_SMB_ECOMM_ADDON_ACTIONS.PAYMENT]: processPayment,\n    [REG_SMB_ECOMM_ADDON_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_SMB_ECOMM_ADDON_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.INIT]: processComplete,\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.PAYMENT]: processPayment,\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_WFG_ACTIONS.START]: processComplete,\n    [REG_WFG_ACTIONS.PAYMENT]: processPayment,\n    [REG_WFG_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_WFG_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [COMP_WFG_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_WFG_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_WFGIR_ACTIONS.START]: processComplete,\n    [REG_WFGIR_ACTIONS.PAYMENT]: processPayment,\n    [REG_WFGIR_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_WFGIR_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [VANITY_PRODUCT_ACTIONS.START]: processComplete,\n    [VANITY_PRODUCT_ACTIONS.PAYMENT]: processPayment,\n    [VANITY_PRODUCT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [VANITY_PRODUCT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_VANITY_PRODUCT_ACTIONS.START]: processComplete,\n    [REG_VANITY_PRODUCT_ACTIONS.PAYMENT]: processPayment,\n    [REG_VANITY_PRODUCT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_VANITY_PRODUCT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_ZB_BANKING_PREFERRED.START]: processComplete,\n    [REG_ZB_BANKING_PREFERRED.PAYMENT]: processPayment,\n    [REG_ZB_BANKING_PREFERRED.CREATE_ORDER]: processCreateOrder,\n    [REG_ZB_BANKING_PREFERRED.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_ZBMPRO_ACTIONS.START]: processComplete,\n    [REG_ZBMPRO_ACTIONS.PAYMENT]: processPayment,\n    [REG_ZBMPRO_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_ZBMPRO_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_ZBM_PLAID_ACTIONS.GET_PLAID_LINK_TOKEN]: processComplete,\n    [REG_ZBM_PLAID_ACTIONS.CREATE_HURDLR_ORDER]: processCreateHurdlrOrder,\n    [REG_ZBM_PLAID_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_ZBM_PLAID_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_TAX_SERVICES.START]: processComplete,\n    [REG_TAX_SERVICES.PAYMENT]: processPayment,\n    [REG_TAX_SERVICES.CREATE_ORDER]: processCreateOrder,\n    [REG_TAX_SERVICES.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [POSTPURCHASE_ACTIONS.PAYMENT]: processPostpurchasePayment,\n    [POSTPURCHASE_ACTIONS.CREATE_ORDER]: processCreatePostPurchaseOrder,\n    [POSTPURCHASE_ACTIONS.CREATE_ORDER_BOF_FAILED]: processCreatePostPurchaseOrderBOFFailed,\n    [POSTPURCHASE_ACTIONS.CREATE_ORDER_COMPLETE]: processCreatePostPurchaseOrderComplete,\n    [POSTPURCHASE_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [POSTPURCHASE_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n    [ORDER_ACTIONS.WILL_MARK_ORDER_COMPLETED]: willMarkOrderCompleted\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/register_smb_website_or_ecomm';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/smbWebsiteOrEcomm';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    alreadyPurchased: null,\n    hasDemoStore: false,\n    isUpgrade: false,\n\n    companyId: '',\n    jurisdiction: null,\n    chooseEcomm: null,\n    yearlyInterval: null,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n\n  processChoosePackage = (state, action, data) => {\n    const { chooseEcomm = null } = data;\n\n    return update(state, {\n      chooseEcomm: { $set: chooseEcomm }\n    });\n  },\n\n  processChooseInterval = (state, action, data) => {\n    const { yearlyInterval = null } = data;\n\n    return update(state, {\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processComplete = (state) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, { companyId: state.companyId }));\n  },\n  processInit = (state, action, data) => {\n    const {\n      alreadyPurchased,\n      isUpgrade,\n      companyId,\n      jurisdiction,\n      hasDemoStore\n    } = data;\n    return update(state, {\n      alreadyPurchased: { $set: alreadyPurchased },\n      companyId: { $set: companyId },\n      isUpgrade: { $set: isUpgrade },\n      inProgress: { $set: !alreadyPurchased },\n      jurisdiction: { $set: jurisdiction },\n      hasDemoStore: { $set: hasDemoStore },\n      chooseEcomm: { $set: null },\n      yearlyInterval: { $set: null },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      smbWebsiteOrEcommOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'smb_website_ecomm_bundle' || service === 'static_website';\n      });\n\n    if (!smbWebsiteOrEcommOrder) {\n      return state;\n    }\n    const\n      {\n        jurisdiction,\n        service,\n        yearlyInterval\n      } = smbWebsiteOrEcommOrder;\n\n    return update(state, {\n      jurisdiction: { $set: jurisdiction },\n      chooseEcomm: { $set: service === 'smb_website_ecomm_bundle' },\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processMap = {\n    [ACTIONS.CHOOSE_PACKAGE]: processChoosePackage,\n    [ACTIONS.CHOOSE_INTERVAL]: processChooseInterval,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _trim from 'lodash/trim';\nimport _has from 'lodash/has';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as REG_ACCOUNT_ACTIONS } from '../../constants/register_account';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { isLoggedIn } from '../../utils/AuthService';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { identifyUser } from '../../utils/ReportingUtils';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/customer';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    id: '',\n    firstName: '',\n    middleName: '',\n    lastName: '',\n    suffix: '',\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    stateName: '',\n    zipCode: '',\n    country: '',\n    lat: 0,\n    lng: 0,\n    addressIsGoogle: false,\n    email: '',\n    phoneNumber: '',\n    citizenship: '',\n    dateOfBirth: '',\n    orderToken: '',\n    cardId: '',\n    cardToken: '',\n    cardNumber: '',\n    expYear: '',\n    expMonth: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    password: '',\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    identifyUser({\n      name: [ newState.firstName, newState.middleName, newState.lastName ].join(' '),\n      email: newState.email\n    });\n    return newState;\n  },\n  processName = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix } = data;\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) }\n    });\n  },\n  processContact = (state, action, data) => {\n    const { email, phoneNumber } = data,\n      id = state.email !== email ? '' : state.id;\n\n    return update(state, {\n      id: { $set: id },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processOwnerInformation = (state, action, data) => {\n    const { firstName, lastName, email, phoneNumber } = data;\n    const id = state.email !== email ? '' : state.id;\n    return update(state, {\n      id: { $set: id },\n      firstName: { $set: _trim(firstName) },\n      lastName: { $set: _trim(lastName) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processContactAndPassword = (state, action, data) => {\n    const { email, phoneNumber, password } = data,\n      id = state.email !== email ? '' : state.id;\n\n    return update(state, {\n      id: { $set: id },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      password: { $set: password }\n    });\n  },\n  processAccountOwnerData = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix, email, phoneNumber } = data;\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processEmail = (state, action, data) => {\n    const { email } = data;\n\n    return update(state, {\n      email: { $set: email }\n    });\n  },\n  processFirstName = (state, action, data) => {\n    const { firstName } = data;\n\n    return update(state, {\n      firstName: { $set: firstName }\n    });\n  },\n  processLastName = (state, action, data) => {\n    const { lastName } = data;\n\n    return update(state, {\n      lastName: { $set: lastName }\n    });\n  },\n  processMiddleName = (state, action, data) => {\n    const { middleName } = data;\n\n    return update(state, {\n      middleName: { $set: middleName }\n    });\n  },\n  processPhone = (state, action, data) => {\n    const { phoneNumber } = data;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber }\n    });\n  },\n  processSuffix = (state, action, data) => {\n    const { suffix } = data;\n\n    return update(state, {\n      suffix: { $set: suffix }\n    });\n  },\n  processResetData = (state, action, data) => {\n    const updateObj = {};\n    Object.entries(data).forEach((entry) => {\n      const [key, value] = entry;\n      if (_has(state, key)) {\n        updateObj[key] = { $set: value };\n      }\n    });\n    return update(state, updateObj);\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardToken, cardNumber, expMonth, expYear, cvc, brand, last4, email, password } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 },\n      email: { $set: email && state.email !== email  ? _trim(email) : state.email },\n      password: { $set: password && state.password !== password ? password : state.password  }\n    });\n  },\n  processCleanUpCardData = (state, action) => {\n    const { error } = action;\n    if (error) { return state; }\n    return update(state, {\n      cardId: { $set: '' },\n      cardToken: { $set: '' },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' },\n      brand: { $set: '' },\n      last4: { $set: '' }\n    });\n\n  },\n  processRemagineCart = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix, email, phoneNumber } = data;\n\n    return update(state, {\n      firstName: { $set: firstName },\n      middleName: { $set: middleName },\n      lastName: { $set: lastName },\n      suffix: { $set: suffix },\n      email: { $set: email },\n      phoneNumber: { $set: phoneNumber }\n    });\n  },\n  processAccountComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const\n      {\n        account_uuid: id,\n        account_email: email,\n        account_phone: phone,\n        first_name: firstName,\n        middle_name: middleName,\n        last_name: lastName,\n        suffix\n      } = data;\n\n    return update(state, {\n      id: { $set: id },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phone }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      product = _find(orderArray, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'ein_creation' || service === 'business_license_report' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      order = formation || product;\n\n    if (!order) {\n      return state;\n    }\n    const\n      { address, mailing_address: mailingAddress } = order,\n      addressTop = mailingAddress || address || order,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', country = 'US' } = addressTop,\n      stateName = '';\n\n    return update(state, {\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      stateName: { $set: stateName },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: _trim(country) },\n      lat: { $set: 0 },\n      lng: { $set: 0 },\n      addressIsGoogle: { $set: false }\n    });\n  },\n  processLogout = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processStart = (state, action, data) => {\n    const { firstName = '', middleName = '', lastName = '', suffix = '', email = '' } = data;\n\n    if (!isLoggedIn() && firstName) {\n      return update(state, {\n        firstName: { $set: _trim(firstName) },\n        middleName: { $set: _trim(middleName) },\n        lastName: { $set: _trim(lastName) },\n        suffix: { $set: _trim(suffix) },\n        email: { $set: _trim(email) }\n      });\n    }\n    return state;\n  },\n  resetAllData = (state) => {\n    const defaultData = !isLoggedIn() ? {} : {\n      id: state.id,\n      firstName: state.firstName,\n      middleName: state.middleName,\n      lastName: state.lastName,\n      suffix: state.suffix,\n      email: state.email,\n      phoneNumber: state.phoneNumber\n    };\n\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, defaultData));\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.ACCOWN_NAME]: processName,\n    [ACTIONS.ACCOWN_CONTACT]: processContact,\n    [ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.PURCHASE_SUCCESS]: resetAllData,\n    [ACTIONS.CREATE_ORDER_COMPLETE]: processCleanUpCardData,\n\n    [REG_ACCOUNT_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_ACCOUNT_ACTIONS.ACCOWN_CONTACT]: processContactAndPassword,\n\n    [REG_BLR_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_BLR_ACTIONS.ACCOWN_CONTACT]: processContact,\n    [REG_BLR_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_BLR_ACTIONS.PAYMENT]: processPayment,\n\n    [REG_CORA_PF_ACTIONS.ACCOWN_EMAIL]: processEmail,\n    [REG_CORA_PF_ACTIONS.ACCOWN_FIRST_NAME]: processFirstName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_LAST_NAME]: processLastName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_MIDDLE_NAME]: processMiddleName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_PHONE]: processPhone,\n    [REG_CORA_PF_ACTIONS.ACCOWN_SUFFIX]: processSuffix,\n    [REG_CORA_PF_ACTIONS.CART]: processRemagineCart,\n    [REG_CORA_PF_ACTIONS.INIT]: processStart,\n    [REG_CORA_PF_ACTIONS.PAYMENT]: processPayment,\n    [REG_CORA_PF_ACTIONS.RESET_DATA]: processResetData,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processCleanUpCardData,\n\n    [REG_DBA_PF_ACTIONS.ACCOWN_FIRST_NAME]: processFirstName,\n    [REG_DBA_PF_ACTIONS.ACCOWN_LAST_NAME]: processLastName,\n    [REG_DBA_PF_ACTIONS.ACCOWN_EMAIL]: processEmail,\n    [REG_DBA_PF_ACTIONS.ACCOWN_PHONE]: processPhone,\n    [REG_DBA_PF_ACTIONS.PAYMENT]: processPayment,\n    [REG_DBA_PF_ACTIONS.CART]: processRemagineCart,\n    [REG_DBA_PF_ACTIONS.RESET_DATA]: processResetData,\n\n    [REG_EIN_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_EIN_ACTIONS.ACCOWN_CONTACT]: processContact,\n    [REG_EIN_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_EIN_ACTIONS.PAYMENT]: processPayment,\n\n    [REG_NAMERES_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_NAMERES_ACTIONS.ACCOWN_CONTACT]: processContact,\n    [REG_NAMERES_ACTIONS.ACC_OWN_INFO]: processOwnerInformation,\n    [REG_NAMERES_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_NAMERES_ACTIONS.PAYMENT]: processPayment,\n\n    [REG_NYPUB_ACTIONS.INIT]: processStart,\n    [REG_NYPUB_ACTIONS.ACCOWN_CONTACT]: processContact,\n    [REG_NYPUB_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_NYPUB_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_NYPUB_ACTIONS.PAYMENT]: processPayment,\n\n    [REG_WFG_ACTIONS.ACCOWN_CONTACT]: processContact,\n    [REG_WFG_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_WFG_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_WFG_ACTIONS.INIT]: processStart,\n    [REG_WFG_ACTIONS.PAYMENT]: processPayment,\n\n    [ACCOUNT_ACTIONS.GET_ACCOUNT_COMPLETE]: processAccountComplete,\n    [ACCOUNT_ACTIONS.SET_LOGOUT]: processLogout,\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_zbmpro';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/zbmpro';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    zbmProMonthly: null,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    isUpgrade: false\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processCompleteReturnToDash = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, isUpgrade } = data;\n    const { zbmProMonthly } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      actionError: { $set: 0 },\n      isUpgrade : { $set: isUpgrade },\n      inProgress: { $set: true },\n      zbmProMonthly: { $set: zbmProMonthly }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [ACTIONS.COMPLETE_RETURN_TO_DASH]: processCompleteReturnToDash,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _has from 'lodash/has';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ANNUAL_REPORT_ACTIONS } from '../../constants/annual_report';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_DOMAINNAME_ACTIONS } from '../../constants/register_domainname';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_ETNTF_ACTIONS } from '../../constants/register_expense_tracker_n_tax_filing';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_ONLINETOOLS_ACTIONS } from '../../constants/register_onlinetools';\nimport { ACTIONS as REG_SMB_WEBSITE_ECOMM_ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport { ACTIONS as REG_SMB_ECOMM_ADDON_ACTIONS } from '../../constants/register_smb_ecomm_addon';\nimport { ACTIONS as REG_SMB_WEBSITE_OR_ECOMM_ACTIONS } from '../../constants/register_smb_website_or_ecomm';\nimport { ACTIONS as REG_SMB_WEBSITE_ACTIONS } from '../../constants/register_smb_website';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as REG_WFGIR_ACTIONS } from '../../constants/register_wfgir';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/purchase';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    accountant1800: null,\n    accountant1800AddOn: false,\n    accountant1800UpsellSkip: false,\n    anonymity: null,\n    anonymityAddOn: false,\n    anonymityUpsellSkip: false,\n    accountingGrowAndScale: null,\n    accountingQuickStart: false,\n    accountingUpAndRunning: false,\n    annualReportService: null,\n    banking: null,\n    bankingAddOn: false,\n    bankingUpsellSkip: false,\n    bankingResolution: null,\n    bankingResolutionAddOn: false,\n    bankingResolutionUpsellSkip: false,\n    bankOfAmericaOffer: true,\n    basicEmail: null,\n    basicEmailAddOn: false,\n    basicEmailUpsellSkip: false,\n    cpaConsult: null,\n    cpaConsultAddOn: false,\n    cpaConsultUpsellSkip: false,\n    changeOfAgent: null,\n    changeOfAgentAddOn: false,\n    changeOfAgentUpsellSkip: false,\n    corporateDocs: null,\n    corporateDocsAddOn: false,\n    corporateDocsUpsellSkip: false,\n    domainName: null,\n    domainNameAddOn: false,\n    domainNameUpsellSkip: false,\n    domainNamePrivacy: null,\n    domainNamePrivacyAddOn: false,\n    domainNamePrivacyUpsellSkip: false,\n    emailAddresses: [],\n    ein: null,\n    einAddOn: false,\n    einUpsellSkip: false,\n    estimatedFormationDate: '',\n    expedite: null,\n    expediteAddOn: false,\n    expediteUpsellSkip: false,\n    expenseTrackerNTaxFiling: false,\n    initialCPAScreening: null,\n    initialCPAScreeningAddOn: false,\n    initialCPAScreeningUpsellSkip: false,\n    insurance: null,\n    insuranceAddOn: false,\n    insuranceUpsellSkip: false,\n    logoKit: false,\n    nameReservation: null,\n    nyPublication: null,\n    nyPublicationAddOn: false,\n    nyPublicationUpsellSkip: false,\n    operatingAgreement: null,\n    operatingAgreementAddOn: false,\n    operatingAgreementUpsellSkip: false,\n    planLevel: '',\n    privacy: null,\n    privacyAddOn: false,\n    privacyUpsellSkip: false,\n    smbEcommAddon: null,\n    smbWebsite: null,\n    smbWebsiteEcomm: null,\n    smbWebsiteOrEcomm: null,\n    staticWebsite: null,\n    staticWebsiteAddOn: false,\n    staticWebsiteUpsellSkip: false,\n    taxPreparation: null,\n    taxPreparationAddOn: false,\n    taxPreparationUpsellSkip: false,\n    worryFree: null,\n    worryFreeAddOn: false,\n    worryFreeUpsellSkip: false,\n    actionError: 0,\n    registeredAgentService: null,\n    purchaseZBMPro: null,\n    zbmProMonthly: null,\n    blr: null,\n    zbTaxAdvice: null,\n    zbBizTaxPrep: null,\n    zbTaxAdviceBizTaxPrep: null,\n    einBizDocsOaBundle: null,\n    bizDocsBlrBundle: null,\n\n    // The following are supported bundles for remagine\n    einBusinessDocsBundle: null,\n    websiteToolsBundle: null\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processBusinessType = (state, action, data) => {\n    const { type } = data,\n      { type: origType } = state;\n\n    if (type !== origType) {\n      return update(state, {\n        nyPublication: { $set: type === 'LLCX' ? state.nyPublication : null },\n        operatingAgreement: { $set: null }\n      });\n    }\n    if (type === 'CORP') {\n      return update(state, {\n        nyPublication: { $set: null }\n      });\n    }\n    return state;\n  },\n  processBanking = (state, action, data) => {\n    const { banking } = data;\n    return update(state, {\n      banking: { $set: banking }\n    });\n  },\n  processBankOfAmericaOffer = (state, action, data) => {\n    const { bankOfAmericaOffer } = data;\n    return update(state, {\n      bankOfAmericaOffer: { $set: bankOfAmericaOffer }\n    });\n  },\n  processBankingResolution = (state, action, data) => {\n    const { bankingResolution } = data;\n    return update(state, {\n      bankingResolution: { $set: bankingResolution }\n    });\n  },\n  processBasicEmail = (state, action, data) => {\n    const { basicEmail } = data;\n    return update(state, {\n      basicEmail: { $set: basicEmail }\n    });\n  },\n  processCorporateDocs = (state, action, data) => {\n    const { corporateDocs } = data;\n    return update(state, {\n      corporateDocs: { $set: corporateDocs }\n    });\n  },\n  processDomainName = (state, action, data) => {\n    const { domainName } = data;\n    return update(state, {\n      domainName: { $set: domainName }\n    });\n  },\n  processDomainNamePrivacy = (state, action, data) => {\n    const { domainNamePrivacy } = data;\n    return update(state, {\n      domainNamePrivacy: { $set: domainNamePrivacy }\n    });\n  },\n  processEIN = (state, action, data) => {\n    const { ein } = data;\n    return update(state, {\n      ein: { $set: ein }\n    });\n  },\n  processExpedite = (state, action, data) => {\n    const { expedite, estimatedFormationDate } = data;\n    return update(state, {\n      expedite: { $set: expedite },\n      estimatedFormationDate: { $set: estimatedFormationDate }\n    });\n  },\n  processNYPub = (state, action, data) => {\n    const { nyPublication } = data;\n    return update(state, {\n      nyPublication: { $set: nyPublication }\n    });\n  },\n  processNYPubPF = (state, action, data) => {\n    const { nyPublication } = data;\n    return update(state, {\n      nyPublication: { $set: nyPublication }\n    });\n  },\n  processOperatingAgreement = (state, action, data) => {\n    const { operatingAgreement } = data;\n    return update(state, {\n      operatingAgreement: { $set: operatingAgreement }\n    });\n  },\n  processPrivacy = (state, action, data) => {\n    const { privacy } = data;\n    return update(state, {\n      privacy: { $set: privacy }\n    });\n  },\n  processResetData = (state, action, data) => {\n    const updateObj = {};\n    Object.entries(data).forEach((entry) => {\n      const [key, value] = entry;\n      if (_has(state, key)) {\n        updateObj[key] = { $set: value };\n      }\n    });\n    return update(state, updateObj);\n  },\n  processEstimatedFormationDate = (state, action, data) => {\n    const { estimatedFormationDate } = data;\n    return update(state, {\n      estimatedFormationDate: { $set: estimatedFormationDate }\n    });\n  },\n  processProductConfirm = (state, action, data) => {\n    const\n      { planLevel, bankingResolution, banking, basicEmail, corporateDocs, domainName, domainNamePrivacy, emailAddresses, domainNames } = data,\n      { ein, estimatedFormationDate, expedite, nyPublication, operatingAgreement, privacy } = data,\n      { registeredAgentService, staticWebsite, worryFree } = data;\n    return update(state, {\n      planLevel: { $set: planLevel },\n      banking: { $set: banking },\n      bankingResolution: { $set: bankingResolution },\n      basicEmail: { $set: basicEmail },\n      corporateDocs: { $set: corporateDocs },\n      domainName: { $set: domainName },\n      domainNamePrivacy: { $set: domainNamePrivacy },\n      domainNames: { $set: domainNames },\n      ein: { $set: ein },\n      emailAddresses: { $set: emailAddresses },\n      estimatedFormationDate: { $set: estimatedFormationDate },\n      expedite: { $set: expedite },\n      nyPublication: { $set: nyPublication },\n      operatingAgreement: { $set: operatingAgreement },\n      privacy: { $set: privacy },\n      registeredAgentService: { $set: registeredAgentService },\n      staticWebsite: { $set: staticWebsite },\n      worryFree: { $set: worryFree }\n    });\n  },\n  processRegisteredAgent = (state, action, data) => {\n    const { ra } = data;\n    return update(state, {\n      registeredAgentService: { $set: ra }\n    });\n  },\n  processStaticWebsite = (state, action, data) => {\n    const { staticWebsite } = data;\n    return update(state, {\n      staticWebsite: { $set: staticWebsite }\n    });\n  },\n  processWorryFree = (state, action, data) => {\n    const { worryFree } = data;\n    return update(state, {\n      worryFree: { $set: worryFree }\n    });\n  },\n  processWorryFreeAndARS = (state, action, data) => {\n    const { worryFree, annualReportService } = data;\n    return update(state, {\n      worryFree: { $set: worryFree },\n      annualReportService: { $set: annualReportService }\n    });\n  },\n  processETNTFPurchase = (state, action, data) => {\n    const { expenseTrackerNTaxFiling } = data;\n    return update(state, {\n      expenseTrackerNTaxFiling: { $set: expenseTrackerNTaxFiling }\n    });\n  },\n  processRASPurchase = (state, action, data) => {\n    const { registeredAgentService } = data;\n    return update(state, {\n      registeredAgentService: { $set: registeredAgentService }\n    });\n  },\n  processPurchasePlan = (state, action, data) => {\n    const newState = _assign({}, state, data);\n    if (newState.customer) {\n      delete newState.customer;\n    }\n    if (newState.business) {\n      delete newState.business;\n    }\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processDomesticJurisdiction = (state, action, data) => {\n    const { purchase = null } = data;\n\n    if (purchase) {\n      const newState = _assign({}, state, purchase);\n      reducerStorage.store(storageKey, newState);\n      return newState;\n    }\n    if (state.nyPublication && data.domesticJurisdiction !== 'NY') {\n      return update(state, {\n        nyPublication: { $set: false }\n      });\n    }\n    return state;\n  },\n  processBusinessData = (state, action, data) => {\n    const { domesticJurisdiction, type = state.type } = data;\n\n    if (domesticJurisdiction === 'NY' && type === 'LLCX') {\n      return state;\n    }\n    return update(state, {\n      nyPublication: { $set: null }\n    });\n  },\n  processSetPayment = (state, action, data) => {\n    const { purchase } = data,\n      {\n        bankingResolution,\n        basicEmail,\n        corporateDocs,\n        domainName,\n        domainNamePrivacy,\n        ein,\n        expenseTrackerNTaxFiling,\n        nyPublication,\n        operatingAgreement,\n        privacy,\n        staticWebsite,\n        worryFree\n      } = purchase;\n\n    return update(state, {\n      bankingResolution: { $set: bankingResolution },\n      basicEmail: { $set: basicEmail },\n      corporateDocs: { $set: corporateDocs },\n      domainName: { $set: domainName },\n      domainNamePrivacy: { $set: domainNamePrivacy },\n      ein: { $set: ein },\n      expenseTrackerNTaxFiling: { $set: expenseTrackerNTaxFiling },\n      nyPublication: { $set: nyPublication },\n      operatingAgreement: { $set: operatingAgreement },\n      privacy: { $set: privacy },\n      staticWebsite: { $set: staticWebsite },\n      worryFree: { $set: worryFree }\n    });\n  },\n  processRegEINPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { ein: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegETNTFPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { expenseTrackerNTaxFiling: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegNameReservationPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { nameReservation: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegNYPubPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { nyPublication: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegSMBWebsitePurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { smbWebsite: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegSMBWebsiteEcommPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { smbWebsiteEcomm: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegSMBEcommAddonPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { smbEcommAddon: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegSMBWebsiteOrEcommPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { smbWebsiteOrEcomm: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n\n  processRegWFGPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { worryFree: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData, order_items: orderItems } = incompleteOrder,\n      formation = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      });\n\n    const\n      { estimated_formation_date: estimatedFormationDate } = formation || { estimated_formation_date: '' },\n      accountant1800 = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === '1800_accountant';\n      }),\n      anonymity = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'anonymity';\n      }),\n      annualReportService = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'annual_report_service';\n      }),\n      banking = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'banking';\n      }),\n      bankingResolution = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'banking_resolution';\n      }),\n      basicEmail = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'basic_email';\n      }),\n      changeOfAgent = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'change_of_registered_agent';\n      }),\n      corporateDocs = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'corporate_docs';\n      }),\n      cpaConsult = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'cpa_consult';\n      }),\n      domainName = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'domain_name_reg';\n      }),\n      domainNamePrivacy = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'domain_name_privacy';\n      }),\n      ein = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'ein_creation';\n      }),\n      logoKit = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'logo_kit';\n      }),\n      nameReservation = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'entity_name_reservation';\n      }),\n      nyPublication = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'ny_publication';\n      }),\n      operatingAgreement = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'operating_agreement';\n      }),\n      priority = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'expedite';\n      }),\n      priorityString = priority ? 'priority' : 'standard',\n      privacy = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'registered_agent_service';\n      }),\n      registeredAgentService = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'registered_agent_service';\n      }),\n      rush = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'rush' || _get(item, 'service', '') === 'expedite_to_rush_upgrade';\n      }),\n      rushString = rush ? 'rush' : '',\n      expedite = rushString || priorityString,\n      staticWebsite = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'static_website';\n      }),\n      smbWebsite = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'static_website';\n      }),\n      smbEcommAddon = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'smb_ecomm_addon';\n      }),\n      smbWebsiteEcomm = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'smb_website_ecomm_bundle';\n      }),\n      smbWebsiteOrEcomm = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'smb_website_ecomm_bundle' || _get(item, 'service', '') === 'static_website';\n      }),\n      taxPreparation = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'tax_preparation';\n      }),\n      worryFree = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'worry_free_service';\n      }),\n      initialCPAScreening = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'initial_cpa_screening';\n      }),\n      einBusinessDocsBundle = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'ein_business_docs_bundle';\n      }),\n      websiteToolsBundle = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'website_tools_bundle';\n      }),\n      purchaseZBMPro = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'zb_money_pro';\n      }),\n      zbTaxAdvice = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'zb_tax_advice';\n      }),\n      zbBizTaxPrep = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'zb_biztax_prep';\n      }),\n      zbTaxAdviceBizTaxPrep = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'zb_tax_advice_biztax_prep';\n      }),\n      bizDocsBlrBundle = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'bizdocs_blr_bundle';\n      }),\n      einBizDocsOaBundle = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'ein_bizdocs_oa_bundle';\n      }),\n      zbBankingPreferred = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'zb_banking_preferred';\n      }),\n      zbmProMonthly  = _find(orderItems, (item) => {\n        const service = _get(item, 'service', '');\n        if (service === 'zb_money_pro') {\n          return item.period === 12;\n        }\n        return false;\n      }),\n      blr = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'business_license_report';\n      }),\n      starterPlan = _find(orderItems, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('starter_plan') !== -1 && service.indexOf('ra_') === -1;\n      }),\n      proPlan = _find(orderItems, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('pro_plan') !== -1 && service.indexOf('ra_') === -1;\n      }),\n      premiumPlan = _find(orderItems, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('premium_plan') !== -1 && service.indexOf('ra_') === -1;\n      }),\n      raStarterPlan = _find(orderItems, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('starter_plan') !== -1 && service.indexOf('ra_') !== -1;\n      }),\n      raProPlan = _find(orderItems, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('pro_plan') !== -1 && service.indexOf('ra_') !== -1;\n      }),\n      raPremiumPlan = _find(orderItems, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('premium_plan') !== -1 && service.indexOf('ra_') !== -1;\n      }),\n      subscriptionPlanWithRa = _find(orderItems, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('subscription_plan') !== -1 && service.indexOf('_ra') !== -1;\n      }),\n      subscriptionPlan = _find(orderItems, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('subscription_plan') !== -1 && service.indexOf('_ra') === -1;\n      });\n\n    let planLevel = '';\n    if (starterPlan) {\n      planLevel = 'level1';\n    } else if (proPlan) {\n      planLevel = 'level2';\n    } else if (premiumPlan) {\n      planLevel = 'level3';\n    } else if (raStarterPlan) {\n      planLevel = 'raLevel1';\n    } else if (raProPlan) {\n      planLevel = 'raLevel2';\n    } else if (raPremiumPlan) {\n      planLevel = 'raLevel3';\n    } else if (subscriptionPlan) {\n      planLevel = 'level1';\n    } else if (subscriptionPlanWithRa) {\n      planLevel = 'level2';\n    }\n\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, {\n      accountant1800: !!accountant1800,\n      anonymity: !!anonymity,\n      annualReportService: !!annualReportService,\n      banking: !!banking,\n      bankingResolution: !!bankingResolution,\n      basicEmail: !!basicEmail,\n      changeOfAgent: !!changeOfAgent,\n      corporateDocs: !!corporateDocs,\n      cpaConsult: !!cpaConsult,\n      domainName: !!domainName,\n      domainNamePrivacy: !!domainNamePrivacy,\n      ein: !!ein,\n      estimatedFormationDate,\n      expedite,\n      initialCPAScreening: !!initialCPAScreening,\n      logoKit: !!logoKit,\n      nyPublication: !!nyPublication,\n      nameReservation: !!nameReservation,\n      operatingAgreement: !!operatingAgreement,\n      privacy: !!privacy,\n      staticWebsite: !!staticWebsite,\n      smbWebsite: !!smbWebsite,\n      smbEcommAddon: !!smbEcommAddon,\n      smbWebsiteEcomm: !!smbWebsiteEcomm,\n      smbWebsiteOrEcomm: !!smbWebsiteOrEcomm,\n      taxPreparation: !!taxPreparation,\n      worryFree: !!worryFree,\n      planLevel,\n      registeredAgentService: !!registeredAgentService,\n      einBusinessDocsBundle: !!einBusinessDocsBundle,\n      websiteToolsBundle: !!websiteToolsBundle,\n      purchaseZBMPro: !!purchaseZBMPro,\n      zbmProMonthly: !!zbmProMonthly,\n      zbBankingPreferred: !!zbBankingPreferred,\n      blr: !!blr,\n      zbTaxAdvice: !!zbTaxAdvice,\n      zbBizTaxPrep: !!zbBizTaxPrep,\n      zbTaxAdviceBizTaxPrep: !!zbTaxAdviceBizTaxPrep,\n      bizDocsBlrBundle: !!bizDocsBlrBundle,\n      einBizDocsOaBundle: !!einBizDocsOaBundle\n    });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processStart = (state, action, data) => {\n    const newState = _assign({}, state, data.purchaseData);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processStartAccounting = (state, action, data) => {\n    const { accountingGrowAndScale, accountingQuickStart, accountingUpAndRunning } = data;\n\n    return update(state, {\n      accountingGrowAndScale: { $set: accountingGrowAndScale },\n      accountingQuickStart: { $set: accountingQuickStart },\n      accountingUpAndRunning: { $set: accountingUpAndRunning }\n    });\n  },\n  processAnnualReportWFG = (state, action) => {\n    return update(state, {\n      worryFree: { $set: action.isPurchasing }\n    });\n  },\n  processEmailAddresses = (state, action, data) => {\n    const { emailAddresses } = data;\n    return update(state, {\n      emailAddresses: { $set: emailAddresses }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.BOA_OFFER]: processBankOfAmericaOffer,\n    [ACTIONS.BUS_DATA]: processBusinessData,\n    [ACTIONS.BUS_TYPE]: processBusinessType,\n    [ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [ACTIONS.PRODUCT_CONFIRM]: processProductConfirm,\n    [ACTIONS.PURCH_BANK]: processBanking,\n    [ACTIONS.PURCH_BANK_RES]: processBankingResolution,\n    [ACTIONS.PURCH_CORP_DOCS]: processCorporateDocs,\n    [ACTIONS.PURCH_DOMAIN]: processDomainName,\n    [ACTIONS.PURCH_DOMAIN_PRIV]: processDomainNamePrivacy,\n    [ACTIONS.PURCH_EIN]: processEIN,\n    [ACTIONS.PURCH_EMAIL]: processBasicEmail,\n    [ACTIONS.PURCH_EXP]: processExpedite,\n    [ACTIONS.PURCH_EXPEDITE]: processExpedite,\n    [ACTIONS.PURCH_NYPUB]: processNYPub,\n    [ACTIONS.PURCH_NYPUB_PF]: processNYPubPF,\n    [ACTIONS.PURCH_OP_AGREE]: processOperatingAgreement,\n    [ACTIONS.PURCH_PLAN]: processPurchasePlan,\n    [ACTIONS.PURCH_PRIV]: processPrivacy,\n    [ACTIONS.PURCH_WEBSITE]: processStaticWebsite,\n    [ACTIONS.PURCH_WF]: processWorryFree,\n    [ACTIONS.PURCH_RAS]: processRASPurchase,\n    [ACTIONS.PAYMENT]: processSetPayment,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [REG_ACCOUNTING_ACTIONS.START]: processStartAccounting,\n\n    [REG_ANNUAL_REPORT_ACTIONS.SET_PURCHASE_WFG]: processAnnualReportWFG,\n\n    [REG_CORA_PF_ACTIONS.PLAN]: processPurchasePlan,\n    [REG_CORA_PF_ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [REG_DBA_PF_ACTIONS.PURCH_WEBSITE]: processStaticWebsite,\n    [REG_DBA_PF_ACTIONS.PURCH_EIN]: processEIN,\n    [REG_DBA_PF_ACTIONS.RESET_DATA]: processResetData,\n\n    [REG_DOMAINNAME_ACTIONS.PRODUCT_CONFIRM]: processProductConfirm,\n    [REG_DOMAINNAME_ACTIONS.PURCH_DOMAIN_PRIV]: processDomainNamePrivacy,\n    [REG_DOMAINNAME_ACTIONS.PURCH_EMAIL]: processBasicEmail,\n    [REG_BASICEMAIL_ACTIONS.EMAIL_ADDRESS]: processEmailAddresses,\n\n    [REG_EIN_ACTIONS.START_EIN]: processRegEINPurchase,\n    [REG_ETNTF_ACTIONS.INIT]: processRegETNTFPurchase,\n    [REG_ETNTF_ACTIONS.PURCHASE]: processETNTFPurchase,\n\n    [REG_NAMERES_ACTIONS.INIT]: processRegNameReservationPurchase,\n    [REG_NYPUB_ACTIONS.INIT]: processRegNYPubPurchase,\n\n    [REG_ONLINETOOLS_ACTIONS.PRODUCT_CONFIRM]: processProductConfirm,\n\n    [REG_WFG_ACTIONS.INIT]: processRegWFGPurchase,\n\n    [REG_WFGIR_ACTIONS.INIT]: processWorryFreeAndARS,\n\n    [REG_SMB_WEBSITE_ACTIONS.INIT]: processRegSMBWebsitePurchase,\n\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.INIT]: processRegSMBWebsiteEcommPurchase,\n\n    [REG_SMB_ECOMM_ADDON_ACTIONS.INIT]: processRegSMBEcommAddonPurchase,\n\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.INIT]: processRegSMBWebsiteOrEcommPurchase,\n\n    [COMP_BUSINESS_ACTIONS.PURCH_REG_AGT]: processRegisteredAgent,\n\n    [COMP_BLR_ACTIONS.EST_DATE]: processEstimatedFormationDate,\n\n    [COMP_EIN_ACTIONS.EST_DATE]: processEstimatedFormationDate,\n\n    [CORP_ACTIONS.EST_DATE]: processEstimatedFormationDate,\n    [LLC_ACTIONS.EST_DATE]: processEstimatedFormationDate,\n    [POSTPURCHASE_ACTIONS.EST_DATE]: processEstimatedFormationDate,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _cloneDeep from 'lodash/cloneDeep';\nimport _find from 'lodash/find';\nimport _findIndex from 'lodash/findIndex';\nimport _get from 'lodash/get';\nimport _isString from 'lodash/isString';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport _without from 'lodash/without';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport { ASST_SEC, PRES, SEC, TRSR, VP, TITLE_INDEXES } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/directors';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    directors: [],\n    directorCount: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  getNextId = (state) => {\n    const { directors } = state;\n\n    return _reduce(directors, (value, director) => {\n      const newValue = parseInt(director.id.substring(4), 10);\n      return value < newValue ? newValue : value;\n    }, -1) + 1;\n  },\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  removeTitle = (oldTitle, title) => {\n    const values = oldTitle.split(',');\n    return _trim(_without(values, title).join());\n  },\n  addTitle = (oldTitle, title) => {\n    const values = _without(oldTitle.split(','), title);\n    if (values.length === 1 && !values[0]) {\n      values.shift();\n    }\n    const titleIndex = TITLE_INDEXES[title];\n    if (titleIndex < values.length) {\n      values.splice(titleIndex, 0, title);\n    } else {\n      values.push(title);\n    }\n    return _trim(values.join());\n  },\n  fixupTitle = (state, id, title) => {\n    const { directors } = state,\n      titleIndex = _findIndex(directors, (director) => {\n        return director.title.split(',').indexOf(title) !== -1;\n      }),\n      idIndex = _findIndex(directors, (director) => {\n        return director.id === id;\n      });\n\n    if (idIndex !== titleIndex) {\n      if (idIndex >= 0 && titleIndex >= 0) {\n        return update(state, {\n          directors: {\n            [idIndex]: {\n              title: { $set: addTitle(directors[idIndex].title, title) }\n            },\n            [titleIndex]: {\n              title: { $set: removeTitle(directors[titleIndex].title, title) }\n            }\n          }\n        });\n      }\n      if (idIndex >= 0) {\n        return update(state, {\n          directors: {\n            [idIndex]: {\n              title: { $set: addTitle(directors[idIndex].title, title) }\n            }\n          }\n        });\n      }\n      if (titleIndex >= 0) {\n        return update(state, {\n          directors: {\n            [titleIndex]: {\n              title: { $set: removeTitle(directors[titleIndex].title, title) }\n            }\n          }\n        });\n      }\n    }\n    return state;\n  },\n  processAsstSecretary = (state) => {\n    return fixupTitle(state, '', ASST_SEC);\n  },\n  processChooseAsstSecretary = (state, action, data) => {\n    if (data.id) {\n      return fixupTitle(state, data.id, ASST_SEC);\n    }\n    return state;\n  },\n  processChoosePresident = (state, action, data) => {\n    if (data.id) {\n      return fixupTitle(state, data.id, PRES);\n    }\n    return state;\n  },\n  processChooseSecretary = (state, action, data) => {\n    if (data.id) {\n      return fixupTitle(state, data.id, SEC);\n    }\n    return state;\n  },\n  processChooseTreasurer = (state, action, data) => {\n    if (data.id) {\n      return fixupTitle(state, data.id, TRSR);\n    }\n    return state;\n  },\n  processChooseVicePresident = (state, action, data) => {\n    if (data.id) {\n      return fixupTitle(state, data.id, VP);\n    }\n    return state;\n  },\n  processHasAsstSecretary = (state, action, data) => {\n    const { hasAsstSecretary } = data;\n    if (!hasAsstSecretary) {\n      return update(fixupTitle(state, '', ASST_SEC), {\n        hasAsstSecretary: { $set: false }\n      });\n    }\n    return update(state, {\n      hasAsstSecretary: { $set: true }\n    });\n  },\n  processHasVicePresident = (state, action, data) => {\n    const { hasVicePresident } = data;\n    if (!hasVicePresident) {\n      return update(fixupTitle(state, '', VP), {\n        hasVicePresident: { $set: false }\n      });\n    }\n    return update(state, {\n      hasVicePresident: { $set: true }\n    });\n  },\n  processPresident = (state) => {\n    return fixupTitle(state, '', PRES);\n  },\n  processSecretary = (state) => {\n    return fixupTitle(state, '', SEC);\n  },\n  processTreasurer = (state) => {\n    return fixupTitle(state, '', TRSR);\n  },\n  processVicePresident = (state) => {\n    return fixupTitle(state, '', VP);\n  },\n  processDirectorCount = (state, action, data) => {\n    const { directorCount } = data;\n\n    return update(state, {\n      directorCount: { $set: directorCount }\n    });\n  },\n  processDirectorList = (state, action, data) => {\n    const { directors } = data;\n    let nextId = getNextId(state);\n\n    return update(state, {\n      directorCount: { $set: directors.length },\n      directors: { $set: _map(directors, (director) => {\n        if (!director.id) {\n          director.id = `dir-${nextId}`;\n          nextId += 1;\n        }\n        return _reduce(director, (collect, value, key) => {\n          collect[key] = _isString(value) ? _trim(value) : value;\n          return collect;\n        }, {});\n      }) }\n    });\n  },\n  processOfficerListModal = (state, action, data) => {\n    const { presidentId, vicePresidentId, treasurerId, secretaryId, asstSecretaryId } = data;\n\n    let retVal = state;\n    retVal = fixupTitle(retVal, presidentId, PRES);\n    retVal = fixupTitle(retVal, vicePresidentId, VP);\n    retVal = fixupTitle(retVal, treasurerId, TRSR);\n    retVal = fixupTitle(retVal, secretaryId, SEC);\n    retVal = fixupTitle(retVal, asstSecretaryId, ASST_SEC);\n\n    return retVal;\n  },\n  processDBAOwnerList = (state, action, data) => {\n    const { businessType, owners } = data;\n\n    if (businessType !== 'CORP') {\n      return state;\n    }\n    let nextId = getNextId(state);\n\n    return update(state, {\n      directors: { $set: _map(owners, (director) => {\n        if (!director.id) {\n          director.id = `dir-${nextId}`;\n          nextId += 1;\n        }\n        return _reduce(director, (collect, value, key) => {\n          collect[key] = _isString(value) ? _trim(value) : value;\n          return collect;\n        }, {});\n      }) },\n      directorCount: { $set: owners ? owners.length : 0 }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const\n      { directors } = data;\n\n    if (directors) {\n      return processDirectorList(state, action, { directors: _cloneDeep(directors) });\n    }\n    return update(state, {\n      directors: { $set: [] }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const dirs = _get(o, 'directors', null);\n        // GROWTH-3647 Fix 2: an empty [] passes the old `!== null` check and unconditionally\n        // wipes entered directors. Only select an order entry when it actually carries directors.\n        return Array.isArray(dirs) && dirs.length > 0;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      { directors = [], director_count: directorCount = null } = order,\n      convertedDirectors = _map(directors, (director, index) => {\n        const\n          id = `dir-${index + 1}`,\n          { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = director,\n          { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state: addrState = '', zip: zipCode = '', country = 'US', email = '', phone: phoneNumber = '', outstanding_judgments: outstandingJudgments = null } = director;\n\n        return { id, firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country, email, phoneNumber, title, outstandingJudgments };\n      });\n\n    return update(state, {\n      directors: { $set: convertedDirectors },\n      directorCount: { $set: directorCount === null ? directors.length : directorCount }\n    });\n  },\n  processUpdateDirector = (state, action, data) => {\n    const { directors = [] } = state;\n    const { arrayIndex, email, phoneNumber } = data;\n    const updatedDirectors = _cloneDeep(directors);\n    const { email: mEmail, phoneNumber: mPhoneNumber } = updatedDirectors[arrayIndex];\n    if (phoneNumber !== mPhoneNumber || email !== mEmail ) {\n      updatedDirectors[arrayIndex] = {\n        ...updatedDirectors[arrayIndex],\n        phoneNumber,\n        email\n      };\n      return update(state, {\n        directors: { $set: updatedDirectors }\n      });\n    }\n    return state;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [CORP_ACTIONS.ASST_SEC]: processAsstSecretary,\n    [CORP_ACTIONS.CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [CORP_ACTIONS.CHOOSE_PRES]: processChoosePresident,\n    [CORP_ACTIONS.CHOOSE_SEC]: processChooseSecretary,\n    [CORP_ACTIONS.CHOOSE_TRSR]: processChooseTreasurer,\n    [CORP_ACTIONS.CHOOSE_VP]: processChooseVicePresident,\n    [CORP_ACTIONS.DIR_COUNT]: processDirectorCount,\n    [CORP_ACTIONS.DIR_LIST]: processDirectorList,\n    [CORP_ACTIONS.HAS_ASST_SEC]: processHasAsstSecretary,\n    [CORP_ACTIONS.HAS_VP]: processHasVicePresident,\n    [CORP_ACTIONS.PRES]: processPresident,\n    [CORP_ACTIONS.SEC]: processSecretary,\n    [CORP_ACTIONS.TRSR]: processTreasurer,\n    [CORP_ACTIONS.VP]: processVicePresident,\n    [CORP_ACTIONS.UPDATE_DIR]: processUpdateDirector,\n\n    [COMP_BLR_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_BLR_ACTIONS.CORP_DIR_COUNT]: processDirectorCount,\n    [COMP_BLR_ACTIONS.CORP_DIR_LIST]: processDirectorList,\n    [COMP_BLR_ACTIONS.CORP_DIR_LIST_MODAL]: processDirectorList,\n    [COMP_BLR_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_BLR_ACTIONS.CORP_OFF_LIST_MODAL]: processOfficerListModal,\n    [COMP_BLR_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_BLR_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_BLR_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_BLR_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_BLR_ACTIONS.UPDATE_DIR]: processUpdateDirector,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [COMP_BUSINESS_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_DIR_COUNT]: processDirectorCount,\n    [COMP_BUSINESS_ACTIONS.CORP_DIR_LIST]: processDirectorList,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_BUSINESS_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_BUSINESS_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_BUSINESS_ACTIONS.UPDATE_DIR]: processUpdateDirector,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_CORA_ACTIONS.CORP_DIR_COUNT]: processDirectorCount,\n    [COMP_CORA_ACTIONS.CORP_DIR_LIST]: processDirectorList,\n    [COMP_CORA_ACTIONS.CORP_DIR_LIST_MODAL]: processDirectorList,\n    [COMP_CORA_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_CORA_ACTIONS.CORP_OFF_LIST_MODAL]: processOfficerListModal,\n    [COMP_CORA_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_CORA_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_CORA_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_CORA_ACTIONS.CORP_VP]: processVicePresident,\n\n    [COMP_DBA_ACTIONS.OWNERS]: processDBAOwnerList,\n    [COMP_DBA_ACTIONS.OWNER_MODAL]: processDBAOwnerList,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_WFG_ACTIONS.CORP_DIR_COUNT]: processDirectorCount,\n    [COMP_WFG_ACTIONS.CORP_DIR_LIST]: processDirectorList,\n    [COMP_WFG_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_WFG_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_WFG_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_WFG_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_WFG_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_WFG_ACTIONS.UPDATE_DIR]: processUpdateDirector,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_bof';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/boi';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    fromDashboard: false,\n    type: '',\n    name: '',\n    domesticJurisdiction: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      name,\n      domesticJurisdiction,\n      type,\n      fromDashboard\n    } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type },\n      fromDashboard: { $set: fromDashboard },\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_expense_tracker_n_tax_filing';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/expenseTrackerNTaxFiling';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, companyCount } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\n// Snapshotted slice for the order-task-derived flow-guard booleans the complete_corp flow engine\n// reads (it sees localStorage snapshots of registration.*, not the live `orders` slice).\nexport const storageKey = 'registration/corpStockFlow';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    hasVariableFee: false,\n    sharesCollected: false,\n    feePaid: false\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists so getFlowOrder snapshots pick it up\n    return newState;\n  },\n  processSetCorpStockFlow = (state, action, data) => {\n    const {\n      hasVariableFee = state.hasVariableFee,\n      sharesCollected = state.sharesCollected,\n      feePaid = state.feePaid\n    } = data;\n    return update(state, {\n      hasVariableFee: { $set: hasVariableFee },\n      sharesCollected: { $set: sharesCollected },\n      feePaid: { $set: feePaid }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [CORP_ACTIONS.SET_CORP_STOCK_FLOW]: processSetCorpStockFlow,\n    [REGISTRATION_ACTIONS.RESET]: resetAllData\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { DOM_JURS } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/registeredAgent';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    type: 'RA',\n    raSelected: false,\n    forceCompany: false,\n    forcePerson: false,\n    firstName: '',\n    middleName: '',\n    lastName: '',\n    suffix: '',\n    companyName: '',\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    stateName: '',\n    zipCode: '',\n    country: '',\n    lat: '',\n    lng: '',\n    addressIsGoogle: false,\n    email: '',\n    phoneNumber: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  getStateName = (value) => {\n    const match = _find(DOM_JURS, (option) => {\n      return option.value === value;\n    });\n    return match ? match.label : '';\n  },\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processPrivacy = (state, action, data) => {\n    const { registeredAgentType, customer } = data;\n    if (state.type === registeredAgentType) {\n      return state;\n    }\n    if (registeredAgentType === 'ZenBusiness') {\n      return update(state, {\n        forceCompany: { $set: false },\n        forcePerson: { $set: false },\n        type: { $set: 'ZenBusiness' }\n      });\n    }\n    if (registeredAgentType === 'AccountOwner') {\n      return update(state, {\n        forceCompany: { $set: false },\n        forcePerson: { $set: false },\n        type: { $set: 'AccountOwner' },\n        firstName: { $set: customer.firstName },\n        middleName: { $set: customer.middleName },\n        lastName: { $set: customer.lastName },\n        suffix: { $set: customer.suffix },\n        companyName: { $set: '' },\n        addressLine1: { $set: customer.addressLine1 },\n        addressLine2: { $set: customer.addressLine2 },\n        city: { $set: customer.city },\n        county: { $set: customer.county },\n        state: { $set: customer.state },\n        stateName: { $set: customer.stateName },\n        zipCode: { $set: customer.zipCode },\n        country: { $set: 'US' },\n        lat: { $set: customer.lat },\n        lng: { $set: customer.lng },\n        addressIsGoogle: { $set: customer.addressIsGoogle },\n        email: { $set: customer.email },\n        phoneNumber: { $set: customer.phoneNumber }\n      });\n    }\n    return update(state, {\n      forceCompany: { $set: false },\n      forcePerson: { $set: false },\n      type: { $set: registeredAgentType }\n    });\n  },\n  processPurchaseRegisteredAgent = (state, action, data) => {\n    const { registeredAgentType, forceCompany, forcePerson } = data;\n    if (registeredAgentType === 'ZenBusiness') {\n      return update(state, {\n        forceCompany: { $set: false },\n        forcePerson: { $set: false },\n        type: { $set: 'ZenBusiness' }\n      });\n    }\n    return update(state, {\n      forceCompany: { $set: forceCompany },\n      forcePerson: { $set: forcePerson },\n      type: { $set: registeredAgentType }\n    });\n  },\n  processRegisteredAgent = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix = '', companyName = '', addressLine1, addressLine2, city, county, state: addrState, stateName, zipCode, lat, lng, addressIsGoogle, email, phoneNumber } = data;\n\n    return update(state, {\n      type: { $set: 'RA' },\n      raSelected: { $set: true },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      stateName: { $set: stateName },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: 'US' },\n      lat: { $set: lat },\n      lng: { $set: lng },\n      addressIsGoogle: { $set: addressIsGoogle },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processRAData = (state, action, data) => {\n    const { type, firstName, middleName, lastName, suffix = '', companyName = '', addressLine1, addressLine2, city, county, state: addrState, stateName, zipCode, lat, lng, addressIsGoogle, email, phoneNumber } = data;\n\n    if (type === 'ZenBusiness') {\n      return update(state, {\n        type: { $set: type }\n      });\n    }\n    return update(state, {\n      type: { $set: type },\n      raSelected: { $set: true },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      stateName: { $set: stateName },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: 'US' },\n      lat: { $set: lat },\n      lng: { $set: lng },\n      addressIsGoogle: { $set: addressIsGoogle },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processPurchasePlan = (state, action, data) => {\n    const { privacy = null, purchaseData = null } = data,\n      privacySet = privacy || (purchaseData ? purchaseData.privacy : false);\n\n    if (privacySet && state.type !== 'ZenBusiness') {\n      return update(state, {\n        type: { $set: 'ZenBusiness' }\n      });\n    }\n    if (!privacySet && state.type === 'ZenBusiness') {\n      return update(state, {\n        type: { $set: state.raSelected ? 'RA' : 'AccountOwner' }\n      });\n    }\n    return state;\n  },\n  processSetPayment = (state, action, data) => {\n    const { purchase } = data,\n      { privacy } = purchase;\n\n    if (privacy) {\n      return update(state, {\n        type: { $set: 'ZenBusiness' }\n      });\n    }\n    return update(state, {\n      type: { $set: state.raSelected ? 'RA' : 'AccountOwner' }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    if (state.type !== 'AccountOwner') {\n      return state;\n    }\n\n    const { id, clearData } = data;\n\n    if (!id) {\n      if (clearData) {\n        return update(state, {\n          addressLine1: { $set: '' },\n          addressLine2: { $set: '' },\n          city: { $set: '' },\n          county: { $set: '' },\n          state: { $set: '' },\n          zipCode: { $set: '' },\n          country: { $set: '' },\n          lat: { $set: 0 },\n          lng: { $set: 0 },\n          addressIsGoogle: { $set: false }\n        });\n      }\n      return state;\n    }\n\n    const\n      { business } = data,\n      { addressLine1, addressLine2, city, county, state: addrState, country, zipCode } = business;\n\n    return update(state, {\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: _trim(country) },\n      lat: { $set: 0 },\n      lng: { $set: 0 },\n      addressIsGoogle: { $set: false }\n    });\n  },\n\n  processWFGBusinessId = (state, action, data) => {\n    const\n      { registeredAgent } = data,\n      {\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        suffix = '',\n        companyName = '',\n        email = '',\n        phoneNumber = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        county = '',\n        state: addrState = '',\n        country = '',\n        zipCode = ''\n      } = registeredAgent || {};\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: _trim(country) },\n      lat: { $set: 0 },\n      lng: { $set: 0 },\n      addressIsGoogle: { $set: false }\n    });\n  },\n\n  processAccountComplete = (state, action, data) => {\n    if (action.error || state.type !== 'AccountOwner') {\n      return state;\n    }\n\n    const\n      {\n        account_email: email,\n        account_phone: phone,\n        first_name: firstName,\n        middle_name: middleName,\n        last_name: lastName,\n        suffix\n      } = data;\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phone }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      formation = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      product = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'registered_agent_service' || service === 'worry_free_service' || service === 'ny_publication' || service === 'dba_entity';\n      }),\n      order = formation || product;\n\n    if (!order) {\n      return state;\n    }\n\n    const item = _find(orderData, (o) => {\n        const service = _get(o, 'service', '');\n        return service === 'registered_agent_service';\n      }),\n      service = item && item.registered_agent ? item.registered_agent : order.registered_agent || {};\n\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = service,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', email = '', phone: phoneNumber = '' } = service,\n      stateName = addrState ? getStateName(addrState) : '',\n      isZen = !!item;\n\n    return update(state, {\n      type: { $set: isZen ? 'ZenBusiness' : 'RA' },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      stateName: { $set: stateName },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: 'US' },\n      lat: { $set: 0 },\n      lng: { $set: 0 },\n      addressIsGoogle: { $set: false }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { skipPlansPage = false } = data;\n\n    if (skipPlansPage) {\n      return processPurchasePlan(state, action, data);\n    }\n\n    return state;\n  },\n  processNYPubStart = (state, action, data) => {\n    return update(state, {\n      type: { $set: data.raType || 'AgentOwner' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.BUS_ID]: processBusinessId,\n    [ACTIONS.PURCH_PRIV]: processPrivacy,\n    [ACTIONS.PURCH_PLAN]: processPurchasePlan,\n    [ACTIONS.RA_DATA]: processRAData,\n    [ACTIONS.REG_AGT]: processRegisteredAgent,\n    [ACTIONS.PAYMENT]: processSetPayment,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [COMP_BLR_ACTIONS.REG_AGT]: processRegisteredAgent,\n    [COMP_BLR_ACTIONS.REG_AGT_MODAL]: processRegisteredAgent,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [COMP_BUSINESS_ACTIONS.PURCH_REG_AGT]: processPurchaseRegisteredAgent,\n    [COMP_BUSINESS_ACTIONS.REG_AGT]: processRegisteredAgent,\n    [COMP_BUSINESS_ACTIONS.REG_AGT_MODAL]: processRAData,\n\n    [COMP_DBA_ACTIONS.REG_AGT]: processRegisteredAgent,\n    [COMP_DBA_ACTIONS.REG_AGT_MODAL]: processRegisteredAgent,\n\n    [COMP_NYPUB_ACTIONS.REG_AGT]: processRegisteredAgent,\n    [COMP_NYPUB_ACTIONS.REG_AGT_MODAL]: processRAData,\n\n    [COMP_WFG_ACTIONS.REG_AGT]: processRegisteredAgent,\n    [COMP_WFG_ACTIONS.REG_AGT_MODAL]: processRegisteredAgent,\n\n    [LLC_ACTIONS.SET_REG_AGENT]: processRegisteredAgent,\n    [CORP_ACTIONS.REG_AGENT]: processRegisteredAgent,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [REG_CORA_PF_ACTIONS.PLAN]: processPurchasePlan,\n    [REG_CORA_PF_ACTIONS.OTHER_PLAN]: processPurchasePlan,\n\n    [REG_NYPUB_ACTIONS.INIT]: processNYPubStart,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processWFGBusinessId,\n\n    [ACCOUNT_ACTIONS.GET_ACCOUNT_COMPLETE]: processAccountComplete,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_bof_modification';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/bof_modification';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    fromDashboard: false,\n    type: '',\n    name: '',\n    domesticJurisdiction: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      name,\n      domesticJurisdiction,\n      type,\n      fromDashboard,\n      hasOngoingBof\n    } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      hasOngoingBof: { $set: hasOngoingBof },\n      companyCount: { $set: companyCount },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type },\n      fromDashboard: { $set: fromDashboard },\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/register_domain_v2';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/domainV2';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    companyId: '',\n    companyCount: 0,\n    primary: '',\n    alternates: [],\n    domainNameSearch: '',\n    domainNames: [],\n    emailAddresses: [],\n    verified: false,\n    skip: false,\n    emailUserName: '',\n    emailSkip: false,\n    emailInPlan: false,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      domainName = '',\n      emailInPlan = false,\n      domainNameSearch = '',\n      domainNames = [],\n      emailAddresses = []\n    } = data;\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      primary: { $set: domainName },\n      emailInPlan: { $set: emailInPlan },\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      emailAddresses: { $set: emailAddresses },\n      actionError: { $set: 0 }\n    });\n  },\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processDomainNames = (state, action, data) => {\n    const { domainNameSearch, domainNames, skip } = data;\n    return update(state, {\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      skip: { $set: skip }\n    });\n  },\n  processMap = {\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.DOMAIN_NAMES]: processDomainNames,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _clone from 'lodash/clone';\nimport _filter from 'lodash/filter';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _indexOf from 'lodash/indexOf';\nimport _isUndefined from 'lodash/isUndefined';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as REG_CORA_PF_ACTIONS, STEPS } from '../../constants/register_cora_pf';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { DOM_JURS } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/cora';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    authorizedSignatory: null,\n    businessIndustry: '',\n    busDetailsLocked: false, // Used for display - no need to persist\n    domesticEntity: null, // Used for display - no need to persist\n    domesticJurisdiction: '',\n    domesticJurisdictionName: '', // Used for display - no need to persist\n    domJurNotReqJurs: null, // Used for display - no need to persist\n    electiveCEO: null,\n    email: '', // Used for display - no need to persist (will persist off of contact reducer)\n    existingJurisdictions: [], // Used for display - no need to persist\n    fees: 0, // Used for display - no need to persist\n    filingDates: {},\n    firstName: '', // Used for display - no need to persist (will persist off of contact reducer)\n    foreignQualFiling: null, // Used for display - no need to persist\n    foreignRegistration: null, // Used for display - no need to persist\n    formationOnParam: null, // Used for display - no need to persist\n    formWithZen: null, // Used for display - no need to persist.\n    hasElectiveCEO: null, // Used for display - remove on complete\n    hasFormation: null, // Used for display - remove on complete\n    idOnParam: null, // Used for display - no need to persist\n    jurisdictionOnParam: null, // Used for display - no need to persist\n    jurisdictionOrder: [], // Used for display - remove on complete\n    lastName: '', // Used for display - no need to persist (will persist off of contact reducer)\n    middleName: '', // Used for display - no need to persist (will persist off of contact reducer)\n    name: '', // Used for display - no need to persist (will persist off of business reducer)\n    pendingStates: {}, // Used for display - rmove on complete\n    phoneNumber: '', // Used for display - no need to persist (will persist off of contact reducer)\n    planLevel: '', // Used for display - no need to persist (will persist off of purchase reducer)\n    price: 0, // Used for display - no need to persistd\n    requestedJurisdictions: [],\n    requestedJurisdictionNames: {}, // Used for display\n    requestedJurisdictionCount: 0, // Used for display\n    saveData: null, // Used for display - no need to persist\n    selfFile: null, // Used for display - no need to persist\n    skipHasFormation: false, // Used for display - no need to persist\n    skipRequestedJurisdictions: false, // Used for display - no need to persist\n    skipBusinessName: false, // Used for display - no need to persist\n    skipBusinessType: false, // Used for display - no need to persist\n    sopContact: null,\n    startFromInit: false, // Used for control\n    startStep: null, // Used for display - no need to persist\n    step: null, // Used for display - no need to persist\n    stateIds: {},\n    statePINs: {},\n    suffix: '', // Used for display - no need to persist (will persist off of contact reducer)\n    type: null, // Used for display - no need to persist (will persist off of business reducer)\n    typeOnParam: null, // Used for display - no need to persist\n    upsellDomJur: null, // Used for display - no need to persist\n    whoFilesPaperwork: null, // Used for display - no need to persist\n\n    needsPrincipals: true, // Used for data collection - no need to persist\n    needsContact: true, // Used for data collection - no need to persist\n    needsCoraContacts: true, // Used for data collection - no need to persist\n    needsBusinessData: true, // Used for data collection - no need to persist\n    needsBusinessIndustry: true, // Used for data collection - no need to persist\n    needsAddresses: true, // Used for data collection - no need to persist\n    needsDomesticJurisdictionData: true // Used for data collection - no need to persist\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT)),\n  STATE_NAMES = _reduce(DOM_JURS, (names, option) => {\n    names[option.value] = option.label;\n    return names;\n  }, {}),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  sortRequestedJurisdictions = (requestedJurisdictions, requestedJurisdictionNames) => {\n    return _clone(requestedJurisdictions).sort((a, b) => {\n      return requestedJurisdictionNames[a] < requestedJurisdictionNames[b] ? -1 : 1;\n    });\n  },\n  createJurisdictionOrder = (requestedJurisdictions, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData) => {\n    const jurisdictionOrder = _filter(requestedJurisdictions, (reqJur) => {\n      return reqJur !== domesticJurisdiction;\n    }).sort((a, b) => {\n      return a < b;\n    });\n\n    if (domesticJurisdiction && (_indexOf(requestedJurisdictions, domesticJurisdiction) !== -1 || upsellDomJur || needsDomesticJurisdictionData)) {\n      jurisdictionOrder.unshift(domesticJurisdiction);\n    }\n    return jurisdictionOrder;\n  },\n  processUser = (key, state, data, includeTitle) => {\n    const\n      {\n        isPrincipal = false,\n        title = '',\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        suffix = '',\n        companyName = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        state: addrState = '',\n        zipCode = '',\n        country = 'US',\n        email = '',\n        phoneNumber = ''\n      } = data || {};\n\n    if (state[key] === null) {\n      const contact = {\n        isPrincipal,\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix,\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode,\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber\n      };\n      if (includeTitle) {\n        contact.title = _trim(title);\n      }\n\n      return update(state, {\n        [key]: { $set: contact }\n      });\n    }\n\n    const updates = {\n      isPrincipal: { $set: isPrincipal },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: suffix },\n      companyName: { $set: _trim(companyName) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      state: { $set: addrState },\n      zipCode: { $set: zipCode },\n      country: { $set: _trim(country) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phoneNumber }\n    };\n    if (includeTitle) {\n      updates.title = { $set: _trim(title) };\n    }\n    return update(state, {\n      [key]: updates\n    });\n  },\n\n  processAuthorizedSignatory = (state, action, data) => {\n    return processUser('authorizedSignatory', state, data, true);\n  },\n  processBusinessIndustry = (state, action, data) => {\n    const { businessIndustry } = data;\n    return update(state, {\n      businessIndustry: { $set: businessIndustry }\n    });\n  },\n  processDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data,\n      domesticJurisdictionName = STATE_NAMES[domesticJurisdiction],\n      domesticEntity = _indexOf(state.requestedJurisdictions, domesticJurisdiction) !== -1,\n      jurisdictionOrder = createJurisdictionOrder(state.requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, state.needsDomesticJurisdictionData);\n\n    return update(state, {\n      domesticEntity: { $set: domesticEntity },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      step: { $set: data.nextStep }\n    });\n  },\n  processElectiveCEO = (state, action, data) => {\n    return processUser('electiveCEO', state, data, true);\n  },\n  processHasElectiveCEO = (state, action, data) => {\n    const { hasElectiveCEO } = data;\n\n    return update(state, {\n      hasElectiveCEO: { $set: hasElectiveCEO }\n    });\n  },\n  processSOPContact = (state, action, data) => {\n    return processUser('sopContact', state, data, false);\n  },\n  processStateFiling = (state, action, data) => {\n    const { requestedJurisdiction, filingDate, stateId, statePIN } = data;\n\n    return update(state, {\n      filingDates: {\n        [requestedJurisdiction]: { $set: filingDate }\n      },\n      stateIds: {\n        [requestedJurisdiction]: { $set: stateId }\n      },\n      statePINs: {\n        [requestedJurisdiction]: { $set: statePIN }\n      }\n    });\n  },\n\n  // Calls to middleware\n  /* eslint-disable max-statements */\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = _find(orders, (order) => {\n        return order.order_status === 'incomplete';\n      });\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      ras = _filter(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'registered_agent_service';\n      });\n\n    if (!ras || ras.length === 0) {\n      return state;\n    }\n\n    const\n      values = _reduce(ras, (collect, ra) => {\n        const\n          {\n            jurisdiction: requestedJurisdiction,\n            domestic_jurisdiction: domesticJurisdiction = null,\n            domestic_jurisdiction_filing_date: domJurFilingDate = null,\n            domestic_jurisdiction_filing_number: domJurStateId = null,\n            domestic_jurisdiction_state_info: domJurStateInfo = {},\n            foreign_jurisdiction_objects: forJurObjects = [],\n            is_primary: isPrimary = false,\n            business_industry: businessIndustry = '',\n            authorized_signatory: authorizedSignatory = null,\n            sop_contact: sopContact = null,\n\n            domestic_entity: domesticEntity = null,\n            has_elective_ceo: hasElectiveCEO = null,\n            has_existing_business: hasFormation = null,\n            jurisdiction_order: jurisdictionOrder = null,\n            existing_jurisdictions: existingJurisdictions = [],\n            pending_states: pendingStates = {},\n\n            needs_addresses: needsAddresses = true,\n            needs_business_data: needsBusinessData = true,\n            needs_business_industry: needsBusinessIndustry = true,\n            needs_contact: needsContact = true,\n            needs_cora_contacts: needsCoraContacts = true,\n            needs_domestic_jurisdiction_data: needsDomesticJurisdictionData = true,\n            needs_principal_address: needsPrincipalAddress = true,\n            needs_principals: needsPrincipals = true\n          } = ra,\n          {\n            jurisdiction_state_pin: domJurStatePIN = null,\n            jurisdiction_elective_ceo: domJurElectiveCEO = null\n          } = domJurStateInfo,\n          requestedJurisdictionName = STATE_NAMES[requestedJurisdiction],\n          domesticJurisdictionName = STATE_NAMES[domesticJurisdiction];\n\n        collect.requestedJurisdictions.push(requestedJurisdiction);\n        collect.requestedJurisdictionNames[requestedJurisdiction] = requestedJurisdictionName;\n        if (domesticJurisdiction) {\n          collect.requestedJurisdictionNames[domesticJurisdiction] = domesticJurisdictionName;\n        }\n        collect.requestedJurisdictionCount += 1;\n        if (domesticEntity) {\n          collect.domesticEntity = true;\n        }\n\n        if (isPrimary) {\n          collect.businessIndustry = businessIndustry;\n          collect.jurisdictionOrder = jurisdictionOrder;\n          collect.hasElectiveCEO = hasElectiveCEO;\n          collect.hasFormation = hasFormation;\n          collect.existingJurisdictions = existingJurisdictions;\n          collect.pendingStates = pendingStates;\n          if (domesticJurisdiction) {\n            collect.domesticJurisdiction = domesticJurisdiction;\n            collect.domesticJurisdictionName = domesticJurisdictionName;\n          }\n          if (domJurFilingDate) {\n            collect.filingDates[domesticJurisdiction] = domJurFilingDate;\n          }\n          if (domJurStateId) {\n            collect.stateIds[domesticJurisdiction] = domJurStateId;\n          }\n          if (domJurStatePIN) {\n            collect.statePINs[domesticJurisdiction] = domJurStatePIN;\n          }\n          if (domJurElectiveCEO) {\n            const {\n              first_name: firstName = '',\n              middle_name: middleName = '',\n              last_name: lastName = '',\n              suffix = '',\n              company_name: companyName = '',\n              title = '',\n              email = '',\n              phone: phoneNumber = '',\n              address_1: addressLine1 = '',\n              address_2: addressLine2 = '',\n              city = '',\n              county = '',\n              state: addrState = '',\n              zip: zipCode = '',\n              country = 'US',\n              is_principal: isPrincipal = false\n            } = domJurElectiveCEO;\n            collect.electiveCEO = {\n              firstName, middleName, lastName, suffix, companyName, title, email, phoneNumber, addressLine1, addressLine2, city, county, state: addrState, zipCode, country, isPrincipal\n            };\n          }\n\n          _forEach(forJurObjects, (fjo) => {\n            const\n              {\n                jurisdiction_code: foJur,\n                jurisdiction_filing_date: fojFilingDate = '',\n                jurisdiction_filing_number: fojStateId = '',\n                extra_state_info: extraStateInfo = {}\n              } = fjo,\n              {\n                state_pin: fojStatePIN = '',\n                elective_ceo: fojElectiveCEO = null\n              } = extraStateInfo;\n\n            if (fojFilingDate) {\n              collect.filingDates[foJur] = fojFilingDate;\n            }\n            if (fojStateId) {\n              collect.stateIds[foJur] = fojStateId;\n            }\n            if (fojStatePIN) {\n              collect.statePINs[foJur] = fojStatePIN;\n            }\n            if (fojElectiveCEO) {\n              const {\n                first_name: firstName = '',\n                middle_name: middleName = '',\n                last_name: lastName = '',\n                suffix = '',\n                company_name: companyName = '',\n                title = '',\n                email = '',\n                phone: phoneNumber = '',\n                address_1: addressLine1 = '',\n                address_2: addressLine2 = '',\n                city = '',\n                county = '',\n                state: addrState = '',\n                zip: zipCode = '',\n                country = 'US',\n                is_principal: isPrincipal = false\n              } = fojElectiveCEO;\n              collect.electiveCEO = {\n                firstName, middleName, lastName, suffix, companyName, title, email, phoneNumber, addressLine1, addressLine2, city, county, state: addrState, zipCode, country, isPrincipal\n              };\n            }\n          });\n          if (authorizedSignatory) {\n            const {\n              first_name: firstName = '',\n              middle_name: middleName = '',\n              last_name: lastName = '',\n              suffix = '',\n              company_name: companyName = '',\n              title = '',\n              email = '',\n              phone: phoneNumber = '',\n              address_1: addressLine1 = '',\n              address_2: addressLine2 = '',\n              city = '',\n              county = '',\n              state: addrState = '',\n              zip: zipCode = '',\n              country = 'US',\n              is_principal: isPrincipal = false\n            } = authorizedSignatory;\n            if (firstName || companyName) {\n              collect.authorizedSignatory = {\n                firstName, middleName, lastName, suffix, companyName, title, email, phoneNumber, addressLine1, addressLine2, city, county, state: addrState, zipCode, country, isPrincipal\n              };\n            }\n          }\n          if (sopContact) {\n            const {\n              first_name: firstName = '',\n              middle_name: middleName = '',\n              last_name: lastName = '',\n              suffix = '',\n              company_name: companyName = '',\n              title = '',\n              email = '',\n              phone: phoneNumber = '',\n              address_1: addressLine1 = '',\n              address_2: addressLine2 = '',\n              city = '',\n              county = '',\n              state: addrState = '',\n              zip: zipCode = '',\n              country = 'US',\n              is_principal: isPrincipal = false\n            } = sopContact;\n\n            if (firstName || companyName) {\n              collect.sopContact = {\n                firstName, middleName, lastName, suffix, companyName, title, email, phoneNumber, addressLine1, addressLine2, city, county, state: addrState, zipCode, country, isPrincipal\n              };\n            }\n          }\n          collect.needsAddresses = needsAddresses;\n          collect.needsBusinessData = needsBusinessData;\n          collect.needsBusinessIndustry = needsBusinessIndustry;\n          collect.needsContact = needsContact;\n          collect.needsCoraContacts = needsCoraContacts || sopContact === null || authorizedSignatory === null;\n          collect.needsDomesticJurisdictionData = needsDomesticJurisdictionData;\n          collect.needsPrincipalAddress = needsPrincipalAddress;\n          collect.needsPrincipals = needsPrincipals;\n        }\n        return collect;\n      }, {\n        domesticJurisdiction: '',\n        domesticJurisdictionName: '',\n        requestedJurisdictions: [],\n        requestedJurisdictionNames: {},\n        requestedJurisdictionCount: 0,\n        businessIndustry: '',\n        authorizedSignatory: null,\n        electiveCEO: null,\n        sopContact: null,\n        jurisdictionOrder: null,\n        filingDates: {},\n        stateIds: {},\n        statePINs: {},\n        existingJurisdictions: [],\n        pendingStates: {},\n        hasFormation: null,\n        hasElectiveCEO: null,\n        needsAddresses: true,\n        needsBusinessData: true,\n        needsBusinessIndustry: true,\n        needsContact: true,\n        needsCoraContacts: true,\n        needsDomesticJurisdictionData: true,\n        needsPrincipalAddress: true,\n        needsPrincipals: true\n      });\n\n    // DJL - Here, we need to see if the jurisdiction order was filled in.\n    // If not, that means that we are coming in for the first time from a\n    // ShoppingUI order set and need to build the internal structures by hand.\n\n    if (!values.jurisdictionOrder) {\n      // Get the domestic jursidiction off of the first ra order\n      const domJur = ras.length > 0 ? ras[0].domestic_jurisdiction : '';\n      const name = ras.length > 0 ? ras[0].order_entity_name : '';\n      const type = ras.length > 0 ? ras[0].entity_type : '';\n      const reqJurs = values.requestedJurisdictions;\n      const jurOrder = [];\n      const domJurName = STATE_NAMES[domJur];\n      const reqJurNames = {};\n      const existingJurs = [];\n      const pendingJurs = {};\n      reqJurNames[domJur] = domJurName;\n      jurOrder.push(domJur); // Always need domestic jurisdiction data in this instance\n\n      const existingJurMap = _reduce(orderData, (collect, order) => {\n        const service = _get(order, 'service', '');\n        if (service === 'change_of_registered_agent') {\n          const jur = _get(order, 'jurisdiction', '');\n          if (jur) {\n            collect[jur] = true;\n          }\n        }\n        return collect;\n      }, {});\n\n      let domJurNotReqJurs = true;\n\n      _forEach(reqJurs, (reqJur) => {\n        const reqJurName = STATE_NAMES[reqJur];\n        reqJurNames[reqJur] = reqJurName;\n        if (existingJurMap[reqJur]) {\n          existingJurs.push(reqJur);\n        } else {\n          pendingJurs[reqJur] = true;\n        }\n        if (reqJur !== domJur) {\n          jurOrder.push(reqJur);\n        } else {\n          domJurNotReqJurs = false;\n        }\n      });\n\n      values.busDetailsLocked = true;\n      values.needsDomesticJurisdictionData = !pendingJurs[domJur];\n      values.hasFormation = true;\n      values.domJurNotReqJurs = domJurNotReqJurs;\n      values.name = name;\n      values.type = type;\n      values.foreignRegistration = reqJurs.length > 1 || domJurNotReqJurs;\n      values.domesticJurisdiction = domJur;\n      values.domesticJurisdictionName = domJurName;\n      values.requestedJurisdictionNames = reqJurNames;\n      values.requestedJurisdictionCount = reqJurs.length;\n      values.existingJurisdictions = existingJurs;\n      values.jurisdictionOrder = jurOrder;\n      values.pendingStates = pendingJurs;\n    }\n\n    values.requestedJurisdictions = sortRequestedJurisdictions(values.requestedJurisdictions, values.requestedJurisdictionNames);\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, values));\n  },\n  /* eslint-enable max-statements */\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n\n  // PF-specific\n  processNextStep = (state, action, data) => {\n    const { nextStep, ...therest } = data;\n\n    const newState = Object.keys(therest).reduce((acc, key) => {\n      acc[key] = { $set: therest[key] };\n      return acc;\n    }, { step: { $set: nextStep || state.step } });\n\n    return update(state, newState);\n  },\n\n  processPFAccountOwnerEmail = (state, action, data) => {\n    const { email } = data;\n\n    return update(state, {\n      email: { $set: email },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processPFAccountOwnerFirstName = (state, action, data) => {\n    const { firstName } = data;\n\n    return update(state, {\n      firstName: { $set: firstName },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processPFAccountOwnerLastName = (state, action, data) => {\n    const { lastName } = data;\n\n    return update(state, {\n      lastName: { $set: lastName },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processPFAccountOwnerPhoneNumber = (state, action, data) => {\n    const { phoneNumber } = data;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  // Reset step\n  processPFBusinessId = (state, action, data) => {\n    const\n      { business = {}, cora = {}, id = '' } = data,\n      {\n        name = '',\n        type = ''\n      } = business,\n      {\n        authorizedSignatory = null,\n        businessIndustry = '',\n        domesticJurisdiction = '',\n        existingJurisdictions = [],\n        electiveCEO = null,\n        hasElectiveCEO = null,\n        hasFormation = null,\n        needsAddresses = true,\n        needsBusinessData = true,\n        needsBusinessIndustry = true,\n        needsContact = true,\n        needsCoraContacts = true,\n        needsDomesticJurisdictionData = true,\n        needsPrincipalAddress = true,\n        needsPrincipals = true,\n        sopContact = null\n      } = cora,\n      domesticJurisdictionName = domesticJurisdiction ? STATE_NAMES[domesticJurisdiction] : '';\n\n    const\n      { jurisdictionOnParam } = state,\n      jurisdiction = jurisdictionOnParam,\n      requestedJurisdictions = jurisdiction ? [ jurisdiction ] : [],\n      requestedJurisdictionNames = jurisdiction ? { [jurisdiction]: STATE_NAMES[jurisdiction] } : {},\n      pendingStates = jurisdiction ? { [jurisdiction]: null } : {},\n      jurisdictionOrder = createJurisdictionOrder(requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, needsDomesticJurisdictionData);\n\n    if (_indexOf(requestedJurisdictions, domesticJurisdiction) !== -1) {\n      pendingStates[domesticJurisdiction] = false;\n    }\n\n    return update(state, {\n      authorizedSignatory: { $set: authorizedSignatory },\n      busDetailsLocked: { $set: !!id },\n      businessIndustry: { $set: businessIndustry },\n      domesticEntity: { $set: null },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      domJurNotReqJurs: { $set: null },\n      electiveCEO: { $set: electiveCEO },\n      email: { $set: '' },\n      existingJurisdictions: { $set: existingJurisdictions },\n      firstName: { $set: '' },\n      foreignQualFiling: { $set: null },\n      foreignRegistration: { $set: null },\n      formWithZen: { $set: null },\n      hasElectiveCEO: { $set: hasElectiveCEO },\n      hasFormation: { $set: hasFormation },\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      lastName: { $set: '' },\n      name: { $set: name },\n      needsAddresses: { $set: needsAddresses },\n      needsBusinessData: { $set: needsBusinessData },\n      needsBusinessIndustry: { $set: needsBusinessIndustry },\n      needsContact: { $set: needsContact },\n      needsDomesticJurisdictionData: { $set: needsDomesticJurisdictionData },\n      needsCoraContacts: { $set: needsCoraContacts },\n      needsPrincipalAddress: { $set: needsPrincipalAddress },\n      needsPrincipals: { $set: needsPrincipals },\n      pendingStates: { $set: pendingStates },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      requestedJurisdictions: { $set: requestedJurisdictions },\n      requestedJurisdictionCount: { $set: requestedJurisdictions.length },\n      requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n      sopContact: { $set: sopContact },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: type },\n      upsellDomJur: { $set: null }\n    });\n  },\n\n  processBusinessName = (state, action, data) => {\n    const { name } = data;\n\n    return update(state, {\n      name: { $set: name },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  // Reset step\n  processBusinessType = (state, action, data) => {\n    const { type } = data;\n\n    return update(state, {\n      email: { $set: '' },\n      name: { $set: '' },\n      lastName: { $set: '' },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      saveData: { $set: null },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: type }\n    });\n  },\n\n  // Cart only\n  processBusinessTypeAndName = (state, action, data) => {\n    const { name, type } = data;\n\n    return update(state, {\n      name: { $set: name },\n      type: { $set: type }\n    });\n  },\n\n  processPFCheckpoint = (state, action, data) => {\n    const { saveData } = data;\n\n    return update(state, {\n      saveData: { $set: saveData },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  // Reset step\n  processPFChooseDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction, domJurNotReqJurs } = data,\n      {\n        busDetailsLocked,\n        hasFormation,\n        name,\n        pendingStates,\n        type\n      } = state,\n      domesticJurisdictionName = domesticJurisdiction ? STATE_NAMES[domesticJurisdiction] : '',\n      jurisdictionOrder = createJurisdictionOrder(state.requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, state.needsDomesticJurisdictionData),\n      newPendingStates = _clone(pendingStates);\n\n    if (domesticJurisdiction) {\n      newPendingStates[domesticJurisdiction] = !hasFormation;\n    }\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      domJurNotReqJurs: { $set: domJurNotReqJurs },\n      email: { $set: '' },\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      lastName: { $set: '' },\n      name: { $set: busDetailsLocked ? name : '' },\n      pendingStates: { $set: newPendingStates },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      step: { $set: data.nextStep || state.step },\n      saveData: { $set: null },\n      selfFile: { $set: null },\n      type: { $set: busDetailsLocked ? type : '' },\n      upsellDomJur: { $set: null }\n    });\n  },\n\n  // Reset step\n  processPFChooseHasFormation = (state, action, data) => {\n    const { pendingStates, foreignRegistration } = data,\n      {\n        busDetailsLocked,\n        domesticJurisdiction,\n        hasFormation,\n        name,\n        type\n      } = state,\n      newPendingStates = _clone(pendingStates);\n\n    newPendingStates[domesticJurisdiction] = !hasFormation;\n\n    return update(state, {\n      email: { $set: '' },\n      foreignQualFiling: { $set: null },\n      foreignRegistration: { $set: foreignRegistration },\n      lastName: { $set: '' },\n      name: { $set: busDetailsLocked ? name : '' },\n      pendingStates: { $set: newPendingStates },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      saveData: { $set: null },\n      selfFile: { $set: null },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: busDetailsLocked ? type : '' }\n    });\n  },\n\n  processPFCreateOrderComplete = (state, action) => {\n    return update(state, {\n      step: { $set: action.error ? STEPS.PAYMENT : '' }\n    });\n  },\n\n  // Reset Step\n  processPFDomesticEntity = (state, action, data) => {\n    const { domesticEntity } = data,\n      {\n        busDetailsLocked,\n        hasFormation,\n        name,\n        needsDomesticJurisdictionData,\n        pendingStates,\n        requestedJurisdictions,\n        type,\n        upsellDomJur\n      } = state,\n      domesticJurisdiction = domesticEntity === true ? requestedJurisdictions[0] : '',\n      domesticJurisdictionName = domesticJurisdiction ? STATE_NAMES[domesticJurisdiction] : '',\n      jurisdictionOrder = createJurisdictionOrder(requestedJurisdictions, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData),\n      newPendingStates = domesticEntity ? { [domesticJurisdiction]: !hasFormation } : pendingStates;\n\n    return update(state, {\n      domesticEntity: { $set: domesticEntity },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      domJurNotReqJurs: { $set: null },\n      email: { $set: '' },\n      foreignQualFiling: { $set: null },\n      foreignRegistration: { $set: null },\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      lastName: { $set: '' },\n      name: { $set: busDetailsLocked ? name : '' },\n      pendingStates: { $set: newPendingStates },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      saveData: { $set: null },\n      selfFile: { $set: null },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: busDetailsLocked ? type : '' },\n      upsellDomJur: { $set: null }\n    });\n  },\n\n  processPFDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data,\n      {\n        hasFormation,\n        pendingStates\n      } = state,\n      domesticJurisdictionName = STATE_NAMES[domesticJurisdiction],\n      jurisdictionOrder = createJurisdictionOrder(state.requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, state.needsDomesticJurisdictionData),\n      newPendingStates = _clone(pendingStates);\n\n    newPendingStates[domesticJurisdiction] = !hasFormation;\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      pendingStates: { $set: newPendingStates },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processPFForeignQualFiling = (state, action, data) => {\n    const { foreignQualFiling } = data;\n\n    return update(state, {\n      foreignQualFiling: { $set: foreignQualFiling },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  // Reset step\n  processPFForeignRegistration = (state, action, data) => {\n    const { foreignRegistration } = data,\n      {\n        busDetailsLocked,\n        domesticJurisdiction,\n        hasFormation,\n        name,\n        pendingStates,\n        requestedJurisdictions,\n        type,\n        upsellDomJur\n      } = state,\n      newPendingStates = _reduce(requestedJurisdictions, (collect, jur) => {\n        if (_isUndefined(pendingStates[jur]) || pendingStates[jur] === null) {\n          if (jur === domesticJurisdiction) {\n            collect[jur] = false;\n          } else {\n            collect[jur] = !foreignRegistration;\n          }\n        } else {\n          collect[jur] = pendingStates[jur];\n        }\n        return collect;\n      }, {});\n\n    if (upsellDomJur) {\n      newPendingStates[domesticJurisdiction] = !hasFormation;\n    }\n    return update(state, {\n      email: { $set: '' },\n      foreignQualFiling: { $set: null },\n      foreignRegistration: { $set: foreignRegistration },\n      lastName: { $set: '' },\n      name: { $set: busDetailsLocked ? name : '' },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      pendingStates: { $set: newPendingStates },\n      saveData: { $set: null },\n      selfFile: { $set: null },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: busDetailsLocked ? type : '' }\n    });\n  },\n\n  processPFFormWithZen = (state, action, data) => {\n    const { formWithZen } = data;\n\n    return update(state, {\n      formWithZen: { $set: formWithZen },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  /*\n    Due to historical factors, both requestedJurisdiction and domesticJurisdiction in this call mean requestedJurisdiction.\n    However, requestedJurisdiction has priority.\n  */\n  processPFInit = (state, action, data) => {\n    const\n      {\n        formationOnParam = null,\n        idOnParam = '',\n        jurisdictionOnParam = '',\n        typeOnParam = ''\n      } = data,\n      jurisdiction = jurisdictionOnParam,\n      requestedJurisdictions = jurisdiction ? [ jurisdiction ] : [],\n      requestedJurisdictionNames = jurisdiction ? { [jurisdiction]: STATE_NAMES[jurisdiction] } : {},\n      pendingStates = jurisdiction ? { [jurisdiction]: null } : {};\n\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, {\n      formationOnParam,\n      hasFormation: formationOnParam,\n      idOnParam,\n      jurisdictionOnParam,\n      jurisdictionOrder: createJurisdictionOrder(requestedJurisdictions, '', false, false),\n      pendingStates,\n      requestedJurisdictions,\n      requestedJurisdictionNames,\n      requestedJurisdictionCount: requestedJurisdictions.length,\n      startFromInit: true,\n      step: STEPS.WELCOME,\n      typeOnParam\n    }));\n  },\n\n  // Reset step\n  processPFHasFormation = (state, action, data) => {\n    const { hasFormation } = data,\n      {\n        busDetailsLocked,\n        domesticJurisdiction,\n        jurisdictionOnParam,\n        needsDomesticJurisdictionData,\n        type\n      } = state,\n      jurisdiction = jurisdictionOnParam,\n      requestedJurisdictions = jurisdiction ? [ jurisdiction ] : [],\n      requestedJurisdictionCount = requestedJurisdictions.length,\n      requestedJurisdictionNames = jurisdiction ? { [jurisdiction]: STATE_NAMES[jurisdiction] } : {},\n      pendingStates = jurisdiction ? { [jurisdiction]: null } : {};\n\n    if (!busDetailsLocked) {\n      return update(state, {\n        domesticEntity: { $set: null },\n        domesticJurisdiction: { $set: '' },\n        domesticJurisdictionName: { $set: '' },\n        domJurNotReqJurs: { $set: null },\n        foreignReg: { $set: null },\n        foreignQualFiling: { $set: null },\n        formWithZen: { $set: null },\n        hasFormation: { $set: hasFormation },\n        jurisdictionOrder: { $set: createJurisdictionOrder(requestedJurisdictions, '', state.upsellDomJur, hasFormation) },\n        name: { $set: '' },\n        needsDomesticJurisdictionData: { $set: hasFormation }, // if business not formed yet, do not collect domestic jurisdiction. If it is, collect it.\n        pendingStates: { $set: pendingStates },\n        requestedJurisdictions: { $set: requestedJurisdictions },\n        requestedJurisdictionCount: { $set: requestedJurisdictionCount },\n        requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n        step: { $set: data.nextStep || state.step },\n        type: { $set: '' },\n        upsellDomJur: { $set: null }\n      });\n    }\n    return update(state, {\n      domesticEntity: { $set: null },\n      foreignReg: { $set: null },\n      foreignQualFiling: { $set: null },\n      formWithZen: { $set: null },\n      hasFormation: { $set: hasFormation },\n      jurisdictionOrder: createJurisdictionOrder(requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, needsDomesticJurisdictionData),\n      pendingStates: { $set: pendingStates },\n      requestedJurisdictions: { $set: requestedJurisdictions },\n      requestedJurisdictionCount: { $set: requestedJurisdictionCount },\n      requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: type },\n      upsellDomJur: { $set: null }\n    });\n  },\n\n  processPFHowToFile = (state, action, data) => {\n    const { selfFile } = data;\n\n    if (selfFile === 'only-formed') {\n      const { pendingStates, requestedJurisdictions, domesticJurisdiction, needsDomesticJurisdictionData, upsellDomJur } = state,\n        newValues = _reduce(requestedJurisdictions, (collect, reqJur) => {\n          if (!pendingStates[reqJur]) {\n            collect.reqJurs.push(reqJur);\n            collect.pendingStates[reqJur] = false;\n          }\n          return collect;\n        }, { reqJurs: [], pendingStates: {} });\n\n      if (upsellDomJur && !pendingStates[domesticJurisdiction]) {\n        newValues.pendingStates[domesticJurisdiction] = false;\n      }\n      return update(state, {\n        jurisdictionOrder: { $set: createJurisdictionOrder(newValues.reqJurs, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData) },\n        pendingStates: { $set: newValues.pendingStates },\n        requestedJurisdictions: { $set: newValues.reqJurs },\n        requestedJurisdictionCount: { $set: newValues.reqJurs.count },\n        selfFile: { $set: selfFile },\n        step: { $set: data.nextStep }\n      });\n    }\n\n    return update(state, {\n      selfFile: { $set: selfFile },\n      step: { $set: data.nextStep }\n    });\n  },\n\n  processPFPlan = (state, action, data) => {\n    const { planLevel } = data;\n\n    return update(state, {\n      planLevel: { $set: planLevel },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processPFPrices = (state, action, data) => {\n    const { price, fees } = data;\n\n    return update(state, {\n      fees: { $set: fees },\n      price: { $set: price }\n    });\n  },\n\n  processPFRegisteredStatesFromCart = (state, action, data) => {\n    const { domesticJurisdiction, needsDomesticJurisdictionData, pendingStates, requestedJurisdictions, upsellDomJur } = state,\n      { registeredStates } = data,\n      newPendingStates = {},\n      newRequestedJurisdictions = [],\n      hasDomJur = registeredStates.indexOf(domesticJurisdiction) !== -1;\n\n    let newUpsellDomJur = upsellDomJur;\n\n    // Start by restoring all the unregistered states UNLESS one of them is now specified as registered\n    _forEach(requestedJurisdictions, (jur) => {\n      if (registeredStates.indexOf(jur) === -1) { // Not in registered states array\n        if (pendingStates[jur]) { // Is unregistered\n          newRequestedJurisdictions.push(jur);\n          newPendingStates[jur] = true;\n        }\n      }\n    });\n\n    // Now, process the registered states\n    _forEach(registeredStates, (jur) => {\n      newRequestedJurisdictions.push(jur);\n      newPendingStates[jur] = false;\n    });\n\n    // Next, check to see if the domestic jurisdiction is in the registered states\n    if (hasDomJur || (upsellDomJur && !hasDomJur)) {\n      newUpsellDomJur = false;\n    }\n\n    const requestedJurisdictionNames = _reduce(newRequestedJurisdictions, (names, reqJur) => {\n      names[reqJur] = STATE_NAMES[reqJur];\n      return names;\n    }, {});\n\n    return update(state, {\n      jurisdictionOrder: { $set: createJurisdictionOrder(newRequestedJurisdictions, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData) },\n      pendingStates: { $set: newPendingStates },\n      requestedJurisdictions: { $set: sortRequestedJurisdictions(newRequestedJurisdictions, requestedJurisdictionNames) },\n      requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n      requestedJurisdictionCount: { $set: newRequestedJurisdictions.length },\n      upsellDomJur: { $set: newUpsellDomJur }\n    });\n  },\n\n  // Reset step\n  processPFRequestedJurisdictions = (state, action, data) => {\n    const\n      { requestedJurisdictions } = data,\n      {\n        busDetailsLocked,\n        domesticJurisdiction,\n        hasFormation,\n        needsDomesticJurisdictionData\n      } = state,\n      requestedJurisdictionNames = _reduce(requestedJurisdictions, (names, reqJur) => {\n        names[reqJur] = STATE_NAMES[reqJur];\n        return names;\n      }, {}),\n      pendingStates = _reduce(requestedJurisdictions, (collect, jur) => {\n        collect[jur] = hasFormation ? null : true;\n        return collect;\n      }, {});\n\n    if (!busDetailsLocked) {\n      return update(state, {\n        domesticEntity: { $set: null },\n        domesticJurisdiction: { $set: '' },\n        domesticJurisdictionName: { $set: '' },\n        domJurNotReqJurs: { $set: null },\n        foreignQualFiling: { $set: null },\n        foreignRegistration: { $set: null },\n        jurisdictionOrder: { $set: createJurisdictionOrder(requestedJurisdictions, '', false, false) },\n        name: { $set: '' },\n        pendingStates: { $set: pendingStates },\n        requestedJurisdictions: { $set: sortRequestedJurisdictions(requestedJurisdictions, requestedJurisdictionNames) },\n        requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n        requestedJurisdictionCount: { $set: requestedJurisdictions.length },\n        step: { $set: data.nextStep || state.step },\n        type: { $set: '' },\n        upsellDomJur: { $set: null }\n      });\n    }\n\n    // Existing domestic jurisdiction is in the requested array\n    if (_indexOf(requestedJurisdictions, domesticJurisdiction) !== -1) {\n      pendingStates[domesticJurisdiction] = false;\n    }\n\n    return update(state, {\n      domesticEntity: { $set: null },\n      domJurNotReqJurs: { $set: null },\n      foreignQualFiling: { $set: null },\n      foreignRegistration: { $set: null },\n      jurisdictionOrder: { $set: createJurisdictionOrder(requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, needsDomesticJurisdictionData) },\n      pendingStates: { $set: pendingStates },\n      requestedJurisdictions: { $set: sortRequestedJurisdictions(requestedJurisdictions, requestedJurisdictionNames) },\n      requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n      requestedJurisdictionCount: { $set: requestedJurisdictions.length },\n      step: { $set: data.nextStep || state.step },\n      upsellDomJur: { $set: null }\n    });\n  },\n\n  processPFUnregisteredStatesFromCart = (state, action, data) => {\n    const { domesticJurisdiction, needsDomesticJurisdictionData, pendingStates, requestedJurisdictions, upsellDomJur } = state,\n      { unregisteredStates } = data,\n      newPendingStates = {},\n      newRequestedJurisdictions = [],\n      hasDomJur = unregisteredStates.indexOf(domesticJurisdiction) !== -1;\n\n    let newUpsellDomJur = upsellDomJur;\n\n    // Start by restoring all the registered states UNLESS one of them is now specified as unregistered\n    _forEach(requestedJurisdictions, (jur) => {\n      if (unregisteredStates.indexOf(jur) === -1) { // Not in unregistered states array\n        if (!pendingStates[jur]) { // Is registered\n          newRequestedJurisdictions.push(jur);\n          newPendingStates[jur] = false;\n        }\n      }\n    });\n\n    // Now, process the registered states\n    _forEach(unregisteredStates, (jur) => {\n      newRequestedJurisdictions.push(jur);\n      newPendingStates[jur] = true;\n    });\n\n    if (hasDomJur || (upsellDomJur && !hasDomJur)) {\n      newUpsellDomJur = false;\n    }\n\n    const requestedJurisdictionNames = _reduce(newRequestedJurisdictions, (names, reqJur) => {\n      names[reqJur] = STATE_NAMES[reqJur];\n      return names;\n    }, {});\n\n    return update(state, {\n      jurisdictionOrder: { $set: createJurisdictionOrder(newRequestedJurisdictions, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData) },\n      pendingStates: { $set: newPendingStates },\n      requestedJurisdictions: { $set: sortRequestedJurisdictions(newRequestedJurisdictions, requestedJurisdictionNames) },\n      requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n      requestedJurisdictionCount: { $set: newRequestedJurisdictions.length },\n      upsellDomJur: { $set: newUpsellDomJur }\n    });\n  },\n\n  processPFUpsellDomJur = (state, action, data) => {\n    const { upsellDomJur } = data,\n      { requestedJurisdictions, domesticJurisdiction, hasFormation, needsDomesticJurisdictionData, pendingStates } = state,\n      newPendingStates = _reduce(pendingStates, (collect, value, key) => {\n        if (key !== domesticJurisdiction) {\n          collect[key] = value;\n        }\n        return collect;\n      }, upsellDomJur ? { [domesticJurisdiction]: !hasFormation } : {}),\n      jurisdictionOrder = createJurisdictionOrder(requestedJurisdictions, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData);\n\n    return update(state, {\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      pendingStates: { $set: newPendingStates },\n      upsellDomJur: { $set: upsellDomJur },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n\n    [REG_CORA_PF_ACTIONS.NEXT_STEP]: processNextStep,\n    [REG_CORA_PF_ACTIONS.ACCOWN_EMAIL]: processPFAccountOwnerEmail,\n    [REG_CORA_PF_ACTIONS.ACCOWN_FIRST_NAME]: processPFAccountOwnerFirstName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_LAST_NAME]: processPFAccountOwnerLastName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_PHONE]: processPFAccountOwnerPhoneNumber,\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processPFBusinessId,\n    [REG_CORA_PF_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_CORA_PF_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_CORA_PF_ACTIONS.BUS_TYPE_NAME_CART]: processBusinessTypeAndName,\n    [REG_CORA_PF_ACTIONS.CART]: processNextStep,\n    [REG_CORA_PF_ACTIONS.CHECKPOINT]: processPFCheckpoint,\n    [REG_CORA_PF_ACTIONS.CHOOSE_DOM_JUR]: processPFChooseDomesticJurisdiction,\n    [REG_CORA_PF_ACTIONS.CHOOSE_HAS_FORMATION]: processPFChooseHasFormation,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processPFCreateOrderComplete,\n    [REG_CORA_PF_ACTIONS.DOM_ENTITY]: processPFDomesticEntity,\n    [REG_CORA_PF_ACTIONS.DOM_JUR]: processPFDomesticJurisdiction,\n    [REG_CORA_PF_ACTIONS.FOREIGN_QUAL_FILING]: processPFForeignQualFiling,\n    [REG_CORA_PF_ACTIONS.FOREIGN_REG]: processPFForeignRegistration,\n    [REG_CORA_PF_ACTIONS.FORM_WITH_ZEN]: processPFFormWithZen,\n    [REG_CORA_PF_ACTIONS.HAS_FORMATION]: processPFHasFormation,\n    [REG_CORA_PF_ACTIONS.HOW_TO_FILE]: processPFHowToFile,\n    [REG_CORA_PF_ACTIONS.INIT]: processPFInit,\n    [REG_CORA_PF_ACTIONS.PLAN]: processPFPlan,\n    [REG_CORA_PF_ACTIONS.PRICES]: processPFPrices,\n    [REG_CORA_PF_ACTIONS.REG_AGENT]: processNextStep,\n    [REG_CORA_PF_ACTIONS.REG_STATES_FROM_CART]: processPFRegisteredStatesFromCart,\n    [REG_CORA_PF_ACTIONS.REQ_JURS]: processPFRequestedJurisdictions,\n    [REG_CORA_PF_ACTIONS.UNREG_STATES_FROM_CART]: processPFUnregisteredStatesFromCart,\n    [REG_CORA_PF_ACTIONS.UPSELL_DOM_JUR]: processPFUpsellDomJur,\n    [REG_CORA_PF_ACTIONS.WELCOME]: processNextStep,\n\n    [COMP_CORA_ACTIONS.AUTH_SIG]: processAuthorizedSignatory,\n    [COMP_CORA_ACTIONS.AUTH_SIG_MODAL]: processAuthorizedSignatory,\n    [COMP_CORA_ACTIONS.BUS_DESC]: processBusinessIndustry,\n    [COMP_CORA_ACTIONS.BUS_INFO_MODAL]: processBusinessIndustry,\n    [COMP_CORA_ACTIONS.CHOOSE_ELECTIVE_CEO]: processElectiveCEO,\n    [COMP_CORA_ACTIONS.CHOOSE_SOP_CONTACT]: processSOPContact,\n    [COMP_CORA_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [COMP_CORA_ACTIONS.ELECTIVE_CEO]: processElectiveCEO,\n    [COMP_CORA_ACTIONS.ELECTIVE_CEO_MODAL]: processElectiveCEO,\n    [COMP_CORA_ACTIONS.HAS_ELECTIVE_CEO]: processHasElectiveCEO,\n    [COMP_CORA_ACTIONS.SOP_CONTACT]: processSOPContact,\n    [COMP_CORA_ACTIONS.SOP_CONTACT_MODAL]: processSOPContact,\n    [COMP_CORA_ACTIONS.STATE_FILING]: processStateFiling,\n    [COMP_CORA_ACTIONS.STATE_FILING_MODAL]: processStateFiling,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nINITIAL_STATE.startStep = INITIAL_STATE.step;\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_corpdocs';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/corpdocs';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId } = data;\n\n    return update(state, {\n      companyId: { $set: companyId }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, companyCount } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/goodStanding';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    name: '',\n    domesticJurisdiction: '',\n    businessType: '',\n    state: '',\n\n    businessAddressLine1: '',\n    businessAddressLine2: '',\n    businessCity: '',\n    businessState: '',\n    businessZipCode: '',\n    contactFirstName: '',\n    contactMiddleName: '',\n    contactLastName: '',\n    contactSuffix: '',\n    contactCompanyName: '',\n    contactAddressLine1: '',\n    contactAddressLine2: '',\n    contactCity: '',\n    contactState: '',\n    contactZipCode: '',\n    contactPhoneNumber: '',\n    contactEmail: '',\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0,\n\n    useCredit: false\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processInit = (state, action, data) => {\n    const { companyId, businessType, name, domesticJurisdiction } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      businessType: { $set: businessType },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      actionError: { $set: 0 }\n    });\n  },\n  processStart = (state) => {\n\n    return update(state, {\n      inProgress: { $set: true }\n    });\n  },\n  processCompanyId = (state, action, data) => {\n    const { companyId, name, businessType, domesticJurisdiction } = data,\n      { businessAddressLine1, businessAddressLine2, businessCity, businessState, businessZipCode } = data,\n      { contactFirstName, contactMiddleName, contactLastName, contactSuffix, contactCompanyName, contactAddressLine1, contactAddressLine2, contactCity, contactState, contactZipCode, contactPhoneNumber, contactEmail } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      name: { $set: name },\n      businessType: { $set: businessType },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      businessAddressLine1: { $set: businessAddressLine1 },\n      businessAddressLine2: { $set: businessAddressLine2 },\n      businessCity: { $set: businessCity },\n      businessState: { $set: businessState },\n      businessZipCode: { $set: businessZipCode },\n      contactFirstName: { $set: contactFirstName },\n      contactMiddleName: { $set: contactMiddleName },\n      contactLastName: { $set: contactLastName },\n      contactSuffix: { $set: contactSuffix },\n      contactCompanyName: { $set: contactCompanyName },\n      contactAddressLine1: { $set: contactAddressLine1 },\n      contactAddressLine2: { $set: contactAddressLine2 },\n      contactCity: { $set: contactCity },\n      contactState: { $set: contactState },\n      contactZipCode: { $set: contactZipCode },\n      contactPhoneNumber: { $set: contactPhoneNumber },\n      contactEmail: { $set: contactEmail }\n    });\n  },\n  processState = (state, action, data) => {\n    const { state: gsState } = data;\n\n    return update(state, {\n      state: { $set: gsState }\n    });\n  },\n  processDataConfirmation = (state) => {\n    return state;\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 }  = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardToken: { $set: '' },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processUseCredit = (state, action) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { useCredit, creditUUID } = action;\n\n    return update(state, {\n      useCredit: { $set: useCredit },\n      creditUUID: { $set: creditUUID }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.START]: processStart,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.CHOOSE_COMPANY]: processCompanyId,\n    [ACTIONS.CHOOSE_STATE]: processState,\n    [ACTIONS.DATA_CONFIRM]: processDataConfirmation,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.SET_USE_CREDIT]: processUseCredit,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment,\n\n\n    [REGISTRATION_ACTIONS.RESET]: resetAllData\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nimport { ACTIONS as CORP_ACTIONS, URLS as CORP_URLS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS, URLS as LLC_URLS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS, URLS as COMP_BLR_URLS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS, URLS as COMP_BUSINESS_URLS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS, URLS as COMP_CORA_URLS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS, URLS as COMP_DBA_URLS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_EIN_ACTIONS, URLS as COMP_EIN_URLS } from '../../constants/complete_ein';\nimport { ACTIONS as COMP_NYPUB_ACTIONS, URLS as COMP_NYPUB_URLS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS, URLS as COMP_WFG_URLS } from '../../constants/complete_wfg';\nimport { ACTIONS as POSTPURCHASE_ACTIONS, URLS as POSTPURCHASE_URLS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BLR_ACTIONS, URLS as REG_BLR_URLS } from '../../constants/register_blr';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS, URLS as REG_CORA_PF_URLS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_ENTITY_PF_ACTIONS, URLS as REG_DBA_ENTITY_PF_URLS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_EIN_ACTIONS, URLS as REG_EIN_URLS } from '../../constants/register_ein';\nimport { ACTIONS as REG_GS_ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REG_LOGOKIT_ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REG_NAMERES_ACTIONS, URLS as REG_NAMERES_URLS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS, URLS as REG_NYPUB_URLS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS, URLS as REG_WFG_URLS } from '../../constants/register_wfg';\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as BNG_ACTIONS, URLS as BNG_URLS } from '../../constants/business_name_generator';\nimport { ACTIONS, URLS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/page';\n\nconst\n  ACTION_TO_URL_MAP = {\n    [ACTIONS.ACCOWN_CONTACT]: URLS.ACCOWN_CONTACT,\n    [ACTIONS.ACCOWN_NAME]: URLS.ACCOWN_NAME,\n    [ACTIONS.BUS_ID]: URLS.BUS_ID,\n    [ACTIONS.BUS_NAME]: URLS.BUS_NAME,\n    [ACTIONS.BUS_TYPE]: URLS.BUS_TYPE,\n    [ACTIONS.DATA_CONFIRM]: URLS.DATA_CONFIRM,\n    [ACTIONS.DOM_JUR]: URLS.DOM_JUR,\n    [ACTIONS.LOGIN_POST]: URLS.LOGIN_POST,\n    [ACTIONS.MAIL_ADDR]: URLS.MAIL_ADDR,\n    [ACTIONS.PAYMENT]: URLS.PAYMENT,\n    [ACTIONS.PHYS_ADDR]: URLS.PHYS_ADDR,\n    [ACTIONS.PRIN_ADDR]: URLS.PRIN_ADDR,\n    [ACTIONS.PRODUCT_CONFIRM]: URLS.PRODUCT_CONFIRM,\n    [ACTIONS.PURCH_BANK]: URLS.PURCH_BANK,\n    [ACTIONS.PURCH_BANK_RES]: URLS.PURCH_BANK_RES,\n    [ACTIONS.PURCH_CORP_BYLAWS]: URLS.PURCH_CORP_BYLAWS,\n    [ACTIONS.PURCH_DOMAIN]: URLS.PURCH_DOMAIN,\n    [ACTIONS.PURCH_DOMAIN_PRIV]: URLS.PURCH_DOMAIN_PRIV,\n    [ACTIONS.PURCH_EIN]: URLS.PURCH_EIN,\n    [ACTIONS.PURCH_EMAIL]: URLS.PURCH_EMAIL,\n    [ACTIONS.PURCH_EXP]: URLS.PURCH_EXP,\n    [ACTIONS.PURCH_NYPUB]: URLS.PURCH_NYPUB,\n    [ACTIONS.PURCH_OP_AGREE]: URLS.PURCH_OP_AGREE,\n    [ACTIONS.PURCH_PRIV]: URLS.PURCH_PRIV,\n    [ACTIONS.PURCH_PLAN]: URLS.PURCH_PLAN,\n    [ACTIONS.PURCH_START]: URLS.PURCH_START,\n    [ACTIONS.PURCH_WEBSITE]: URLS.PURCH_WEBSITE,\n    [ACTIONS.PURCH_WF]: URLS.PURCH_WF,\n    [ACTIONS.REG_AGT]: URLS.REG_AGT,\n    [ACTIONS.STATE_REQ]: URLS.STATE_REQ,\n    [ACTIONS.SCORP_ALL_US_OWNERS]: URLS.SCORP_ALL_US_OWNERS,\n    [ACTIONS.SCORP_INVESTORS]: URLS.SCORP_INVESTORS,\n    [ACTIONS.SCORP_LOSS]: URLS.SCORP_LOSS,\n    [ACTIONS.SCORP_SALARY]: URLS.SCORP_SALARY,\n\n    [REG_BLR_ACTIONS.ACCOWN_CONTACT]: REG_BLR_URLS.ACCOWN_CONTACT,\n    [REG_BLR_ACTIONS.ACCOWN_NAME]: REG_BLR_URLS.ACCOWN_NAME,\n    [REG_BLR_ACTIONS.BUS_DESC]: REG_BLR_URLS.BUS_DESC,\n    [REG_BLR_ACTIONS.BUS_EXIST]: REG_BLR_URLS.BUS_EXIST,\n    [REG_BLR_ACTIONS.BUS_ID]: REG_BLR_URLS.BUS_ID,\n    [REG_BLR_ACTIONS.BUS_NAME]: REG_BLR_URLS.BUS_NAME,\n    [REG_BLR_ACTIONS.BUS_TYPE]: REG_BLR_URLS.BUS_TYPE,\n    [REG_BLR_ACTIONS.DATA_CONFIRM]: REG_BLR_URLS.DATA_CONFIRM,\n    [REG_BLR_ACTIONS.DOM_JUR]: REG_BLR_URLS.DOM_JUR,\n    [REG_BLR_ACTIONS.LOGIN_POST]: REG_BLR_URLS.LOGIN_POST,\n    [REG_BLR_ACTIONS.PAYMENT]: REG_BLR_URLS.PAYMENT,\n    [REG_BLR_ACTIONS.START]: REG_BLR_URLS.START,\n\n    [REG_CORA_PF_ACTIONS.INIT]: REG_CORA_PF_URLS.INIT,\n    [REG_CORA_PF_ACTIONS.QUESTIONNAIRE]: REG_CORA_PF_URLS.QUESTIONNAIRE,\n    [REG_CORA_PF_ACTIONS.CONGRATS]: REG_CORA_PF_URLS.CONGRATS,\n    [REG_CORA_PF_ACTIONS.LOGIN_POST]: REG_CORA_PF_URLS.LOGIN_POST,\n\n    [REG_DBA_ENTITY_PF_ACTIONS.INIT]: REG_DBA_ENTITY_PF_URLS.INIT,\n    [REG_DBA_ENTITY_PF_ACTIONS.QUESTIONNAIRE]: REG_DBA_ENTITY_PF_URLS.QUESTIONNAIRE,\n    [REG_DBA_ENTITY_PF_ACTIONS.CONGRATS]: REG_DBA_ENTITY_PF_URLS.CONGRATS,\n    [REG_DBA_ENTITY_PF_ACTIONS.LOGIN_POST]: REG_DBA_ENTITY_PF_URLS.LOGIN_POST,\n\n    [REG_EIN_ACTIONS.ACCOWN_CONTACT]: REG_EIN_URLS.ACCOWN_CONTACT,\n    [REG_EIN_ACTIONS.ACCOWN_NAME]: REG_EIN_URLS.ACCOWN_NAME,\n    [REG_EIN_ACTIONS.BUS_ADDR]: REG_EIN_URLS.BUS_ADDR,\n    [REG_EIN_ACTIONS.BUS_ADDR_UNL]: REG_EIN_URLS.BUS_ADDR_UNL,\n    [REG_EIN_ACTIONS.BUS_ID]: REG_EIN_URLS.BUS_ID,\n    [REG_EIN_ACTIONS.BUS_NAME]: REG_EIN_URLS.BUS_NAME,\n    [REG_EIN_ACTIONS.BUS_TYPE]: REG_EIN_URLS.BUS_TYPE,\n    [REG_EIN_ACTIONS.CORP_TAXED]: REG_EIN_URLS.CORP_TAXED,\n    [REG_EIN_ACTIONS.DOM_JUR]: REG_EIN_URLS.DOM_JUR,\n    [REG_EIN_ACTIONS.LOGIN_POST]: REG_EIN_URLS.LOGIN_POST,\n    [REG_EIN_ACTIONS.NO_COMPANY]: REG_EIN_URLS.NO_COMPANY,\n    [REG_EIN_ACTIONS.PAYMENT]: REG_EIN_URLS.PAYMENT,\n\n    [REG_NAMERES_ACTIONS.ACCOWN_CONTACT]: REG_NAMERES_URLS.ACC_OWN_INFO, // Will keep them in case there is someone with this step flow on db\n    [REG_NAMERES_ACTIONS.ACCOWN_NAME]: REG_NAMERES_URLS.ACC_OWN_INFO, // Will keep them in case there is someone with this step flow on db\n    [REG_NAMERES_ACTIONS.ACC_OWN_INFO]: REG_NAMERES_URLS.ACC_OWN_INFO,\n    [REG_NAMERES_ACTIONS.BUS_NAME]: REG_NAMERES_URLS.BUS_NAME,\n    [REG_NAMERES_ACTIONS.BUS_TYPE]: REG_NAMERES_URLS.BUS_TYPE,\n    [REG_NAMERES_ACTIONS.DOM_JUR]: REG_NAMERES_URLS.DOM_JUR,\n    [REG_NAMERES_ACTIONS.MAIL_ADDR]: REG_NAMERES_URLS.MAIL_ADDR,\n    [REG_NAMERES_ACTIONS.PAYMENT]: REG_NAMERES_URLS.PAYMENT,\n    [REG_NAMERES_ACTIONS.PRIN_ADDR]: REG_NAMERES_URLS.PRIN_ADDR,\n    [REG_NAMERES_ACTIONS.SHARE]: REG_NAMERES_URLS.SHARE,\n\n    [REG_NYPUB_ACTIONS.ACCOWN_NAME]: REG_NYPUB_URLS.ACCOWN_NAME,\n    [REG_NYPUB_ACTIONS.ACCOWN_CONTACT]: REG_NYPUB_URLS.ACCOWN_CONTACT,\n    [REG_NYPUB_ACTIONS.BUS_ID]: REG_NYPUB_URLS.BUS_ID,\n    [REG_NYPUB_ACTIONS.BUS_NAME]: REG_NYPUB_URLS.BUS_NAME,\n    [REG_NYPUB_ACTIONS.DATA_CONFIRM]: REG_NYPUB_URLS.DATA_CONFIRM,\n    [REG_NYPUB_ACTIONS.DOM_JUR]: REG_NYPUB_URLS.DOM_JUR,\n    [REG_NYPUB_ACTIONS.LOGIN_POST]: REG_NYPUB_URLS.LOGIN_POST,\n    [REG_NYPUB_ACTIONS.MAIL_ADDR]: REG_NYPUB_URLS.MAIL_ADDR,\n    [REG_NYPUB_ACTIONS.PAYMENT]: REG_NYPUB_URLS.PAYMENT,\n    [REG_NYPUB_ACTIONS.PHYS_ADDR]: REG_NYPUB_URLS.PHYS_ADDR,\n    [REG_NYPUB_ACTIONS.PRIN_ADDR]: REG_NYPUB_URLS.PRIN_ADDR,\n\n    [REG_WFG_ACTIONS.ACCOWN_CONTACT]: REG_WFG_URLS.ACCOWN_CONTACT,\n    [REG_WFG_ACTIONS.ACCOWN_NAME]: REG_WFG_URLS.ACCOWN_NAME,\n    [REG_WFG_ACTIONS.BUS_ID]: REG_WFG_URLS.BUS_ID,\n    [REG_WFG_ACTIONS.BUS_NAME]: REG_WFG_URLS.BUS_NAME,\n    [REG_WFG_ACTIONS.BUS_TYPE]: REG_WFG_URLS.BUS_TYPE,\n    [REG_WFG_ACTIONS.DATA_CONFIRM]: REG_WFG_URLS.DATA_CONFIRM,\n    [REG_WFG_ACTIONS.DOM_JUR]: REG_WFG_URLS.DOM_JUR,\n    [REG_WFG_ACTIONS.PAYMENT]: REG_WFG_URLS.PAYMENT,\n    [REG_WFG_ACTIONS.LOGIN_POST]: REG_WFG_URLS.LOGIN_POST,\n\n    [LLC_ACTIONS.BUS_ALT]: LLC_URLS.BUS_ALT,\n    [LLC_ACTIONS.BUS_DESC]: LLC_URLS.BUS_DESC,\n    [LLC_ACTIONS.BUS_NAME]: LLC_URLS.BUS_NAME,\n    [LLC_ACTIONS.SET_BUS_RUN]: LLC_URLS.BUS_RUN,\n    [LLC_ACTIONS.CHOOSE_PRIM_CONTACT]: LLC_URLS.CHOOSE_PRIM_CONTACT,\n    [LLC_ACTIONS.DBA_ENTITIES]: LLC_URLS.DBA_ENTITIES,\n    [LLC_ACTIONS.DOMAIN_NAME]: LLC_URLS.DOMAIN_NAME,\n    [LLC_ACTIONS.EMAIL_ADDRESS]: LLC_URLS.EMAIL_ADDRESS,\n    [LLC_ACTIONS.MAIL_ADDR]: LLC_URLS.MAIL_ADDR,\n    [LLC_ACTIONS.MBR_COUNT]: LLC_URLS.MBR_COUNT,\n    [LLC_ACTIONS.MGR_COUNT]: LLC_URLS.MGR_COUNT,\n    [LLC_ACTIONS.PHYS_ADDR]: LLC_URLS.PHYS_ADDR,\n    [LLC_ACTIONS.PRIM_CONTACT]: LLC_URLS.PRIM_CONTACT,\n    [LLC_ACTIONS.PRIN_ADDR]: LLC_URLS.PRIN_ADDR,\n    [LLC_ACTIONS.PURCHASE_DBA_COMPLIANCE]: LLC_URLS.PURCHASE_DBA_COMPLIANCE,\n    [LLC_ACTIONS.PURCHASE_DBA_ENTITY]: LLC_URLS.PURCHASE_DBA_ENTITY,\n    [LLC_ACTIONS.SET_MBR_LIST]: LLC_URLS.MBR_LIST,\n    [LLC_ACTIONS.SET_MGR_LIST]: LLC_URLS.MGR_LIST,\n    [LLC_ACTIONS.SET_MGR_OPT]: LLC_URLS.MGR_OPT,\n    [LLC_ACTIONS.SHARE]: LLC_URLS.SHARE,\n    [LLC_ACTIONS.START_COMP]: LLC_URLS.START_COMP,\n\n    [CORP_ACTIONS.ASST_SEC]: CORP_URLS.ASST_SEC,\n    [CORP_ACTIONS.BUS_ALT]: CORP_URLS.BUS_ALT,\n    [CORP_ACTIONS.BUS_DESC]: CORP_URLS.BUS_DESC,\n    [CORP_ACTIONS.BUS_NAME]: CORP_URLS.BUS_NAME,\n    [CORP_ACTIONS.CHOOSE_ASST_SEC]: CORP_URLS.CHOOSE_ASST_SEC,\n    [CORP_ACTIONS.CHOOSE_PRES]: CORP_URLS.CHOOSE_PRES,\n    [CORP_ACTIONS.CHOOSE_PRIM_CONTACT]: CORP_URLS.CHOOSE_PRIM_CONTACT,\n    [CORP_ACTIONS.CHOOSE_SEC]: CORP_URLS.CHOOSE_SEC,\n    [CORP_ACTIONS.CHOOSE_TRSR]: CORP_URLS.CHOOSE_TRSR,\n    [CORP_ACTIONS.CHOOSE_VP]: CORP_URLS.CHOOSE_VP,\n    [CORP_ACTIONS.CORP_STOCK]: CORP_URLS.CORP_STOCK,\n    [CORP_ACTIONS.HAS_MORE_THAN_ONE_SHARE]: CORP_URLS.HAS_MORE_THAN_ONE_SHARE,\n    [CORP_ACTIONS.DBA_ENTITIES]: CORP_URLS.DBA_ENTITIES,\n    [CORP_ACTIONS.DIR_COUNT]: CORP_URLS.DIR_COUNT,\n    [CORP_ACTIONS.DIR_LIST]: CORP_URLS.DIR_LIST,\n    [CORP_ACTIONS.DOMAIN_NAME]: CORP_URLS.DOMAIN_NAME,\n    [CORP_ACTIONS.EMAIL_ADDRESS]: CORP_URLS.EMAIL_ADDRESS,\n    [CORP_ACTIONS.HAS_ASST_SEC]: CORP_URLS.HAS_ASST_SEC,\n    [CORP_ACTIONS.HAS_VP]: CORP_URLS.HAS_VP,\n    [CORP_ACTIONS.MAIL_ADDR]: CORP_URLS.MAIL_ADDR,\n    [CORP_ACTIONS.PHYS_ADDR]: CORP_URLS.PHYS_ADDR,\n    [CORP_ACTIONS.PRES]: CORP_URLS.PRES,\n    [CORP_ACTIONS.PRIM_CONTACT]: CORP_URLS.PRIM_CONTACT,\n    [CORP_ACTIONS.PRIN_ADDR]: CORP_URLS.PRIN_ADDR,\n    [CORP_ACTIONS.PURCHASE_DBA_COMPLIANCE]: CORP_URLS.PURCHASE_DBA_COMPLIANCE,\n    [CORP_ACTIONS.PURCHASE_DBA_ENTITY]: CORP_URLS.PURCHASE_DBA_ENTITY,\n    [CORP_ACTIONS.SEC]: CORP_URLS.SEC,\n    [CORP_ACTIONS.SHARE]: CORP_URLS.SHARE_NEW_CORP,\n    [CORP_ACTIONS.START_COMP]: CORP_URLS.START_COMP,\n    [CORP_ACTIONS.TRSR]: CORP_URLS.TRSR,\n    [CORP_ACTIONS.VP]: CORP_URLS.VP,\n\n    [COMP_BLR_ACTIONS.AUTH_SIG]: COMP_BLR_URLS.AUTH_SIG,\n    [COMP_BLR_ACTIONS.BUS_INDUSTRY]: COMP_BLR_URLS.BUS_INDUSTRY,\n    [COMP_BLR_ACTIONS.BUS_AT_HOME]: COMP_BLR_URLS.BUS_AT_HOME,\n    [COMP_BLR_ACTIONS.CHOOSE_PRIM_CONTACT]: COMP_BLR_URLS.CHOOSE_PRIM_CONTACT,\n    [COMP_BLR_ACTIONS.CORP_ASST_SEC]: COMP_BLR_URLS.CORP_ASST_SEC,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_ASST_SEC]: COMP_BLR_URLS.CORP_CHOOSE_ASST_SEC,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_PRES]: COMP_BLR_URLS.CORP_CHOOSE_PRES,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_SEC]: COMP_BLR_URLS.CORP_CHOOSE_SEC,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_TRSR]: COMP_BLR_URLS.CORP_CHOOSE_TRSR,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_VP]: COMP_BLR_URLS.CORP_CHOOSE_VP,\n    [COMP_BLR_ACTIONS.CORP_DIR_LIST]: COMP_BLR_URLS.CORP_DIR_LIST,\n    [COMP_BLR_ACTIONS.CORP_HAS_ASST_SEC]: COMP_BLR_URLS.CORP_HAS_ASST_SEC,\n    [COMP_BLR_ACTIONS.CORP_HAS_VP]: COMP_BLR_URLS.CORP_HAS_VP,\n    [COMP_BLR_ACTIONS.CORP_PRES]: COMP_BLR_URLS.CORP_PRES,\n    [COMP_BLR_ACTIONS.CORP_SEC]: COMP_BLR_URLS.CORP_SEC,\n    [COMP_BLR_ACTIONS.CORP_TRSR]: COMP_BLR_URLS.CORP_TRSR,\n    [COMP_BLR_ACTIONS.CORP_VP]: COMP_BLR_URLS.CORP_VP,\n    [COMP_BLR_ACTIONS.DATA_CONFIRM]: COMP_BLR_URLS.DATA_CONFIRM,\n    [COMP_BLR_ACTIONS.EMPL_COUNT]: COMP_BLR_URLS.EMPL_COUNT,\n    [COMP_BLR_ACTIONS.HAS_DBAS]: COMP_BLR_URLS.HAS_DBAS,\n    [COMP_BLR_ACTIONS.HAS_EMPLOYEES]: COMP_BLR_URLS.HAS_EMPLOYEES,\n    [COMP_BLR_ACTIONS.LLC_BUS_RUN]: COMP_BLR_URLS.LLC_BUS_RUN,\n    [COMP_BLR_ACTIONS.LLC_MGR_LIST]: COMP_BLR_URLS.LLC_MGR_LIST,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT]: COMP_BLR_URLS.LLC_MGR_OPT,\n    [COMP_BLR_ACTIONS.LLC_MBR_LIST]: COMP_BLR_URLS.LLC_MBR_LIST,\n    [COMP_BLR_ACTIONS.MAIL_ADDR]: COMP_BLR_URLS.MAIL_ADDR,\n    [COMP_BLR_ACTIONS.PHYS_ADDR]: COMP_BLR_URLS.PHYS_ADDR,\n    [COMP_BLR_ACTIONS.PRIM_CONTACT]: COMP_BLR_URLS.PRIM_CONTACT,\n    [COMP_BLR_ACTIONS.PRIN_ADDR]: COMP_BLR_URLS.PRIN_ADDR,\n    [COMP_BLR_ACTIONS.REG_AGT]: COMP_BLR_URLS.REG_AGT,\n    [COMP_BLR_ACTIONS.SHARE]: COMP_BLR_URLS.SHARE,\n    [COMP_BLR_ACTIONS.START_BUS_DATA]: COMP_BLR_URLS.START_BUS_DATA,\n    [COMP_BLR_ACTIONS.START_BLR_DATA]: COMP_BLR_URLS.START_BLR_DATA,\n\n    [COMP_CORA_ACTIONS.AUTH_SIG]: COMP_CORA_URLS.AUTH_SIG,\n    [COMP_CORA_ACTIONS.BUS_DESC]: COMP_CORA_URLS.BUS_DESC,\n    [COMP_CORA_ACTIONS.CHOOSE_OFF_STATE_CONTACT]: COMP_CORA_URLS.CHOOSE_OFF_STATE_CONTACT,\n    [COMP_CORA_ACTIONS.CHOOSE_SOP_CONTACT]: COMP_CORA_URLS.CHOOSE_SOP_CONTACT,\n    [COMP_CORA_ACTIONS.CORP_ASST_SEC]: COMP_CORA_URLS.CORP_ASST_SEC,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_ASST_SEC]: COMP_CORA_URLS.CORP_CHOOSE_ASST_SEC,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_PRES]: COMP_CORA_URLS.CORP_CHOOSE_PRES,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_SEC]: COMP_CORA_URLS.CORP_CHOOSE_SEC,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_TRSR]: COMP_CORA_URLS.CORP_CHOOSE_TRSR,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_VP]: COMP_CORA_URLS.CORP_CHOOSE_VP,\n    [COMP_CORA_ACTIONS.CORP_DIR_LIST]: COMP_CORA_URLS.CORP_DIR_LIST,\n    [COMP_CORA_ACTIONS.CORP_HAS_ASST_SEC]: COMP_CORA_URLS.CORP_HAS_ASST_SEC,\n    [COMP_CORA_ACTIONS.CORP_HAS_VP]: COMP_CORA_URLS.CORP_HAS_VP,\n    [COMP_CORA_ACTIONS.CORP_PRES]: COMP_CORA_URLS.CORP_PRES,\n    [COMP_CORA_ACTIONS.CORP_SEC]: COMP_CORA_URLS.CORP_SEC,\n    [COMP_CORA_ACTIONS.CORP_TRSR]: COMP_CORA_URLS.CORP_TRSR,\n    [COMP_CORA_ACTIONS.CORP_VP]: COMP_CORA_URLS.CORP_VP,\n    [COMP_CORA_ACTIONS.DATA_CONFIRM]: COMP_CORA_URLS.DATA_CONFIRM,\n    [COMP_CORA_ACTIONS.DOM_JUR]: COMP_CORA_URLS.DOM_JUR,\n    [COMP_CORA_ACTIONS.LLC_BUS_RUN]: COMP_CORA_URLS.LLC_BUS_RUN,\n    [COMP_CORA_ACTIONS.LLC_MGR_LIST]: COMP_CORA_URLS.LLC_MGR_LIST,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT]: COMP_CORA_URLS.LLC_MGR_OPT,\n    [COMP_CORA_ACTIONS.LLC_MBR_LIST]: COMP_CORA_URLS.LLC_MBR_LIST,\n    [COMP_CORA_ACTIONS.MAIL_ADDR]: COMP_CORA_URLS.MAIL_ADDR,\n    [COMP_CORA_ACTIONS.OFF_STATE_CONTACT]: COMP_CORA_URLS.MAIL_ADDR,\n    [COMP_CORA_ACTIONS.PHYS_ADDR]: COMP_CORA_URLS.PHYS_ADDR,\n    [COMP_CORA_ACTIONS.OFF_STATE_CONTACT]: COMP_CORA_URLS.OFF_STATE_CONTACT,\n    [COMP_CORA_ACTIONS.PRIN_ADDR]: COMP_CORA_URLS.PRIN_ADDR,\n    [COMP_CORA_ACTIONS.SHARE]: COMP_CORA_URLS.SHARE,\n    [COMP_CORA_ACTIONS.SOP_CONTACT]: COMP_CORA_URLS.SOP_CONTACT,\n    [COMP_CORA_ACTIONS.START]: COMP_CORA_URLS.START,\n    [COMP_CORA_ACTIONS.STATE_FILING]: COMP_CORA_URLS.STATE_FILING,\n\n    [COMP_DBA_ACTIONS.BUS_DESC]: COMP_DBA_URLS.BUS_DESC,\n    [COMP_DBA_ACTIONS.DATA_CONFIRM]: COMP_DBA_URLS.DATA_CONFIRM,\n    [COMP_DBA_ACTIONS.DOM_JUR]: COMP_DBA_URLS.DOM_JUR,\n    [COMP_DBA_ACTIONS.EIN]: COMP_DBA_URLS.EIN,\n    [COMP_DBA_ACTIONS.HAS_EIN]: COMP_DBA_URLS.HAS_EIN,\n    [COMP_DBA_ACTIONS.IS_DOM_JUR]: COMP_DBA_URLS.IS_DOM_JUR,\n    [COMP_DBA_ACTIONS.MAIL_ADDR]: COMP_DBA_URLS.MAIL_ADDR,\n    [COMP_DBA_ACTIONS.OWNER_COUNT]: COMP_DBA_URLS.OWNER_COUNT,\n    [COMP_DBA_ACTIONS.OWNERS]: COMP_DBA_URLS.OWNERS,\n    [COMP_DBA_ACTIONS.PHYS_ADDR]: COMP_DBA_URLS.PHYS_ADDR,\n    [COMP_DBA_ACTIONS.PRIN_ADDR]: COMP_DBA_URLS.PRIN_ADDR,\n    [COMP_DBA_ACTIONS.REG_AGT]: COMP_DBA_URLS.REG_AGT,\n    [COMP_DBA_ACTIONS.START]: COMP_DBA_URLS.START,\n    [COMP_DBA_ACTIONS.START_EIN]: COMP_DBA_URLS.START_EIN,\n    [COMP_DBA_ACTIONS.STATE_FILING]: COMP_DBA_URLS.STATE_FILING,\n\n    [COMP_EIN_ACTIONS.ATF]: COMP_EIN_URLS.ATF,\n    [COMP_EIN_ACTIONS.BUS_ACT]: COMP_EIN_URLS.BUS_ACT,\n    [COMP_EIN_ACTIONS.BUS_720]: COMP_EIN_URLS.BUS_720,\n    [COMP_EIN_ACTIONS.BUS_QUEST_START]: COMP_EIN_URLS.BUS_QUEST_START,\n    [COMP_EIN_ACTIONS.CHOOSE_RESP]: COMP_EIN_URLS.CHOOSE_RESP,\n    [COMP_EIN_ACTIONS.CORP_TAXED]: COMP_EIN_URLS.CORP_TAXED,\n    [COMP_EIN_ACTIONS.DATA_CONFIRM]: COMP_EIN_URLS.DATA_CONFIRM,\n    [COMP_EIN_ACTIONS.HAS_DBAS]: COMP_EIN_URLS.HAS_DBAS,\n    [COMP_EIN_ACTIONS.DBA_NAMES]: COMP_EIN_URLS.DBA_NAMES,\n    [COMP_EIN_ACTIONS.HAS_EMPL_W2]: COMP_EIN_URLS.HAS_EMPL_W2,\n    [COMP_EIN_ACTIONS.EMPL_W2]: COMP_EIN_URLS.EMPL_W2,\n    [COMP_EIN_ACTIONS.GAMBLING]: COMP_EIN_URLS.GAMBLING,\n    [COMP_EIN_ACTIONS.HAS_SSN]: COMP_EIN_URLS.HAS_SSN,\n    [COMP_EIN_ACTIONS.LLC_ARE_MARRIED]: COMP_EIN_URLS.LLC_ARE_MARRIED,\n    [COMP_EIN_ACTIONS.LLC_MARRIED_TAXED]: COMP_EIN_URLS.LLC_MARRIED_TAXED,\n    [COMP_EIN_ACTIONS.MAIL_ADDR]: COMP_EIN_URLS.MAIL_ADDR,\n    [COMP_EIN_ACTIONS.NO_SSN]: COMP_EIN_URLS.NO_SSN,\n    [COMP_EIN_ACTIONS.PHYS_ADDR]: COMP_EIN_URLS.PHYS_ADDR,\n    [COMP_EIN_ACTIONS.PRIN_ADDR]: COMP_EIN_URLS.PRIN_ADDR,\n    [COMP_EIN_ACTIONS.RESP_INFO]: COMP_EIN_URLS.RESP_INFO,\n    [COMP_EIN_ACTIONS.SHARE]: COMP_EIN_URLS.SHARE,\n    [COMP_EIN_ACTIONS.START_EIN]: COMP_EIN_URLS.START_EIN,\n    [COMP_EIN_ACTIONS.VEHICLE]: COMP_EIN_URLS.VEHICLE,\n    [COMP_EIN_ACTIONS.VEHICLE_WEIGHT]: COMP_EIN_URLS.VEHICLE_WEIGHT,\n\n    [COMP_BUSINESS_ACTIONS.BUS_DESC]: COMP_BUSINESS_URLS.BUS_DESC,\n    [COMP_BUSINESS_ACTIONS.CHOOSE_PRIM_CONTACT]: COMP_BUSINESS_URLS.CHOOSE_PRIM_CONTACT,\n    [COMP_BUSINESS_ACTIONS.CORP_ASST_SEC]: COMP_BUSINESS_URLS.CORP_ASST_SEC,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_ASST_SEC]: COMP_BUSINESS_URLS.CORP_CHOOSE_ASST_SEC,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_PRES]: COMP_BUSINESS_URLS.CORP_CHOOSE_PRES,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_SEC]: COMP_BUSINESS_URLS.CORP_CHOOSE_SEC,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_TRSR]: COMP_BUSINESS_URLS.CORP_CHOOSE_TRSR,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_VP]: COMP_BUSINESS_URLS.CORP_CHOOSE_VP,\n    [COMP_BUSINESS_ACTIONS.CORP_DIR_COUNT]: COMP_BUSINESS_URLS.CORP_DIR_COUNT,\n    [COMP_BUSINESS_ACTIONS.CORP_DIR_LIST]: COMP_BUSINESS_URLS.CORP_DIR_LIST,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_ASST_SEC]: COMP_BUSINESS_URLS.CORP_HAS_ASST_SEC,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_VP]: COMP_BUSINESS_URLS.CORP_HAS_VP,\n    [COMP_BUSINESS_ACTIONS.CORP_PRES]: COMP_BUSINESS_URLS.CORP_PRES,\n    [COMP_BUSINESS_ACTIONS.CORP_SEC]: COMP_BUSINESS_URLS.CORP_SEC,\n    [COMP_BUSINESS_ACTIONS.CORP_TRSR]: COMP_BUSINESS_URLS.CORP_TRSR,\n    [COMP_BUSINESS_ACTIONS.CORP_VP]: COMP_BUSINESS_URLS.CORP_VP,\n    [COMP_BUSINESS_ACTIONS.DATA_CONFIRM]: COMP_BUSINESS_URLS.DATA_CONFIRM,\n    [COMP_BUSINESS_ACTIONS.LLC_BUS_RUN]: COMP_BUSINESS_URLS.LLC_BUS_RUN,\n    [COMP_BUSINESS_ACTIONS.LLC_MBR_COUNT]: COMP_BUSINESS_URLS.LLC_MBR_COUNT,\n    [COMP_BUSINESS_ACTIONS.LLC_MBR_LIST]: COMP_BUSINESS_URLS.LLC_MBR_LIST,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_COUNT]: COMP_BUSINESS_URLS.LLC_MGR_COUNT,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_LIST]: COMP_BUSINESS_URLS.LLC_MGR_LIST,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_OPT]: COMP_BUSINESS_URLS.LLC_MGR_OPT,\n    [COMP_BUSINESS_ACTIONS.MAIL_ADDR]: COMP_BUSINESS_URLS.MAIL_ADDR,\n    [COMP_BUSINESS_ACTIONS.PAYMENT]: COMP_BUSINESS_URLS.PAYMENT,\n    [COMP_BUSINESS_ACTIONS.PHYS_ADDR]: COMP_BUSINESS_URLS.PHYS_ADDR,\n    [COMP_BUSINESS_ACTIONS.PRIM_CONTACT]: COMP_BUSINESS_URLS.PRIM_CONTACT,\n    [COMP_BUSINESS_ACTIONS.PRIN_ADDR]: COMP_BUSINESS_URLS.PRIN_ADDR,\n    [COMP_BUSINESS_ACTIONS.PURCH_REG_AGT]: COMP_BUSINESS_URLS.PURCH_REG_AGT,\n    [COMP_BUSINESS_ACTIONS.REG_AGT]: COMP_BUSINESS_URLS.REG_AGT,\n\n    [COMP_NYPUB_ACTIONS.BUS_DESC]: COMP_NYPUB_ACTIONS.BUS_DESC,\n    [COMP_NYPUB_ACTIONS.CHOOSE_PRIM_CONTACT]: COMP_NYPUB_URLS.CHOOSE_PRIM_CONTACT,\n    [COMP_NYPUB_ACTIONS.DATA_CONFIRM]: COMP_NYPUB_URLS.DATA_CONFIRM,\n    [COMP_NYPUB_ACTIONS.LLC_BUS_RUN]: COMP_NYPUB_URLS.LLC_BUS_RUN,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_COUNT]: COMP_NYPUB_URLS.LLC_MBR_COUNT,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_LIST]: COMP_NYPUB_URLS.LLC_MBR_LIST,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_COUNT]: COMP_NYPUB_URLS.LLC_MGR_COUNT,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_LIST]: COMP_NYPUB_URLS.LLC_MGR_LIST,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT]: COMP_NYPUB_URLS.LLC_MGR_OPT,\n    [COMP_NYPUB_ACTIONS.MAIL_ADDR]: COMP_NYPUB_URLS.MAIL_ADDR,\n    [COMP_NYPUB_ACTIONS.PHYS_ADDR]: COMP_NYPUB_URLS.PHYS_ADDR,\n    [COMP_NYPUB_ACTIONS.PRIM_CONTACT]: COMP_NYPUB_URLS.PRIM_CONTACT,\n    [COMP_NYPUB_ACTIONS.PRIN_ADDR]: COMP_NYPUB_URLS.PRIN_ADDR,\n    [COMP_NYPUB_ACTIONS.REG_AGT]: COMP_NYPUB_URLS.REG_AGT,\n    [COMP_NYPUB_ACTIONS.SHARE]: COMP_NYPUB_URLS.SHARE,\n    [COMP_NYPUB_ACTIONS.START]: COMP_NYPUB_URLS.START,\n\n    [COMP_WFG_ACTIONS.ACCOWN_ADDR]: COMP_WFG_URLS.ACCOWN_ADDR,\n    [COMP_WFG_ACTIONS.ACCOWN_ADDR_UNL]: COMP_WFG_URLS.ACCOWN_ADDR_UNL,\n    [COMP_WFG_ACTIONS.BUS_ADDR]: COMP_WFG_URLS.BUS_ADDR,\n    [COMP_WFG_ACTIONS.BUS_ADDR_UNL]: COMP_WFG_URLS.BUS_ADDR_UNL,\n    [COMP_WFG_ACTIONS.BUS_DESC]: COMP_WFG_URLS.BUS_DESC,\n    [COMP_WFG_ACTIONS.BUS_NAME]: COMP_WFG_URLS.BUS_NAME,\n    [COMP_WFG_ACTIONS.CHOOSE_PRIM_CONTACT]: COMP_WFG_URLS.CHOOSE_PRIM_CONTACT,\n    [COMP_WFG_ACTIONS.CORP_ASST_SEC]: COMP_WFG_URLS.CORP_ASST_SEC,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_ASST_SEC]: COMP_WFG_URLS.CORP_CHOOSE_ASST_SEC,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_PRES]: COMP_WFG_URLS.CORP_CHOOSE_PRES,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_SEC]: COMP_WFG_URLS.CORP_CHOOSE_SEC,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_TRSR]: COMP_WFG_URLS.CORP_CHOOSE_TRSR,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_VP]: COMP_WFG_URLS.CORP_CHOOSE_VP,\n    [COMP_WFG_ACTIONS.CORP_DIR_LIST]: COMP_WFG_URLS.CORP_DIR_LIST,\n    [COMP_WFG_ACTIONS.CORP_HAS_ASST_SEC]: COMP_WFG_URLS.CORP_HAS_ASST_SEC,\n    [COMP_WFG_ACTIONS.CORP_HAS_VP]: COMP_WFG_URLS.CORP_HAS_VP,\n    [COMP_WFG_ACTIONS.CORP_PRES]: COMP_WFG_URLS.CORP_PRES,\n    [COMP_WFG_ACTIONS.CORP_SEC]: COMP_WFG_URLS.CORP_SEC,\n    [COMP_WFG_ACTIONS.CORP_TRSR]: COMP_WFG_URLS.CORP_TRSR,\n    [COMP_WFG_ACTIONS.CORP_VP]: COMP_WFG_URLS.CORP_VP,\n    [COMP_WFG_ACTIONS.DATA_CONFIRM]: COMP_WFG_URLS.DATA_CONFIRM,\n    [COMP_WFG_ACTIONS.LLC_BUS_RUN]: COMP_WFG_URLS.LLC_BUS_RUN,\n    [COMP_WFG_ACTIONS.LLC_MGR_LIST]: COMP_WFG_URLS.LLC_MGR_LIST,\n    [COMP_WFG_ACTIONS.LLC_MGR_OPT]: COMP_WFG_URLS.LLC_MGR_OPT,\n    [COMP_WFG_ACTIONS.LLC_MBR_LIST]: COMP_WFG_URLS.LLC_MBR_LIST,\n    [COMP_WFG_ACTIONS.MAIL_ADDR]: COMP_WFG_URLS.MAIL_ADDR,\n    [COMP_WFG_ACTIONS.PHYS_ADDR]: COMP_WFG_URLS.PHYS_ADDR,\n    [COMP_WFG_ACTIONS.PRIM_CONTACT]: COMP_WFG_URLS.PRIM_CONTACT,\n    [COMP_WFG_ACTIONS.PRIN_ADDR]: COMP_WFG_URLS.PRIN_ADDR,\n    [COMP_WFG_ACTIONS.REG_AGT]: COMP_WFG_URLS.REG_AGT,\n    [COMP_WFG_ACTIONS.SHARE]: COMP_WFG_URLS.SHARE,\n    [COMP_WFG_ACTIONS.START]: COMP_WFG_URLS.START,\n\n    [POSTPURCHASE_ACTIONS.BLR_BUS_AT_HOME]: POSTPURCHASE_URLS.BLR_BUS_AT_HOME,\n    [POSTPURCHASE_ACTIONS.BLR_BUS_INDUSTRY]: POSTPURCHASE_URLS.BLR_BUS_INDUSTRY,\n    [POSTPURCHASE_ACTIONS.BLR_DATA_CONFIRM]: POSTPURCHASE_URLS.BLR_DATA_CONFIRM,\n    [POSTPURCHASE_ACTIONS.BLR_EMPL_COUNT]: POSTPURCHASE_URLS.BLR_EMPL_COUNT,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_DBAS]: POSTPURCHASE_URLS.BLR_HAS_DBAS,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_EMPLOYEES]: POSTPURCHASE_URLS.BLR_HAS_EMPLOYEES,\n    [POSTPURCHASE_ACTIONS.BLR_START]: POSTPURCHASE_URLS.BLR_START,\n    [POSTPURCHASE_ACTIONS.FUTURE_FILING_DATE]: POSTPURCHASE_URLS.FUTURE_FILING_DATE,\n    [POSTPURCHASE_ACTIONS.MARK_COMPLETE]: POSTPURCHASE_URLS.MARK_COMPLETE,\n    [POSTPURCHASE_ACTIONS.PAYMENT]: POSTPURCHASE_URLS.PAYMENT,\n    [POSTPURCHASE_ACTIONS.PURCHASE_BLR]: POSTPURCHASE_URLS.PURCHASE_BLR,\n    [POSTPURCHASE_ACTIONS.PURCHASE_FFD]: POSTPURCHASE_URLS.PURCHASE_FFD,\n    [POSTPURCHASE_ACTIONS.PURCHASE_CD]: POSTPURCHASE_URLS.PURCHASE_CD,\n    [POSTPURCHASE_ACTIONS.PURCHASE_TAX_ADVICE_BUNDLE]: POSTPURCHASE_URLS.PURCHASE_TAX_ADVICE_BUNDLE,\n    [POSTPURCHASE_ACTIONS.PURCHASE_WFGIR]: POSTPURCHASE_URLS.PURCHASE_WFGIR,\n    [POSTPURCHASE_ACTIONS.SHARE]: POSTPURCHASE_URLS.SHARE,\n    [POSTPURCHASE_ACTIONS.START]: POSTPURCHASE_URLS.START,\n\n    [BNG_ACTIONS.INIT]: BNG_URLS.INIT,\n    [BNG_ACTIONS.BUS_NAME]: BNG_URLS.RESULTS,\n    [BNG_ACTIONS.DOM_JUR]: BNG_URLS.DOM_JUR,\n    [BNG_ACTIONS.REDIRECT]: BNG_URLS.BUS_NAME_REDIRECT\n  },\n  ACTION_ORDER = {\n    // 1 - 99 - Domestic Registration\n    [ACTIONS.ACCOWN_CONTACT]: 10,\n    [ACTIONS.ACCOWN_NAME]: 3,\n    [ACTIONS.BUS_ID]: 1,\n    [ACTIONS.BUS_NAME]: 9,\n    [ACTIONS.BUS_TYPE]: 8,\n    [ACTIONS.DATA_CONFIRM]: 26,\n    [ACTIONS.DOM_JUR]: 2,\n    [ACTIONS.LOGIN_POST]: 50,\n    [ACTIONS.MAIL_ADDR]: 5,\n    [ACTIONS.PAYMENT]: 28,\n    [ACTIONS.PHYS_ADDR]: 4,\n    [ACTIONS.PRIN_ADDR]: 6,\n    [ACTIONS.PRODUCT_CONFIRM]: 27,\n    [ACTIONS.PURCH_BANK]: 15,\n    [ACTIONS.PURCH_BANK_RES]: 23,\n    [ACTIONS.PURCH_CORP_BYLAWS]: 19,\n    [ACTIONS.PURCH_DOMAIN]: 21,\n    [ACTIONS.PURCH_DOMAIN_PRIV]: 24,\n    [ACTIONS.PURCH_EXP]: 13,\n    [ACTIONS.PURCH_EIN]: 14,\n    [ACTIONS.PURCH_EMAIL]: 22,\n    [ACTIONS.PURCH_NYPUB]: 20,\n    [ACTIONS.PURCH_OP_AGREE]: 19,\n    [ACTIONS.PURCH_PRIV]: 16,\n    [ACTIONS.PURCH_PLAN]: 30,\n    [ACTIONS.PURCH_START]: 11,\n    [ACTIONS.PURCH_WEBSITE]: 25,\n    [ACTIONS.PURCH_WF]: 18,\n    [ACTIONS.REG_AGT]: 17,\n    [ACTIONS.STATE_REQ]: 29,\n    [ACTIONS.PURCH_RAS]: 12,\n\n    // 100 - 199 - Personalization Registration - leave open\n\n    // 200 - 299 - Prepurchase EIN\n    [REG_EIN_ACTIONS.ACCOWN_CONTACT]: 207,\n    [REG_EIN_ACTIONS.ACCOWN_NAME]: 206,\n    [REG_EIN_ACTIONS.BUS_ADDR]: 205,\n    [REG_EIN_ACTIONS.BUS_ADDR_UNL]: 205,\n    [REG_EIN_ACTIONS.BUS_ID]: 200,\n    [REG_EIN_ACTIONS.BUS_NAME]: 202,\n    [REG_EIN_ACTIONS.BUS_TYPE]: 201,\n    [REG_EIN_ACTIONS.CORP_TAXED]: 208,\n    [REG_EIN_ACTIONS.DOM_JUR]: 203,\n    [REG_EIN_ACTIONS.LOGIN_POST]: 210,\n    [REG_EIN_ACTIONS.NO_COMPANY]: 211,\n    [REG_EIN_ACTIONS.PAYMENT]: 209,\n\n    // 300 - 399 - Name Reservation Registration\n    [REG_NAMERES_ACTIONS.ACCOWN_CONTACT]: 306,\n    [REG_NAMERES_ACTIONS.ACCOWN_NAME]: 305,\n    [REG_NAMERES_ACTIONS.ACC_OWN_INFO]: 309,\n    [REG_NAMERES_ACTIONS.BUS_NAME]: 301,\n    [REG_NAMERES_ACTIONS.BUS_TYPE]: 302,\n    [REG_NAMERES_ACTIONS.DOM_JUR]: 300,\n    [REG_NAMERES_ACTIONS.MAIL_ADDR]: 304,\n    [REG_NAMERES_ACTIONS.PAYMENT]: 307,\n    [REG_NAMERES_ACTIONS.PRIN_ADDR]: 303,\n    [REG_NAMERES_ACTIONS.SHARE]: 308,\n\n    // 400 - 499 - NY Publication Registration\n    [REG_NYPUB_ACTIONS.ACCOWN_CONTACT]: 403,\n    [REG_NYPUB_ACTIONS.ACCOWN_NAME]: 402,\n    [REG_NYPUB_ACTIONS.BUS_ID]: 400,\n    [REG_NYPUB_ACTIONS.BUS_NAME]: 407,\n    [REG_NYPUB_ACTIONS.DATA_CONFIRM]: 408,\n    [REG_NYPUB_ACTIONS.DOM_JUR]: 401,\n    [REG_NYPUB_ACTIONS.LOGIN_POST]: 410,\n    [REG_NYPUB_ACTIONS.MAIL_ADDR]: 405,\n    [REG_NYPUB_ACTIONS.PAYMENT]: 409,\n    [REG_NYPUB_ACTIONS.PHYS_ADDR]: 406,\n    [REG_NYPUB_ACTIONS.PRIN_ADDR]: 404,\n\n    // 500 - 599 - Worry-Free Compliance Registration\n    [REG_WFG_ACTIONS.ACCOWN_CONTACT]: 502,\n    [REG_WFG_ACTIONS.ACCOWN_NAME]: 501,\n    [REG_WFG_ACTIONS.BUS_ID]: 507,\n    [REG_WFG_ACTIONS.BUS_NAME]: 503,\n    [REG_WFG_ACTIONS.BUS_TYPE]: 508,\n    [REG_WFG_ACTIONS.DATA_CONFIRM]: 504,\n    [REG_WFG_ACTIONS.DOM_JUR]: 500,\n    [REG_WFG_ACTIONS.PAYMENT]: 505,\n    [REG_WFG_ACTIONS.LOGIN_POST]: 506,\n\n    // 600 - 699 - Change of Registered Agent Registration - leave open for now\n    [REG_CORA_PF_ACTIONS.INIT]: 1300, // Init is used here so that the InProgressContainer can control access to Questionnaire\n    [REG_CORA_PF_ACTIONS.QUESTIONNAIRE]: 1301,\n    [REG_CORA_PF_ACTIONS.LOGIN_POST]: 1302,\n\n    // 700 - 799 - TRUiC Registration - no longer used, keep open for now.\n    // 800 - 899 - TRUiC RA Registration - no longer used, keep open for now.\n    // 900 - 999 - DBA Standalone Registration\n\n    // 1000 - 1099 - Register Business\n    [REG_BUSINESS_ACTIONS.BUS_NAME]: 1001,\n    [REG_BUSINESS_ACTIONS.BUS_TYPE]: 1000,\n    [REG_BUSINESS_ACTIONS.DOM_JUR]: 1002,\n\n    // 1100 - 1199 - Prepurchase BLR\n    [REG_BLR_ACTIONS.ACCOWN_CONTACT]: 1100,\n    [REG_BLR_ACTIONS.ACCOWN_NAME]: 1101,\n    [REG_BLR_ACTIONS.BUS_DESC]: 1102,\n    [REG_BLR_ACTIONS.BUS_EXIST]: 1103,\n    [REG_BLR_ACTIONS.BUS_ID]: 1104,\n    [REG_BLR_ACTIONS.BUS_NAME]: 1105,\n    [REG_BLR_ACTIONS.BUS_TYPE]: 1106,\n    [REG_BLR_ACTIONS.DATA_CONFIRM]: 1107,\n    [REG_BLR_ACTIONS.DOM_JUR]: 1108,\n    [REG_BLR_ACTIONS.LOGIN_POST]: 1109,\n    [REG_BLR_ACTIONS.PAYMENT]: 1110,\n    [REG_BLR_ACTIONS.START]: 1111,\n\n    // 1200 - 1299 - Business Name Generator\n    [BNG_ACTIONS.INIT]: 1200,\n    [BNG_ACTIONS.BUS_NAME]: 1201,\n    [BNG_ACTIONS.DOM_JUR]: 1202,\n    [BNG_ACTIONS.REDIRECT]: 1203,\n\n    // 1300 - 1399 - CoRA PF\n    [REG_CORA_PF_ACTIONS.INIT]: 1300, // Init is used here so that the InProgressContainer can control access to Questionnaire\n    [REG_CORA_PF_ACTIONS.QUESTIONNAIRE]: 1301,\n    [REG_CORA_PF_ACTIONS.LOGIN_POST]: 1302,\n\n    //1400 - 1399 - DBA Entity PF\n    [REG_DBA_ENTITY_PF_ACTIONS.INIT]: 1400, // Init is used here so that the InProgressContainer can control access to Questionnaire\n    [REG_DBA_ENTITY_PF_ACTIONS.QUESTIONNAIRE]: 1401,\n    [REG_DBA_ENTITY_PF_ACTIONS.LOGIN_POST]: 1402,\n\n    // 5000 - 5099 - Postpurchase LLC Domestic Registration\n    [LLC_ACTIONS.BUS_ALT]: 5002,\n    [LLC_ACTIONS.BUS_DESC]: 5007,\n    [LLC_ACTIONS.BUS_NAME]: 5001,\n    [LLC_ACTIONS.SET_BUS_RUN]: 5011,\n    [LLC_ACTIONS.CHOOSE_PRIM_CONTACT]: 5013,\n    [LLC_ACTIONS.DBA_ENTITIES]: 5018,\n    [LLC_ACTIONS.DOMAIN_NAME]: 5015,\n    [LLC_ACTIONS.EMAIL_ADDRESS]: 5016,\n    [LLC_ACTIONS.MAIL_ADDR]: 5003,\n    [LLC_ACTIONS.MBR_COUNT]: 5006,\n    [LLC_ACTIONS.MGR_COUNT]: 5007,\n    [LLC_ACTIONS.PHYS_ADDR]: 5004,\n    [LLC_ACTIONS.PRIM_CONTACT]: 5014,\n    [LLC_ACTIONS.PRIN_ADDR]: 5005,\n    [LLC_ACTIONS.PURCHASE_DBA_COMPLIANCE]: 5019,\n    [LLC_ACTIONS.PURCHASE_DBA_ENTITY]: 5020,\n    [LLC_ACTIONS.SET_MBR_LIST]: 5009, // 5008 is currently dead\n    [LLC_ACTIONS.SET_MGR_LIST]: 5012,\n    [LLC_ACTIONS.SET_MGR_OPT]: 5010,\n    [LLC_ACTIONS.SHARE]: 5017,\n    [LLC_ACTIONS.START_COMP]: 5000,\n\n    // 5100 - 5199 - Postpurchase Corp Domestic Registration\n    [CORP_ACTIONS.ASST_SEC]: 5122,\n    [CORP_ACTIONS.BUS_ALT]: 5102,\n    [CORP_ACTIONS.BUS_DESC]: 5108,\n    [CORP_ACTIONS.BUS_NAME]: 5101,\n    [CORP_ACTIONS.CHOOSE_ASST_SEC]: 5121,\n    [CORP_ACTIONS.CHOOSE_PRES]: 5111,\n    [CORP_ACTIONS.CHOOSE_PRIM_CONTACT]: 5123,\n    [CORP_ACTIONS.CHOOSE_SEC]: 5118,\n    [CORP_ACTIONS.CHOOSE_TRSR]: 5116,\n    [CORP_ACTIONS.CHOOSE_VP]: 5114,\n    [CORP_ACTIONS.CORP_STOCK]: 5109,\n    [CORP_ACTIONS.HAS_MORE_THAN_ONE_SHARE]: 5107,\n    [CORP_ACTIONS.DBA_ENTITIES]: 5128,\n    [CORP_ACTIONS.DIR_COUNT]: 5106,\n    [CORP_ACTIONS.DIR_LIST]: 5110,\n    [CORP_ACTIONS.DOMAIN_NAME]: 5125,\n    [CORP_ACTIONS.EMAIL_ADDRESS]: 5126,\n    [CORP_ACTIONS.HAS_ASST_SEC]: 5120,\n    [CORP_ACTIONS.HAS_VP]: 5113,\n    [CORP_ACTIONS.MAIL_ADDR]: 5103,\n    [CORP_ACTIONS.PHYS_ADDR]: 5104,\n    [CORP_ACTIONS.PRES]: 5112,\n    [CORP_ACTIONS.PRIM_CONTACT]: 5124,\n    [CORP_ACTIONS.PRIN_ADDR]: 5105,\n    [CORP_ACTIONS.PURCHASE_DBA_COMPLIANCE]: 5129,\n    [CORP_ACTIONS.PURCHASE_DBA_ENTITY]: 5130,\n    [CORP_ACTIONS.SEC]: 5119,\n    [CORP_ACTIONS.SHARE]: 5127,\n    [CORP_ACTIONS.START_COMP]: 5100,\n    [CORP_ACTIONS.TRSR]: 5117,\n    [CORP_ACTIONS.VP]: 5115,\n\n    // 5200 - 5299 - Postpurchase EIN Registration (5216 is intentionally left open)\n    [COMP_EIN_ACTIONS.ATF]: 5212,\n    [COMP_EIN_ACTIONS.BUS_ACT]: 5217,\n    [COMP_EIN_ACTIONS.BUS_720]: 5214,\n    [COMP_EIN_ACTIONS.BUS_QUEST_START]: 5210,\n    [COMP_EIN_ACTIONS.CHOOSE_RESP]: 5204,\n    [COMP_EIN_ACTIONS.CORP_INFO]: 5209,\n    [COMP_EIN_ACTIONS.CORP_TAXED]: 5203,\n    [COMP_EIN_ACTIONS.DATA_CONFIRM]: 5224,\n    [COMP_EIN_ACTIONS.HAS_DBAS]: 5228,\n    [COMP_EIN_ACTIONS.DBA_NAMES]: 5206,\n    [COMP_EIN_ACTIONS.HAS_EMPL_W2]: 5230,\n    [COMP_EIN_ACTIONS.EMPL_W2]: 5213,\n    [COMP_EIN_ACTIONS.GAMBLING]: 5211,\n    [COMP_EIN_ACTIONS.HAS_SSN]: 5226,\n    [COMP_EIN_ACTIONS.LLC_ARE_MARRIED]: 5201,\n    [COMP_EIN_ACTIONS.LLC_MARRIED_TAXED]: 5202,\n    [COMP_EIN_ACTIONS.MAIL_ADDR]: 5207,\n    [COMP_EIN_ACTIONS.NO_SSN]: 5227,\n    [COMP_EIN_ACTIONS.PHYS_ADDR]: 5208,\n    [COMP_EIN_ACTIONS.PRIN_ADDR]: 5207,\n    [COMP_EIN_ACTIONS.RESP_INFO]: 5205,\n    [COMP_EIN_ACTIONS.SHARE]: 5225,\n    [COMP_EIN_ACTIONS.START_EIN]: 5200,\n    [COMP_EIN_ACTIONS.VEHICLE]: 5214,\n    [COMP_EIN_ACTIONS.VEHICLE_WEIGHT]: 5215,\n\n    // 5300 - 5399 - Postpurchase Banking - no longer used, keep open for now.\n    // 5400 - 5499 - Postpurchase WFG registration\n    [COMP_WFG_ACTIONS.BUS_DESC]: 5407,\n    [COMP_WFG_ACTIONS.BUS_NAME]: 5406,\n    [COMP_WFG_ACTIONS.CHOOSE_PRIM_CONTACT]: 5427,\n    [COMP_WFG_ACTIONS.CORP_ASST_SEC]: 5425,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_ASST_SEC]: 5424,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_PRES]: 5414,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_SEC]: 5421,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_TRSR]: 5419,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_VP]: 5417,\n    [COMP_WFG_ACTIONS.CORP_DIR_LIST]: 5413,\n    [COMP_WFG_ACTIONS.CORP_HAS_ASST_SEC]: 5421,\n    [COMP_WFG_ACTIONS.CORP_HAS_VP]: 5416,\n    [COMP_WFG_ACTIONS.CORP_PRES]: 5415,\n    [COMP_WFG_ACTIONS.CORP_SEC]: 5422,\n    [COMP_WFG_ACTIONS.CORP_TRSR]: 5420,\n    [COMP_WFG_ACTIONS.CORP_VP]: 5418,\n    [COMP_WFG_ACTIONS.DATA_CONFIRM]: 5428,\n    [COMP_WFG_ACTIONS.LLC_BUS_RUN]: 5411,\n    [COMP_WFG_ACTIONS.LLC_MGR_LIST]: 5412,\n    [COMP_WFG_ACTIONS.LLC_MGR_OPT]: 5410,\n    [COMP_WFG_ACTIONS.LLC_MBR_LIST]: 5409,\n    [COMP_WFG_ACTIONS.MAIL_ADDR]: 5401,\n    [COMP_WFG_ACTIONS.PHYS_ADDR]: 5402,\n    [COMP_WFG_ACTIONS.PRIN_ADDR]: 5403,\n    [COMP_WFG_ACTIONS.PRIM_CONTACT]: 5428,\n    [COMP_WFG_ACTIONS.REG_AGT]: 5426,\n    [COMP_WFG_ACTIONS.SHARE]: 5429,\n    [COMP_WFG_ACTIONS.START]: 5400,\n\n    // 5500 - 5599 - Postpurchase Change of Registered Agent registration\n    [COMP_CORA_ACTIONS.AUTH_SIG]: 5506,\n    [COMP_CORA_ACTIONS.BUS_DESC]: 5507,\n    [COMP_CORA_ACTIONS.CHOOSE_OFF_STATE_CONTACT]: 5527,\n    [COMP_CORA_ACTIONS.CHOOSE_SOP_CONTACT]: 5529,\n    [COMP_CORA_ACTIONS.CORP_ASST_SEC]: 5525,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_ASST_SEC]: 5524,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_PRES]: 5514,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_SEC]: 5521,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_TRSR]: 5519,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_VP]: 5517,\n    [COMP_CORA_ACTIONS.CORP_DIR_LIST]: 5513,\n    [COMP_CORA_ACTIONS.CORP_HAS_ASST_SEC]: 5521,\n    [COMP_CORA_ACTIONS.CORP_HAS_VP]: 5516,\n    [COMP_CORA_ACTIONS.CORP_PRES]: 5515,\n    [COMP_CORA_ACTIONS.CORP_SEC]: 5522,\n    [COMP_CORA_ACTIONS.CORP_TRSR]: 5520,\n    [COMP_CORA_ACTIONS.DATA_CONFIRM]: 5531,\n    [COMP_CORA_ACTIONS.DOM_JUR]: 5532,\n    [COMP_CORA_ACTIONS.CORP_VP]: 5518,\n    [COMP_CORA_ACTIONS.LLC_BUS_RUN]: 5511,\n    [COMP_CORA_ACTIONS.LLC_MGR_LIST]: 5512,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT]: 5510,\n    [COMP_CORA_ACTIONS.LLC_MBR_LIST]: 5509,\n    [COMP_CORA_ACTIONS.MAIL_ADDR]: 5501,\n    [COMP_CORA_ACTIONS.OFF_STATE_CONTACT]: 5528,\n    [COMP_CORA_ACTIONS.PHYS_ADDR]: 5502,\n    [COMP_CORA_ACTIONS.PRIN_ADDR]: 5503,\n    [COMP_CORA_ACTIONS.REG_AGT]: 5526,\n    [COMP_CORA_ACTIONS.SHARE]: 5532,\n    [COMP_CORA_ACTIONS.SOP_CONTACT]: 5530,\n    [COMP_CORA_ACTIONS.START]: 5500,\n    [COMP_CORA_ACTIONS.STATE_FILING]: 5533,\n\n    // 5600 - 5699 - Postpurchase TRUiC Registered Agent registration - No longer used, keep open for now.\n    // 5700 - 5799 - Postpurchase NY Pub registration\n    [COMP_NYPUB_ACTIONS.BUS_DESC]: 5701,\n    [COMP_NYPUB_ACTIONS.CHOOSE_PRIM_CONTACT]: 5712,\n    [COMP_NYPUB_ACTIONS.DATA_CONFIRM]: 5714,\n    [COMP_NYPUB_ACTIONS.LLC_BUS_RUN]: 5708,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_COUNT]: 5705,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_LIST]: 5706,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_COUNT]: 5709,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_LIST]: 5710,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT]: 5707,\n    [COMP_NYPUB_ACTIONS.MAIL_ADDR]: 5703,\n    [COMP_NYPUB_ACTIONS.PHYS_ADDR]: 5704,\n    [COMP_NYPUB_ACTIONS.PRIM_CONTACT]: 5713,\n    [COMP_NYPUB_ACTIONS.PRIN_ADDR]: 5702,\n    [COMP_NYPUB_ACTIONS.REG_AGT]: 5711,\n    [COMP_NYPUB_ACTIONS.SHARE]: 5715,\n    [COMP_NYPUB_ACTIONS.START]: 5700,\n\n    // 5800 - 5899 - Postpurchase DBA Standalone registration\n    [COMP_DBA_ACTIONS.BUS_DESC]: 5801,\n    [COMP_DBA_ACTIONS.DATA_CONFIRM]: 5814,\n    [COMP_DBA_ACTIONS.DOM_JUR]: 5811,\n    [COMP_DBA_ACTIONS.EIN]: 5813,\n    [COMP_DBA_ACTIONS.HAS_EIN]: 5812,\n    [COMP_DBA_ACTIONS.IS_DOM_JUR]: 5810,\n    [COMP_DBA_ACTIONS.MAIL_ADDR]: 5804,\n    [COMP_DBA_ACTIONS.OWNER_COUNT]: 5807,\n    [COMP_DBA_ACTIONS.OWNERS]: 5808,\n    [COMP_DBA_ACTIONS.PHYS_ADDR]: 5805,\n    [COMP_DBA_ACTIONS.PRIN_ADDR]: 5802,\n    [COMP_DBA_ACTIONS.REG_AGT]: 5806,\n    [COMP_DBA_ACTIONS.START]: 5800,\n    [COMP_DBA_ACTIONS.START_EIN]: 5815,\n    [COMP_DBA_ACTIONS.STATE_FILING]: 5809,\n\n    // 5900 - 5999 - Postpurchase Registration (5216 is intentionally left open)\n    [COMP_BLR_ACTIONS.AUTH_SIG]: 5934,\n    [COMP_BLR_ACTIONS.BUS_DESC]: 5902,\n    [COMP_BLR_ACTIONS.BUS_INDUSTRY]: 5933,\n    [COMP_BLR_ACTIONS.BUS_AT_HOME]: 5903,\n    [COMP_BLR_ACTIONS.CHOOSE_PRIM_CONTACT]: 5904,\n    [COMP_BLR_ACTIONS.CORP_ASST_SEC]: 5905,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_ASST_SEC]: 5906,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_PRES]: 5907,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_SEC]: 5908,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_TRSR]: 5909,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_VP]: 5910,\n    [COMP_BLR_ACTIONS.CORP_DIR_LIST]: 5911,\n    [COMP_BLR_ACTIONS.CORP_HAS_ASST_SEC]: 5912,\n    [COMP_BLR_ACTIONS.CORP_HAS_VP]: 5913,\n    [COMP_BLR_ACTIONS.CORP_PRES]: 5914,\n    [COMP_BLR_ACTIONS.CORP_SEC]: 5915,\n    [COMP_BLR_ACTIONS.CORP_TRSR]: 5916,\n    [COMP_BLR_ACTIONS.CORP_VP]: 5917,\n    [COMP_BLR_ACTIONS.DATA_CONFIRM]: 5918,\n    [COMP_BLR_ACTIONS.EMPL_COUNT]: 5920,\n    [COMP_BLR_ACTIONS.HAS_DBAS]: 5935,\n    [COMP_BLR_ACTIONS.HAS_EMPLOYEES]: 5936,\n    [COMP_BLR_ACTIONS.LLC_BUS_RUN]: 5921,\n    [COMP_BLR_ACTIONS.LLC_MGR_LIST]: 5922,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT]: 5923,\n    [COMP_BLR_ACTIONS.LLC_MBR_LIST]: 5924,\n    [COMP_BLR_ACTIONS.MAIL_ADDR]: 5925,\n    [COMP_BLR_ACTIONS.PHYS_ADDR]: 5926,\n    [COMP_BLR_ACTIONS.PRIN_ADDR]: 5927,\n    [COMP_BLR_ACTIONS.PRIM_CONTACT]: 5928,\n    [COMP_BLR_ACTIONS.REG_AGT]: 5929,\n    [COMP_BLR_ACTIONS.PRODS_SOLD]: 5930,\n    [COMP_BLR_ACTIONS.SHARE]: 5931,\n    [COMP_BLR_ACTIONS.START_BUS_DATA]: 5900,\n    [COMP_BLR_ACTIONS.START_BLR_DATA]: 5901,\n\n    // 10000 - 10099 - Postpurchase Questionnaire - leave open for now\n    // 10100 - 10199 - Postpurchase AddOns\n    [POSTPURCHASE_ACTIONS.BLR_BUS_AT_HOME]: 10112,\n    [POSTPURCHASE_ACTIONS.BLR_BUS_INDUSTRY]: 10113,\n    [POSTPURCHASE_ACTIONS.BLR_DATA_CONFIRM]: 10114,\n    [POSTPURCHASE_ACTIONS.BLR_EMPL_COUNT]: 10116,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_DBAS]: 10117,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_EMPLOYEES]: 10118,\n    [POSTPURCHASE_ACTIONS.BLR_START]: 10119,\n    [POSTPURCHASE_ACTIONS.COMPLETE]: 10109,\n    [POSTPURCHASE_ACTIONS.FUTURE_FILING_DATE]: 10102,\n    [POSTPURCHASE_ACTIONS.MARK_COMPLETE]: 10107,\n    [POSTPURCHASE_ACTIONS.PAYMENT]: 10106,\n    [POSTPURCHASE_ACTIONS.PURCHASE_BLR]: 10110,\n    [POSTPURCHASE_ACTIONS.PURCHASE_CD]: 10103,\n    [POSTPURCHASE_ACTIONS.PURCHASE_FFD]: 10101,\n    [POSTPURCHASE_ACTIONS.PURCHASE_FEEDBACK]: 10105,\n    [POSTPURCHASE_ACTIONS.PURCHASE_WFGIR]: 10104,\n    [POSTPURCHASE_ACTIONS.PURCHASE_TAX_ADVICE_BUNDLE]: 10120,\n    [POSTPURCHASE_ACTIONS.SHARE]: 10108,\n    [POSTPURCHASE_ACTIONS.START]: 10100\n  },\n  INITIAL_STATE_DEFAULT = {\n    completedAction: '',\n    completedUrl: '',\n    completedActionIndex: 0,\n    isMigrated: true,\n    skipNameCheck: false,\n    skipToDomesticJurisdiction: false,\n\n    forceToPayment: false,\n    forceToDataConfirmation: false,\n    forceToPrivacy: false,\n    forceToRegisteredAgent: false,\n    forceToContact: false,\n    forceToMembers: false,\n    forceToManagers: false,\n    forceToDirectors: false,\n    forceToOfficers: false,\n\n    startFromDashboard: false,\n    registrationFlow: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processPage = (state, action) => {\n    const actionIndex = ACTION_ORDER[action.type] || 0,\n      currentUrl = location.pathname;\n    let completeUrl = ACTION_TO_URL_MAP[action.type];\n    if (!completeUrl) {\n      return state;\n    }\n\n    if (action.type === COMP_CORA_ACTIONS.STATE_FILING) {\n      const lastIndex = currentUrl.lastIndexOf('/');\n      completeUrl = `${completeUrl}/${currentUrl.substring(lastIndex + 1)}`;\n    }\n\n    return update(state, {\n      forceBusinessId: { $set: '' },\n      completedAction: { $set: action.type },\n      completedUrl: { $set: completeUrl },\n      completedActionIndex: { $set: actionIndex }\n    });\n  },\n  resetAllData = (state, action, data) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, data));\n  },\n  processPrePurchaseComplete = (state, action) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, {\n      completedUrl: { $set: '' },\n      completedAction: { $set: '' },\n      completedActionIndex: { $set: 0 }\n    });\n  },\n  processPostPurchaseComplete = (state, action, data) => {\n    const { isComplete = false, status = 'incomplete' } = data || {};\n\n    if (isComplete && status === 'complete') {\n      return resetAllData(state, action, data);\n    }\n    return processPage(state, action, data);\n  },\n  processRegistrationStart = (state, action, data) => {\n    const { skipPlansPage = false } = data;\n    return processPage(update(state, {\n      skipPlansPage: { $set: skipPlansPage },\n      fromDashboard: { $set: data.fromDashboard || false },\n      fromBNG: { $set: data.fromBNG || false },\n      registrationFlow: { $set: '' }\n    }), action);\n  },\n  processBusinessName = (state, action, data) => {\n    const { skipBusinessName = false } = data;\n    return processPage(update(state, {\n      skipBusinessName: { $set: skipBusinessName }\n    }), action);\n  },\n  processSetForceNoPage = (state, action, data) => {\n    const {\n      forceToPayment = false,\n      forceToDataConfirmation = false,\n      forceToPrivacy = false,\n      forceToRegisteredAgent = false,\n      forceToContact = false,\n      forceToMembers = false,\n      forceToManagers = false,\n      forceToDirectors = false,\n      forceToOfficers = false\n    } = data;\n    return update(state, {\n      forceToPayment: { $set: forceToPayment },\n      forceToDataConfirmation: { $set: forceToDataConfirmation },\n      forceToPrivacy: { $set: forceToPrivacy },\n      forceToRegisteredAgent: { $set: forceToRegisteredAgent },\n      forceToContact: { $set: forceToContact },\n      forceToMembers: { $set: forceToMembers },\n      forceToManagers: { $set: forceToManagers },\n      forceToDirectors: { $set: forceToDirectors },\n      forceToOfficers: { $set: forceToOfficers }\n    });\n  },\n  processSetForce = (state, action, data) => {\n    return processPostPurchaseComplete(processSetForceNoPage(state, action, data), action, data);\n  },\n  processClearForce = (state) => {\n    return update(state, {\n      forceToPayment: { $set: false },\n      forceToDataConfirmation: { $set: false },\n      forceToPrivacy: { $set: false },\n      forceToRegisteredAgent: { $set: false },\n      forceToContact: { $set: false },\n      forceToMembers: { $set: false },\n      forceToManagers: { $set: false },\n      forceToDirectors: { $set: false },\n      forceToOfficers: { $set: false }\n    });\n  },\n  /* eslint-disable max-statements */\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      if (state.completedActionIndex > 0 && state.completedActionIndex < 5000) {\n        return state;\n      }\n      return update(state, {\n        completedAction: { $set: '' },\n        completedActionIndex: { $set: 0 },\n        completedUrl: { $set: '' }\n      });\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const completedAction = _get(o, 'completed_action', null);\n\n        return completedAction !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n    const\n      { service, completed_action: ca = '', completed_url: compUrl = '', completed_action_index: compActionIndex = 0 } = order;\n\n    const completedAction = ca.indexOf('Action: ') === 0 ? ca.substring(8) : ca;\n\n    const completedUrl = compUrl,\n      completedActionIndex = compActionIndex;\n\n    if (service === 'corp_formation') {\n      return update(state, {\n        completedAction: { $set: completedAction || CORP_ACTIONS.START_COMP },\n        completedUrl: { $set: completedUrl || CORP_URLS.START_COMP },\n        completedActionIndex: { $set: completedActionIndex || 5100 },\n        registrationFlow: { $set: '' }\n      });\n    }\n    if (service === 'llc_formation') {\n      return update(state, {\n        completedAction: { $set: completedAction || LLC_ACTIONS.START_COMP },\n        completedUrl: { $set: completedUrl || LLC_URLS.START_COMP },\n        completedActionIndex: { $set: completedActionIndex || 5000 },\n        registrationFlow: { $set: '' }\n      });\n    }\n    if (service === 'dba_entity') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_DBA_ACTIONS.START },\n        completedUrl: { $set: completedUrl || COMP_DBA_URLS.START },\n        completedActionIndex: { $set: completedActionIndex || 5800 },\n        registrationFlow: { $set: 'dba' }\n      });\n    }\n    if (service === 'ein_creation') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_EIN_ACTIONS.START_EIN },\n        completedUrl: { $set: completedUrl || COMP_EIN_URLS.START_EIN },\n        completedActionIndex: { $set: completedActionIndex || 5200 },\n        registrationFlow: { $set: 'ein' }\n      });\n    }\n    if (service === 'business_license_report') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_BLR_ACTIONS.START },\n        completedUrl: { $set: completedUrl || COMP_BLR_URLS.START },\n        completedActionIndex: { $set: completedActionIndex || 5932 },\n        registrationFlow: { $set: 'bl' }\n      });\n    }\n    if (service === 'registered_agent_service') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_CORA_ACTIONS.START },\n        completedUrl: { $set: completedUrl || COMP_CORA_URLS.START },\n        completedActionIndex: { $set: completedActionIndex || 5500 },\n        registrationFlow: { $set: 'cora' }\n      });\n    }\n    if (service === 'worry_free_service') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_WFG_ACTIONS.START },\n        completedUrl: { $set: completedUrl || COMP_WFG_URLS.START },\n        completedActionIndex: { $set: completedActionIndex || 5400 },\n        registrationFlow: { $set: 'wfg' }\n      });\n    }\n    if (service === 'ny_publication') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_NYPUB_ACTIONS.START },\n        completedUrl: { $set: completedUrl || COMP_NYPUB_URLS.START },\n        completedActionIndex: { $set: completedActionIndex || 5700 },\n        registrationFlow: { $set: 'ny' }\n      });\n    }\n    return update(state, {\n      completedAction: { $set: '' },\n      completedUrl: { $set: '' },\n      completedActionIndex: { $set: 0 },\n      registrationFlow: { $set: '' }\n    });\n  },\n  processRegisterDBAEntityPF = (state, action, data) => {\n    return processPage(update(state, {\n      fromDashboard: { $set: data.fromDashboard || false },\n      registrationFlow: { $set: 'dba' }\n    }), action);\n  },\n  processRegisterEIN = (state, action, data) => {\n    return update(state, {\n      fromDashboard: { $set: data.fromDashboard || false },\n      registrationFlow: { $set: data.registrationFlow || 'ein' }\n    });\n  },\n  processRegisterCoRAPF = (state, action, data) => {\n    return processPage(update(state, {\n      fromDashboard: { $set: data.fromDashboard || false },\n      registrationFlow: { $set: 'cora-pf' }\n    }), action);\n  },\n  processRegisterNameRes = (state) => {\n    return update(state, {\n      registrationFlow: { $set: 'nr' }\n    });\n  },\n  processBusinessNameGenerator = (state) => {\n    return update(state, {\n      registrationFlow: { $set: 'bng' }\n    });\n  },\n  processRegisterNYPub = (state) => {\n    return update(state, {\n      registrationFlow: { $set: 'ny' }\n    });\n  },\n  processRegisterWFG = (state, action, data) => {\n    return update(state, {\n      fromDashboard: { $set: data.fromDashboard || false },\n      registrationFlow: { $set: 'wfg' }\n    });\n  },\n  processRegisterAccounting = (state) => {\n    return update(state, {\n      fromDashboard: { $set: true },\n      registrationFlow: { $set: 'acct' }\n    });\n  },\n  processRegisterBusiness = (state) => {\n    return update(state, {\n      fromDashboard: { $set: true },\n      registrationFlow: { $set: 'bus' }\n    });\n  },\n  processRegisterGoodStanding = (state) => {\n    return update(state, {\n      fromDashboard: { $set: true },\n      registrationFlow: { $set: 'gs' }\n    });\n  },\n  processRegisterLogoKit = (state) => {\n    return update(state, {\n      fromDashboard: { $set: true },\n      registrationFlow: { $set: 'lk' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processLogin = (state, action, data) => {\n    return update(state, {\n      forceBusinessId: { $set: data.flow }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    return processPage(update(state, {\n      forceBusinessId: { $set: '' }\n    }), action, data);\n  },\n  processRegistrationBusinessId = (state, action, data) => {\n    return processPage(update(state, {\n      forceBusinessId: { $set: '' },\n      registrationFlow: { $set: '' }\n    }), action, data);\n  },\n  processBusinessStart = (state, action, data) => {\n    return processPage(update(state, {\n      registrationFlow: { $set: data.registrationFlow || '' }\n    }), action, data);\n  },\n  processLogout = (state) => {\n    return update(state, {\n      forceBusinessId: { $set: '' }\n    });\n  },\n  noProcess = (state) => {\n    return state;\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.BUS_ID]: processRegistrationBusinessId,\n    [ACTIONS.BUS_NAME]: processBusinessName,\n    [ACTIONS.LOGIN]: processLogin,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n    [ACTIONS.DATA_CONFIRM]: processSetForce,\n    [ACTIONS.PURCH_PRIV]: processSetForce,\n    [ACTIONS.REG_AGT]: processSetForce,\n    [ACTIONS.PAYMENT]: processSetForceNoPage,\n    [ACTIONS.INIT]: processRegistrationStart,\n    [ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_BUSINESS_ACTIONS.START]: processBusinessStart,\n    [COMP_BUSINESS_ACTIONS.DATA_CONFIRM]: processSetForce,\n    [COMP_BUSINESS_ACTIONS.CORP_DIR_LIST]: processClearForce,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_ASST_SEC]: processClearForce,\n    [COMP_BUSINESS_ACTIONS.LLC_MBR_LIST]: processClearForce,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_LIST]: processClearForce,\n\n    [REG_ACCOUNTING_ACTIONS.INIT]: processRegisterAccounting,\n\n    [REG_BLR_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_BLR_ACTIONS.LOGIN]: processLogin,\n    [REG_BLR_ACTIONS.INIT]: processRegisterEIN,\n    [REG_BLR_ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_BLR_ACTIONS.COMPLETE]: noProcess,\n    [COMP_BLR_ACTIONS.DATA_CONFIRM]: processSetForce,\n    [COMP_BLR_ACTIONS.CORP_DIR_LIST]: processClearForce,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_ASST_SEC]: processClearForce,\n    [COMP_BLR_ACTIONS.LLC_MBR_LIST]: processClearForce,\n    [COMP_BLR_ACTIONS.LLC_MGR_LIST]: processClearForce,\n    [COMP_BLR_ACTIONS.SHARE]: noProcess,\n    [COMP_BLR_ACTIONS.SHARE]: noProcess,\n\n    [REG_BUSINESS_ACTIONS.INIT]: processRegisterBusiness,\n\n    [REG_CORA_PF_ACTIONS.INIT]: processRegisterCoRAPF,\n    [REG_CORA_PF_ACTIONS.PURCHASE_SUCCESS]: processComplete,\n    [REG_CORA_PF_ACTIONS.FLOW_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_CORA_ACTIONS.COMPLETE]: noProcess,\n    [COMP_CORA_ACTIONS.SHARE]: noProcess,\n\n\n    [REG_DBA_ENTITY_PF_ACTIONS.INIT]: processRegisterDBAEntityPF,\n    [REG_DBA_ENTITY_PF_ACTIONS.PURCHASE_SUCCESS]: processComplete,\n    [REG_DBA_ENTITY_PF_ACTIONS.FLOW_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_DBA_ACTIONS.COMPLETE]: noProcess,\n    [COMP_DBA_ACTIONS.SHARE]: noProcess,\n\n    [REG_EIN_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_EIN_ACTIONS.LOGIN]: processLogin,\n    [REG_EIN_ACTIONS.INIT]: processRegisterEIN,\n    [REG_EIN_ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_EIN_ACTIONS.COMPLETE]: noProcess,\n    [COMP_EIN_ACTIONS.SHARE]: noProcess,\n\n    [REG_GS_ACTIONS.INIT]: processRegisterGoodStanding,\n\n    [REG_LOGOKIT_ACTIONS.INIT]: processRegisterLogoKit,\n\n    [REG_NAMERES_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_NAMERES_ACTIONS.COMPLETE]: noProcess,\n    [REG_NAMERES_ACTIONS.INIT]: processRegisterNameRes,\n    [REG_NAMERES_ACTIONS.LOGIN]: processLogin,\n    [REG_NAMERES_ACTIONS.SHARE]: noProcess,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [REG_NYPUB_ACTIONS.INIT]: processRegisterNYPub,\n    [REG_NYPUB_ACTIONS.SET_PAYMENT_FORCE]: processSetForceNoPage,\n    [REG_NYPUB_ACTIONS.LOGIN]: processLogin,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_NYPUB_ACTIONS.COMPLETE]: noProcess,\n    [COMP_NYPUB_ACTIONS.DATA_CONFIRM]: processSetForce,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_LIST]: processClearForce,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_LIST]: processClearForce,\n    [COMP_NYPUB_ACTIONS.SHARE]: noProcess,\n\n    [REG_WFG_ACTIONS.INIT]: processRegisterWFG,\n    [REG_WFG_ACTIONS.LOGIN]: processLogin,\n    [REG_WFG_ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_WFG_ACTIONS.COMPLETE]: noProcess,\n    [COMP_WFG_ACTIONS.DATA_CONFIRM]: processSetForce,\n    [COMP_WFG_ACTIONS.CORP_DIR_LIST]: processClearForce,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_ASST_SEC]: processClearForce,\n    [COMP_WFG_ACTIONS.LLC_MBR_LIST]: processClearForce,\n    [COMP_WFG_ACTIONS.LLC_MGR_LIST]: processClearForce,\n    [COMP_WFG_ACTIONS.SHARE]: noProcess,\n\n    [POSTPURCHASE_ACTIONS.COMPLETE]: noProcess,\n    [POSTPURCHASE_ACTIONS.MARK_COMPLETE]: processPostPurchaseComplete,\n    [POSTPURCHASE_ACTIONS.PAYMENT_COMPLETE]: processPostPurchaseComplete,\n    [POSTPURCHASE_ACTIONS.SHARE]: noProcess,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n    [ACCOUNT_ACTIONS.SET_LOGOUT]: processLogout,\n\n    [BNG_ACTIONS.INIT]: processBusinessNameGenerator\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    reducerData = _get(action, 'payload.reducerData', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data, reducerData) : processPage(state, action);\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isInteger from 'lodash/isInteger';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/blr';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    businessIndustryId: '',\n    businessIndustryLabel: '',\n    businessOutOfHome: null,\n    employeesCount: null,\n    existingCompany: false,\n    hasDBAs: null,\n    hasEmployees: null,\n    phoneNumber: '',\n    actionError: 0,\n    skipBLR: false,\n    isSubscription: false\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processBusinessId = (state, action, data) => {\n    const { id, clearData } = data;\n\n    if (!id) {\n      if (clearData) {\n        reducerStorage.clear(storageKey);\n        return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n      }\n      return state;\n    }\n\n    const\n      { contact } = data,\n      { phoneNumber } = contact || {};\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber },\n      existingCompany: { $set: true }\n    });\n  },\n  processBusinessIndustry = (state, action, data) => {\n    const { businessIndustryId, businessIndustryLabel } = data;\n    return update(state, {\n      businessIndustryId: { $set: businessIndustryId },\n      businessIndustryLabel: { $set: _trim(businessIndustryLabel) }\n    });\n  },\n  processBusinessOutOfHome = (state, action, data) => {\n    const { businessOutOfHome } = data;\n    return update(state, {\n      businessOutOfHome: { $set: businessOutOfHome }\n    });\n  },\n  processEmployeesCount = (state, action, data) => {\n    const { employeesCount } = data;\n    return update(state, {\n      employeesCount: { $set: employeesCount }\n    });\n  },\n  processHasDBAs = (state, action, data) => {\n    const { hasDBAs } = data;\n    return update(state, {\n      hasDBAs: { $set: hasDBAs }\n    });\n  },\n  processHasEmployees = (state, action, data) => {\n    const { hasEmployees } = data;\n    return update(state, {\n      hasEmployees: { $set: hasEmployees }\n    });\n  },\n  processLicenseData = (state, action, data) => {\n    const { businessOutOfHome, businessIndustryId, businessIndustryLabel, employeesCount, hasDBAs, hasEmployees } = data;\n\n    return update(state, {\n      businessOutOfHome: { $set: businessOutOfHome },\n      businessIndustryId: { $set: businessIndustryId },\n      businessIndustryLabel: { $set: businessIndustryLabel },\n      employeesCount: { $set: employeesCount },\n      hasDBAs: { $set: hasDBAs },\n      hasEmployees: { $set: hasEmployees }\n    });\n  },\n  processPostpurchaseStart = (state, action, data) => {\n    const { employeesCount, hasDBAs, hasEmployees } = data;\n\n    return update(state, {\n      employeesCount: { $set: employeesCount },\n      hasDBAs: { $set: hasDBAs },\n      hasEmployees: { $set: hasEmployees },\n      skipBLR: { $set: false }\n    });\n  },\n  processSkipBLR = (state, action, data) => {\n    return update(state, {\n      skipBLR: { $set: data }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { phoneNumber, fromDashboard = false, id = '' } = data;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber },\n      existingCompany: { $set: !!id || fromDashboard || false }\n    });\n  },\n\n  /* eslint-disable max-statements */\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      formationBusLic = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'business_license_report';\n      }),\n      formationFull = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      isSubscription = orderData.some(({ service = '' }) => { return service.includes('subscription_plan'); }),\n      formation = formationBusLic || _get(formationFull, 'blr_data', null);\n\n    if (!formation) {\n      return state;\n    }\n\n    const\n      updates = {},\n      { business_data: businessData = {}, phone: phoneNumber = '' } = formation,\n      {\n        out_of_home: businessOutOfHome = null,\n        industry_id: businessIndustryId = null,\n        industry_label: businessIndustryLabel = '',\n        has_trade_names: hasDBAs = null,\n        has_employees: hasEmployees = null,\n        employees_count: employeesCount = 0,\n        existing_company: existingCompany = true\n      } = businessData;\n\n    _assign(updates, {\n      phoneNumber: { $set: phoneNumber },\n      hasDBAs: { $set: hasDBAs },\n      businessOutOfHome: { $set: businessOutOfHome },\n      businessIndustryId: { $set: businessIndustryId },\n      businessIndustryLabel: { $set: businessIndustryLabel },\n      hasEmployees: { $set: hasEmployees },\n      employeesCount: { $set: _isInteger(employeesCount) ? employeesCount : 0 },\n      existingCompany: { $set: existingCompany },\n      isSubscription: { $set: isSubscription }\n    });\n    return update(state, updates);\n  },\n\n  /* eslint-enable max-statements */\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [COMP_BLR_ACTIONS.BUS_AT_HOME]: processBusinessOutOfHome,\n    [COMP_BLR_ACTIONS.BUS_INDUSTRY]: processBusinessIndustry,\n    [COMP_BLR_ACTIONS.EMPL_COUNT]: processEmployeesCount,\n    [COMP_BLR_ACTIONS.HAS_DBAS]: processHasDBAs,\n    [COMP_BLR_ACTIONS.HAS_EMPLOYEES]: processHasEmployees,\n    [COMP_BLR_ACTIONS.LIC_DATA_MODAL]: processLicenseData,\n    [COMP_BLR_ACTIONS.START]: processStart,\n\n    [POSTPURCHASE_ACTIONS.BLR_BUS_AT_HOME]: processBusinessOutOfHome,\n    [POSTPURCHASE_ACTIONS.BLR_BUS_INDUSTRY]: processBusinessIndustry,\n    [POSTPURCHASE_ACTIONS.BLR_EMPL_COUNT]: processEmployeesCount,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_DBAS]: processHasDBAs,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_EMPLOYEES]: processHasEmployees,\n    [POSTPURCHASE_ACTIONS.BLR_LIC_DATA_MODAL]: processLicenseData,\n    [POSTPURCHASE_ACTIONS.BLR_START]: processPostpurchaseStart,\n    [POSTPURCHASE_ACTIONS.BLR_SKIP]: processSkipBLR,\n\n    [REG_BLR_ACTIONS.BUS_ID]: processBusinessId,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/ettf_renewal';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/ettfrenewal';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    actionError: 0,\n    companyId: '',\n    inProgress: false,\n    lastFour: '',\n    orderId: '',\n    orderTaskUuid: '',\n    planDisplayName: '',\n    plan: '',\n    planData: {},\n    price: '',\n    processingMigration: false,\n    term: '',\n    termEndDate: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processInit = (state, action, {\n    companyId,\n    lastFour,\n    orderId,\n    orderTaskUuid,\n    planData,\n    termEndDate\n  }) => {\n    return update(state, {\n      inProgress: { $set: true },\n      companyId: { $set: companyId },\n      lastFour: { $set: lastFour },\n      orderId: { $set: orderId },\n      orderTaskUuid: { $set: orderTaskUuid },\n      planData: { $set: planData },\n      termEndDate: { $set: termEndDate }\n    });\n  },\n\n  processMigrateMoneyPlan = (state) => {\n    return update(state, {\n      processingMigration: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processMigrateMoneyPlanComplete = (state, action, { data }) => {\n    const errorCode = _get(action, 'payload.data.errorCode');\n\n    if (errorCode) {\n      return update(state, {\n        processingMigration: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    return update(state, {\n      processingMigration: { $set: false },\n      actionError: { $set: 0 },\n      planDisplayName: { $set: data.displayName },\n      price: { $set: data.price },\n      term: { $set: data.term }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.MIGRATE_MONEY_PLAN]: processMigrateMoneyPlan,\n    [ACTIONS.MIGRATE_MONEY_PLAN_COMPLETE]: processMigrateMoneyPlanComplete,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.INIT]: processInit\n\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_opagreement';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/operatingAgreement';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    opagreement: null,\n    type: '',\n    name: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data, opagreCompliance) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id, cardToken } = data;\n    return update(state, {\n      opagreCompliance: { $set: opagreCompliance },\n      cardToken: { $set: cardToken },\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId, name, opagreCompliance, type } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      opagreCompliance: { $set: opagreCompliance },\n      name: { $set: name },\n      type: { $set: type }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, companyCount, opagreCompliance } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      opagreCompliance: { $set: opagreCompliance },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      typebrand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { opagreement } = data;\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 },\n      opagreement: { $set: opagreement }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/logoKit';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId } = data;\n\n    return update(state, {\n      companyId: { $set: companyId }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, companyCount } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isUndefined from 'lodash/isUndefined';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/ein';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    llcMarried: null,\n    llcSingleMember: null,\n    taxedAsSCorp: null,\n    corpCareOf: '',\n    corpClosingMonth: 'December',\n    hasDBAs: null,\n    dbas: '',\n    responsibleParty: null,\n    mailingAddressRequired: true,\n    physicalAddressRequired: true,\n    principalAddressRequired: true,\n    phoneNumber: '',\n    gambling: null,\n    atf: null,\n    employeesW2: null,\n    w2WagesPaidDate: '',\n    w2AgriculturalEmployeeCount: 0,\n    w2OtherEmployeeCount: 0,\n    w2WagesLessThan1000: null,\n    motorVehicle: null,\n    motorVehicleWeight: null,\n    businessForm720: null,\n    businessActivity1: '',\n    businessActivity2: '',\n    businessActivity3: '',\n    businessActivity4: '',\n    businessActivity5: '',\n    businessActivitySpecify: '',\n    startDate: '',\n    memberCount: 0,\n    reason: '',\n    hasSSN: null,\n    ssnItin: '',\n    actionError: 0,\n    skipEIN: false,\n    isSubscription: false\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processATF = (state, action, data) => {\n    const { atf } = data;\n    const { drugsFirearms } = data;\n    const atfP = ((typeof atf !== 'undefined') && atf) || ((typeof drugsFirearms !== 'undefined') && drugsFirearms);\n    return update(state, {\n      atf: { $set: atfP }\n    });\n  },\n  processBusinessActivity = (state, action, data) => {\n    if (data.businessActivity) {\n      const { businessActivity: businessActivity1, businessActivity2, businessActivity3, businessActivity4, businessActivity5, businessActivitySpecify } = data;\n      return update(state, {\n        businessActivity1: { $set: businessActivity1 },\n        businessActivity2: { $set: businessActivity2 },\n        businessActivity3: { $set: businessActivity3 },\n        businessActivity4: { $set: businessActivity4 },\n        businessActivity5: { $set: businessActivity5 },\n        businessActivitySpecify: { $set: _trim(businessActivitySpecify) }\n      });\n    }\n    const { businessActivity1, businessActivity2, businessActivity3, businessActivity4, businessActivity5, businessActivitySpecify } = data;\n    return update(state, {\n      businessActivity1: { $set: businessActivity1 },\n      businessActivity2: { $set: businessActivity2 },\n      businessActivity3: { $set: businessActivity3 },\n      businessActivity4: { $set: businessActivity4 },\n      businessActivity5: { $set: businessActivity5 },\n      businessActivitySpecify: { $set: _trim(businessActivitySpecify) }\n    });\n\n  },\n  processDBABusinessActivity = (state, action, data) => {\n    const { businessIndustry } = data;\n\n    return update(state, {\n      businessActivity1: { $set: businessIndustry },\n      businessActivity2: { $set: '' },\n      businessActivity3: { $set: '' },\n      businessActivity4: { $set: '' },\n      businessActivity5: { $set: '' },\n      businessActivitySpecial: { $set: '' }\n    });\n  },\n  processBusinessForm720 = (state, action, data) => {\n    if (data.businessForm720) {\n      const { businessForm720 } = data;\n      return update(state, {\n        businessForm720: { $set: businessForm720 }\n      });\n    }\n    const { required720Form } = data;\n    return update(state, {\n      businessForm720: { $set: required720Form }\n    });\n\n  },\n  processChooseResponsible = (state, action, data) => {\n    const\n      {\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        suffix = '',\n        companyName = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        state: addrState = '',\n        zipCode = '',\n        country = 'US',\n        email = '',\n        phoneNumber = '',\n        ssn = '',\n        legalName = '',\n        ein = '',\n        previousEin = false,\n        alternateLastNames = [],\n        collectDataFromUser = false\n      } = data,\n      hadSuffix = !!suffix;\n\n    if (state.responsibleParty === null) {\n      const responsibleParty = {\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix,\n        hadSuffix,\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode,\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber,\n        ssn,\n        legalName: _trim(legalName),\n        ein,\n        previousEin,\n        alternateLastNames,\n        collectDataFromUser\n      };\n\n      return update(state, {\n        ssnItin: { $set: ssn }, // Maintain here for later\n        suffix: { $set: suffix },\n        responsibleParty: { $set: responsibleParty }\n      });\n    }\n    return update(state, {\n      ssnItin: { $set: ssn }, // Maintain here for later\n      suffix: { $set: suffix },\n      responsibleParty: {\n        firstName: { $set: _trim(firstName) },\n        middleName: { $set: _trim(middleName) },\n        lastName: { $set: _trim(lastName) },\n        suffix: { $set: suffix },\n        hadSuffix: { $set: hadSuffix },\n        companyName: { $set: _trim(companyName) },\n        addressLine1: { $set: _trim(addressLine1) },\n        addressLine2: { $set: _trim(addressLine2) },\n        city: { $set: _trim(city) },\n        state: { $set: addrState },\n        zipCode: { $set: zipCode },\n        country: { $set: _trim(country) },\n        email: { $set: _trim(email) },\n        phoneNumber: { $set: phoneNumber },\n        ssn: { $set: ssn },\n        legalName: { $set: _trim(legalName) },\n        ein: { $set: _trim(ein) },\n        previousEin: { $set: previousEin },\n        alternateLastNames: { $set: alternateLastNames },\n        collectDataFromUser: { $set: collectDataFromUser }\n      }\n    });\n  },\n  processCorpInfo = (state, action, data) => {\n    const { corpCareOf, corpClosingMonth, startDate } = data;\n    return update(state, {\n      corpCareOf: { $set: _trim(corpCareOf) },\n      corpClosingMonth: { $set: corpClosingMonth },\n      startDate: { $set: startDate }\n    });\n  },\n  processCorpTaxed = (state, action, data) => {\n    const { taxedAsSCorp } = data;\n    return update(state, {\n      taxedAsSCorp: { $set: taxedAsSCorp }\n    });\n  },\n  processDBAs = (state, action, data) => {\n    const { dbas } = data;\n    return update(state, {\n      dbas: {\n        $set: _trim(dbas)\n      }\n    });\n  },\n  processHasDBAs = (state, action, data) => {\n    const { hasDBAs } = data;\n    return update(state, {\n      hasDBAs: { $set: hasDBAs }\n    });\n  },\n  processEINReason = (state, action, data) => {\n    const { reason } = data;\n    return update(state, {\n      reason: { $set: reason }\n    });\n  },\n  processEmployeesW2 = (state, action, data) => {\n    if (data.W2) {\n      const {\n        W2: {\n          w2WagesPaidDate,\n          w2AgriculturalEmployeeCount,\n          w2OtherEmployeeCount,\n          w2WagesLessThan1000\n        }\n      } = data;\n      return update(state, {\n        w2WagesPaidDate: { $set: w2WagesPaidDate },\n        w2AgriculturalEmployeeCount: { $set: w2AgriculturalEmployeeCount },\n        w2OtherEmployeeCount: { $set: w2OtherEmployeeCount },\n        w2WagesLessThan1000: { $set: w2WagesLessThan1000 }\n      });\n    }\n    const { w2WagesPaidDate, w2AgriculturalEmployeeCount, w2OtherEmployeeCount, w2WagesLessThan1000 } = data;\n    return update(state, {\n      w2WagesPaidDate: { $set: w2WagesPaidDate },\n      w2AgriculturalEmployeeCount: { $set: w2AgriculturalEmployeeCount },\n      w2OtherEmployeeCount: { $set: w2OtherEmployeeCount },\n      w2WagesLessThan1000: { $set: w2WagesLessThan1000 }\n    });\n\n  },\n  processHasEmployeesW2 = (state, action, data) => {\n    const { employeesW2 } = data;\n    return update(state, {\n      employeesW2: { $set: employeesW2 }\n    });\n  },\n  processGambling = (state, action, data) => {\n    const { gambling } = data;\n    return update(state, {\n      gambling: { $set: gambling }\n    });\n  },\n  processHasSSN = (state, action, data) => {\n    const { hasSSN } = data;\n    return update(state, {\n      hasSSN: { $set: hasSSN }\n    });\n  },\n  processLLCMarried = (state, action, data) => {\n    const { llcMarried } = data;\n    if (!llcMarried) {\n      return update(state, {\n        llcMarried: { $set: false },\n        llcSingleMember: { $set: false }\n      });\n    }\n    return update(state, {\n      llcMarried: { $set: true }\n    });\n  },\n  processLLCMemberCount = (state, action, data) => {\n    const { memberCount } = data;\n    let llcSingleMember = state.llcSingleMember;\n    if (memberCount === 1) {\n      llcSingleMember = true;\n    } else if (memberCount > 2) {\n      llcSingleMember = false;\n    }\n    return update(state, {\n      memberCount: { $set: memberCount },\n      llcMarried: { $set: memberCount === 2 ? state.llcMarried : false },\n      llcSingleMember: { $set: llcSingleMember }\n    });\n  },\n  processLLCSingleMember = (state, action, data) => {\n    const { llcSingleMember } = data;\n    return update(state, {\n      llcSingleMember: { $set: llcSingleMember }\n    });\n  },\n  processMotorVehicle = (state, action, data) => {\n    if (data.motorVehicle) {\n      const { motorVehicle } = data;\n      return update(state, {\n        motorVehicle: { $set: motorVehicle }\n      });\n    }\n    const { vehicle } = data;\n    return update(state, {\n      motorVehicle: { $set: vehicle }\n    });\n\n  },\n  processMotorVehicleWeight = (state, action, data) => {\n    if (data.taxableVehicle) {\n      const { taxableVehicle } = data;\n      return update(state, {\n        motorVehicleWeight: { $set: taxableVehicle }\n      });\n    }\n    const { motorVehicleWeight } = data;\n    return update(state, {\n      motorVehicleWeight: { $set: motorVehicleWeight }\n    });\n\n  },\n  processResponsibleInfo = (state, action, data) => {\n    const { suffix, ssn, legalName, ein, previousEin, alternateLastNames } = data;\n\n    return update(state, {\n      ssnItin: { $set: ssn }, // Maintain here for later\n      responsibleParty: {\n        suffix: { $set: suffix },\n        ssn: { $set: ssn },\n        legalName: { $set: _trim(legalName) },\n        ein: { $set: _trim(ein) },\n        previousEin: { $set: previousEin },\n        alternateLastNames: { $set: alternateLastNames || [] }\n      }\n    });\n  },\n  processResponsibleParty = (state, action, data) => {\n    const\n      {\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        companyName = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        state: addrState = '',\n        zipCode = '',\n        country = 'US',\n        email = '',\n        phoneNumber = ''\n      } = data,\n      hadSuffix = false;\n\n    if (data.responsibleParty !== null) {\n      const responsibleParty = {\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix: '',\n        hadSuffix,\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode,\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber\n      };\n\n      return update(state, {\n        responsibleParty: { $set: responsibleParty }\n      });\n    }\n    return update(state, {\n      responsibleParty: {\n        firstName: { $set: _trim(firstName) },\n        middleName: { $set: _trim(middleName) },\n        lastName: { $set: _trim(lastName) },\n        companyName: { $set: _trim(companyName) },\n        addressLine1: { $set: _trim(addressLine1) },\n        addressLine2: { $set: _trim(addressLine2) },\n        city: { $set: _trim(city) },\n        state: { $set: addrState },\n        zipCode: { $set: zipCode },\n        country: { $set: _trim(country) },\n        email: { $set: _trim(email) },\n        phoneNumber: { $set: phoneNumber }\n      }\n    });\n  },\n  processSkipEIN = (state, action, data) => {\n    return update(state, {\n      skipEIN: { $set: data }\n    });\n  },\n  processStartEIN = (state, action, data) => {\n    const { phoneNumber, llcMarried, llcSingleMember, mailingAddressRequired, physicalAddressRequired, principalAddressRequired } = data;\n\n    return update(state, {\n      llcMarried: { $set: llcMarried },\n      llcSingleMember: { $set: llcSingleMember },\n      mailingAddressRequired: { $set: mailingAddressRequired },\n      phoneNumber: { $set: phoneNumber },\n      physicalAddressRequired: { $set: physicalAddressRequired },\n      principalAddressRequired: { $set: principalAddressRequired }\n    });\n  },\n  processBusinessData = (state, action, data) => {\n    const { hasDBAs, phoneNumber, dbas, corpCareOf, corpClosingMonth, startDate } = data;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber },\n      hasDBAs: { $set: hasDBAs },\n      dbas: { $set: _trim(dbas) },\n      corpCareOf: { $set: _trim(corpCareOf) },\n      corpClosingMonth: { $set: corpClosingMonth },\n      startDate: { $set: startDate }\n    });\n  },\n  processCorpData = (state, action, data) => {\n    const { taxedAsSCorp } = data;\n    return update(state, {\n      taxedAsSCorp: { $set: taxedAsSCorp }\n    });\n  },\n  processEINData = (state, action, data) => {\n    const { reason, gambling, atf, employeesW2, w2WagesPaidDate, w2AgriculturalEmployeeCount, w2OtherEmployeeCount, w2WagesLessThan1000 } = data,\n      { motorVehicle, motorVehicleWeight, businessForm720, businessActivity1, businessActivity2, businessActivity3, businessActivity4, businessActivity5, businessActivitySpecify } = data;\n\n    return update(state, {\n      reason: { $set: reason },\n      gambling: { $set: gambling },\n      atf: { $set: atf },\n      employeesW2: { $set: employeesW2 },\n      w2WagesPaidDate: { $set: w2WagesPaidDate },\n      w2AgriculturalEmployeeCount: { $set: w2AgriculturalEmployeeCount },\n      w2OtherEmployeeCount: { $set: w2OtherEmployeeCount },\n      w2WagesLessThan1000: { $set: w2WagesLessThan1000 },\n      motorVehicle: { $set: motorVehicle },\n      motorVehicleWeight: { $set: motorVehicleWeight },\n      businessForm720: { $set: businessForm720 },\n      businessActivity1: { $set: businessActivity1 },\n      businessActivity2: { $set: businessActivity2 },\n      businessActivity3: { $set: businessActivity3 },\n      businessActivity4: { $set: businessActivity4 },\n      businessActivity5: { $set: businessActivity5 },\n      businessActivitySpecify: { $set: _trim(businessActivitySpecify) }\n    });\n  },\n  processMemberData = (state, action, data) => {\n    const { llcMarried, llcSingleMember, memberCount } = data;\n    return update(state, {\n      llcMarried: { $set: llcMarried },\n      llcSingleMember: { $set: llcSingleMember },\n      memberCount: { $set: memberCount }\n    });\n  },\n  processResponsibleData = (state, action, data) => {\n    const { firstName, middleName, lastName, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country = 'US', email, phoneNumber, suffix, ssn, legalName, ein, previousEin, alternateLastNames } = data;\n\n    return update(state, {\n      ssnItin: { $set: ssn }, // Maintain here for later\n      responsibleParty: {\n        firstName: { $set: _trim(firstName) },\n        middleName: { $set: _trim(middleName) },\n        lastName: { $set: _trim(lastName) },\n        suffix: { $set: suffix },\n        companyName: { $set: _trim(companyName) },\n        addressLine1: { $set: _trim(addressLine1) },\n        addressLine2: { $set: _trim(addressLine2) },\n        city: { $set: _trim(city) },\n        state: { $set: addrState },\n        zipCode: { $set: zipCode },\n        country: { $set: _trim(country) },\n        email: { $set: _trim(email) },\n        phoneNumber: { $set: phoneNumber },\n        ssn: { $set: ssn },\n        legalName: { $set: _trim(legalName) },\n        ein: { $set: _trim(ein) },\n        previousEin: { $set: previousEin },\n        alternateLastNames: { $set: alternateLastNames }\n      }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const { id, clearData } = data;\n\n    if (!id) {\n      if (clearData) {\n        reducerStorage.clear(storageKey);\n        return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n      }\n      return state;\n    }\n\n    const\n      { contact, members, businessAddresses } = data,\n      { mailing = {}, physical = {}, principal = {} } = businessAddresses || {},\n      { phoneNumber } = contact || {},\n      memberCount = members ? members.length : null,\n      principalAddressRequired = !principal.addressLine1,\n      mailingAddressRequired = !mailing.addressLine1,\n      physicalAddressRequired = !physical.addressLine1;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber },\n      memberCount: { $set: memberCount },\n      principalAddressRequired: { $set: principalAddressRequired },\n      mailingAddressRequired: { $set: mailingAddressRequired },\n      physicalAddressRequired: { $set: physicalAddressRequired }\n    });\n  },\n  /* eslint-disable max-statements */\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      formationEin = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'ein_creation';\n      }),\n      formation = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      formationDBA = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'dba_entity';\n      }),\n      sCorpDesignation = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 's_corp_designation';\n      }),\n      isSubscription = orderData.some(({ service = '' }) => { return service.includes('subscription_plan'); }),\n      dbaBusActivity = !formation && formationDBA ? formationDBA.business_industry : '',\n      formBusinessActivity = formation ? formation.activity || '' : '',\n      setBusinessActivity = formBusinessActivity || dbaBusActivity || '';\n\n    if (!formationEin && !formation) {\n      return state;\n    }\n\n    const updates = {};\n    if (setBusinessActivity && !state.businessActivity1) {\n      updates.businessActivity1 = { $set: setBusinessActivity };\n    }\n    if (formationEin) {\n      const { business_data: businessData = { notLoaded: true }, tax_info: taxInfo = { notLoaded: true }, responsible_party: user = {}, phone: phoneNumber = '', county = '', trade_names: dbas = null, member_count: memberCount = 0 } = formationEin,\n        {\n          first_name: firstName = '',\n          middle_name: middleName = '',\n          last_name: lastName = '',\n          company_name: companyName = '',\n          address_1: userAddressLine1 = '',\n          address_2: userAddressLine2 = '',\n          city: userCity = '',\n          county: userCounty = '',\n          state: userState = '',\n          zip: userZipCode = '',\n          country: userCountry = 'US',\n          phone: userPhoneNumber = '',\n          email: userEmail = '',\n          legal_name: legalName = '',\n          ein_number: einNumber = '',\n          suffix = '',\n          previous_ein: previousEin = false,\n          alternate_last_names: alternateLastNames = [],\n          has_ssn: hasSSN\n        } = user,\n        taxedAsSCorpByDesignation = sCorpDesignation ? true : null,\n        taxedAsSCorp = taxedAsSCorpByDesignation || (_isUndefined(taxInfo.taxed_as_s_corp) ? null : taxInfo.taxed_as_s_corp),\n        responsiblePartyInfoLoaded = !!state.ssnItin || !!einNumber, // The responsible party as a person was loaded if the SSN is set.\n        toGambling = businessData.gambling === true || businessData.gambing === false,\n        hasDBAsFromString = !!dbas,\n        hasDBAs = toGambling || hasDBAsFromString ? hasDBAsFromString : null,\n        startDateRaw = businessData.start_date || '',\n        startDatePieces = startDateRaw.split('-'),\n        startDate = startDatePieces.length > 2 ? `${startDatePieces[1]}/${startDatePieces[2]}/${startDatePieces[0]}` : '',\n        responsibleParty = {\n          firstName,\n          middleName,\n          lastName,\n          suffix: responsiblePartyInfoLoaded ? suffix || '' : '',\n          hadSuffix: !!suffix,\n          companyName,\n          addressLine1: userAddressLine1,\n          addressLine2: userAddressLine2,\n          city: userCity,\n          county: userCounty,\n          state: userState,\n          zipCode: userZipCode,\n          country: userCountry,\n          phoneNumber: userPhoneNumber,\n          email: userEmail,\n          legalName,\n          ein: einNumber,\n          ssn: state.ssnItin || '', // Use the stored state - doesn't come back from database.\n          previousEin,\n          alternateLastNames\n        };\n\n      businessData.activity = businessData.activity || {};\n      _assign(updates, {\n        responsibleParty: { $set: responsibleParty },\n        hasSSN: { $set: hasSSN },\n        county: { $set: county },\n        phoneNumber: { $set: phoneNumber },\n        hasDBAs: { $set: hasDBAs },\n        dbas: { $set: dbas },\n        llcMarried: { $set: _isUndefined(taxInfo.members_are_married) ? null : taxInfo.members_are_married },\n        memberCount: { $set: memberCount },\n        llcSingleMember: { $set: _isUndefined(taxInfo.taxed_as_single_member_llc) ? null : taxInfo.taxed_as_single_member_llc },\n        taxedAsSCorp: { $set: taxedAsSCorp },\n        corpCareOf: { $set: businessData.corp_care_of || '' },\n        corpClosingMonth: { $set: businessData.corp_closing_month || 'December' },\n        startDate: { $set: startDate },\n        gambling: { $set: _isUndefined(businessData.gambling) ? null : businessData.gambling },\n        atf: { $set: _isUndefined(businessData.alcohol_tobacco_firearms) ? null : businessData.alcohol_tobacco_firearms },\n        employeesW2: { $set: _isUndefined(businessData.employees_with_w2) ? null : businessData.employees_with_w2 },\n        w2WagesPaidDate: { $set: businessData.w2_wages_paid_date || '' },\n        w2AgriculturalEmployeeCount: { $set: businessData.w2_agricultural_employees_count || 0 },\n        w2OtherEmployeeCount: { $set: businessData.w2_other_employees_count || 0 },\n        w2WagesLessThan1000: { $set: _isUndefined(businessData.w2_wages_lt_1000) ? null : businessData.w2_wages_lt_1000 },\n        motorVehicle: { $set: _isUndefined(businessData.highway_vehicle) ? null : businessData.highway_vehicle },\n        motorVehicleWeight: { $set: _isUndefined(businessData.highway_vehicle_over_55000) ? null : businessData.highway_vehicle_over_55000 },\n        businessForm720: { $set: _isUndefined(businessData.files_form_720) ? null : businessData.files_form_720 },\n        businessActivity1: { $set: businessData.activity.level_1 || formBusinessActivity },\n        businessActivity2: { $set: businessData.activity.level_2 || '' },\n        businessActivity3: { $set: businessData.activity.level_3 || '' },\n        businessActivity4: { $set: businessData.activity.level_4 || '' },\n        businessActivity5: { $set: businessData.activity.level_5 || '' },\n        businessActivitySpecify: { $set: businessData.activity.specify || '' },\n        isSubscription: { $set: isSubscription }\n      });\n    }\n    return update(state, updates);\n  },\n  /* eslint-enable max-statements */\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [COMP_EIN_ACTIONS.ATF]: processATF,\n    [COMP_EIN_ACTIONS.BUS_720]: processBusinessForm720,\n    [COMP_EIN_ACTIONS.BUS_ACT]: processBusinessActivity,\n    [COMP_EIN_ACTIONS.BUS_DATA]: processBusinessData,\n    [COMP_EIN_ACTIONS.CHOOSE_RESP]: processChooseResponsible,\n    [COMP_EIN_ACTIONS.CORP_DATA]: processCorpData,\n    [COMP_EIN_ACTIONS.CORP_INFO]: processCorpInfo,\n    [COMP_EIN_ACTIONS.CORP_TAXED]: processCorpTaxed,\n    [COMP_EIN_ACTIONS.DBA_NAMES]: processDBAs,\n    [COMP_EIN_ACTIONS.HAS_DBAS]: processHasDBAs,\n    [COMP_EIN_ACTIONS.EIN_DATA]: processEINData,\n    [COMP_EIN_ACTIONS.EIN_REASON]: processEINReason,\n    [COMP_EIN_ACTIONS.EMPL_W2]: processEmployeesW2,\n    [COMP_EIN_ACTIONS.HAS_EMPL_W2]: processHasEmployeesW2,\n    [COMP_EIN_ACTIONS.GAMBLING]: processGambling,\n    [COMP_EIN_ACTIONS.HAS_SSN]: processHasSSN,\n    [COMP_EIN_ACTIONS.LLC_ARE_MARRIED]: processLLCMarried,\n    [COMP_EIN_ACTIONS.LLC_MARRIED_TAXED]: processLLCSingleMember,\n    [COMP_EIN_ACTIONS.LLC_MBR_COUNT]: processLLCMemberCount,\n    [COMP_EIN_ACTIONS.MBR_DATA]: processMemberData,\n    [COMP_EIN_ACTIONS.RESP_DATA]: processResponsibleData,\n    [COMP_EIN_ACTIONS.RESP_INFO]: processResponsibleInfo,\n    [COMP_EIN_ACTIONS.RESP_PARTY]: processResponsibleParty,\n    [COMP_EIN_ACTIONS.START_EIN]: processStartEIN,\n    [COMP_EIN_ACTIONS.VEHICLE]: processMotorVehicle,\n    [COMP_EIN_ACTIONS.VEHICLE_WEIGHT]: processMotorVehicleWeight,\n    [COMP_EIN_ACTIONS.SKIP_EIN]: processSkipEIN,\n\n    [REG_EIN_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_EIN_ACTIONS.CORP_TAXED]: processCorpTaxed,\n\n    [DBA_ACTIONS.BUS_DESC]: processDBABusinessActivity,\n    [DBA_ACTIONS.BUS_DATA]: processDBABusinessActivity,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_stock_setup';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/stockSetup';\n\nconst mapFeesToAdjusted = (fees) => {\n  const mapped = fees.reduce((mappedFees, currentFee) => {\n    const feeType = currentFee.fee_type.replace('_adjusted', '');\n    if (!mappedFees[feeType]) {\n      mappedFees[feeType] = {\n        name: '',\n        amount: 0,\n        amount_fee_adjusted: 0\n      };\n    }\n    if (currentFee.fee_type.endsWith('_adjusted')) {\n      mappedFees[feeType].amount_fee_adjusted = currentFee.amount;\n    } else {\n      mappedFees[feeType].name = feeType;\n      mappedFees[feeType].amount = currentFee.amount;\n    }\n    return mappedFees;\n  }, {});\n\n  return Object.values(mapped);\n};\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    stockSetup: null,\n    fromDashboard: false,\n    type: '',\n    name: '',\n    domesticJurisdiction: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId, name, domesticJurisdiction, type } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      name,\n      domesticJurisdiction,\n      type,\n      fromDashboard\n    } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type },\n      fromDashboard: { $set: fromDashboard },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state, action) => {\n    const {\n      domesticJurisdiction,\n      calculatorType,\n      fees,\n      par_value,\n      share_qty\n    } = action.payload.newData;\n    const feesAdjusted = mapFeesToAdjusted(fees);\n    const stockFees = feesAdjusted.find((fee) => { return fee.name === 'state_stock_fee'; });\n    const stockTotal = stockFees?.amount;\n    const stockTotalAdjusted = stockFees?.amount_fee_adjusted;\n\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      calculatorType: { $set: calculatorType },\n      authorizedShares: { $set: share_qty },\n      valuePerShare: { $set: par_value },\n      stockTotal: { $set: stockTotal },\n      stockTotalAdjusted: { $set: stockTotalAdjusted },\n      fees: { $set: feesAdjusted },\n      fields: { $set: { shareQty: share_qty, parValue: par_value } }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  // Cache the v4 fee preview. `net_total` (amount owed now = total − prepaid_fee) is what the add-fee\n  // charges and the feeOwed gate reads, so cache it as `stockTotalAdjusted`; keep the full breakdown.\n  processSetStockFee = (state, action, data) => {\n    const { stock_fee: stockFee, net_total: netTotal } = data;\n    return update(state, {\n      stockFee: { $set: stockFee },\n      stockTotalAdjusted: { $set: netTotal },\n      feeBreakdown: { $set: data }\n    });\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [CORP_ACTIONS.SET_STOCK_FEE]: processSetStockFee,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _cloneDeep from 'lodash/cloneDeep';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isString from 'lodash/isString';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/members';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    onlyOwner: null,\n    memberCount: 0,\n    members: []\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processBusinessRunners = (state, action, data) => {\n    const { members } = data;\n    return update(state, {\n      members: { $set: members }\n    });\n  },\n  processManagerOption = (state, action, data) => {\n    const { managerType } = data;\n    if (managerType === 'AllOwners') {\n      const members = _map(state.members, (member) => {\n        return _assign({}, member, { manager: false });\n      });\n      return update(state, {\n        members: { $set: members }\n      });\n    }\n    if (managerType === 'AllManagers') {\n      const members = _map(state.members, (member) => {\n        return _assign({}, member, { manager: false });\n      });\n      return update(state, {\n        members: { $set: members }\n      });\n    }\n    return state;\n  },\n  processMemberCount = (state, action, data) => {\n    const { memberCount } = data;\n\n    return update(state, {\n      memberCount: { $set: memberCount }\n    });\n  },\n  processMemberList = (state, action, data) => {\n    const { members } = data;\n    return update(state, {\n      memberCount: { $set: members.length },\n      members: { $set: _map(members, (member) => {\n        return _reduce(member, (collect, value, key) => {\n          collect[key] = _isString(value) ? _trim(value) : value;\n          return collect;\n        }, {});\n      }) }\n    });\n  },\n  processDBAOwnerList = (state, action, data) => {\n    const { businessType, owners } = data;\n\n    if (businessType !== 'LLCX' && businessType !== 'SOLE') {\n      return state;\n    }\n    return update(state, {\n      members: { $set: _map(owners, (member) => {\n        return _reduce(member, (collect, value, key) => {\n          collect[key] = _isString(value) ? _trim(value) : value;\n          return collect;\n        }, {});\n      }) },\n      memberCount: { $set: owners ? owners.length : 0 }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const\n      { members } = data;\n\n    if (!members) {\n      return update(state, {\n        members: { $set: [] },\n        onlyOwner: { $set: null }\n      });\n    }\n\n    let onlyOwner = false;\n    if (members.length === 1) {\n      onlyOwner = true;\n    }\n    return update(state, {\n      onlyOwner: { $set: onlyOwner },\n      members: { $set: _cloneDeep(members) }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const mems = _get(o, 'members', null);\n\n        return mems !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      { members = [], member_count: memberCount = null } = order,\n      convertedMembers = _map(members, (member) => {\n        const\n          { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', manager = false } = member,\n          { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state: addrState = '', zip: zipCode = '', country = 'US', email = '', phone: phoneNumber = '', outstanding_judgments: outstandingJudgments = null } = member;\n\n        return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country, email, phoneNumber, manager, outstandingJudgments };\n      }),\n      onlyOwner = convertedMembers.length > 0 ? convertedMembers.length === 1 : null;\n\n    return update(state, {\n      onlyOwner: { $set: onlyOwner },\n      memberCount: { $set: memberCount === null ? members.length : memberCount },\n      members: { $set: convertedMembers }\n    });\n  },\n  processUpdateMember = (state, action, data) => {\n    const { members = [] } = state;\n    const { arrayIndex, email, phoneNumber } = data;\n    const updatedMembers = _cloneDeep(members);\n    const { email: mEmail, phoneNumber: mPhoneNumber } = updatedMembers[arrayIndex];\n    if (phoneNumber !== mPhoneNumber || email !== mEmail ) {\n      updatedMembers[arrayIndex] = {\n        ...updatedMembers[arrayIndex],\n        phoneNumber,\n        email\n      };\n      return update(state, {\n        members: { $set: updatedMembers }\n      });\n    }\n    return state;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processStartBusiness = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, { onlyOne: false }));\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [LLC_ACTIONS.MBR_COUNT]: processMemberCount,\n    [LLC_ACTIONS.SET_BUS_RUN]: processBusinessRunners,\n    [LLC_ACTIONS.SET_MGR_OPT]: processManagerOption,\n    [LLC_ACTIONS.SET_MBR_LIST]: processMemberList,\n    [LLC_ACTIONS.UPDATE_MBR]: processUpdateMember,\n\n    [COMP_BLR_ACTIONS.LLC_BUS_RUN]: processBusinessRunners,\n    [COMP_BLR_ACTIONS.LLC_MBR_COUNT]: processMemberCount,\n    [COMP_BLR_ACTIONS.LLC_MBR_LIST]: processMemberList,\n    [COMP_BLR_ACTIONS.LLC_MBR_LIST_MODAL]: processMemberList,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n    [COMP_BLR_ACTIONS.UPDATE_MBR]: processUpdateMember,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: processStartBusiness,\n    [COMP_BUSINESS_ACTIONS.LLC_BUS_RUN]: processBusinessRunners,\n    [COMP_BUSINESS_ACTIONS.LLC_MBR_COUNT]: processMemberCount,\n    [COMP_BUSINESS_ACTIONS.LLC_MBR_LIST]: processMemberList,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_BUSINESS_ACTIONS.UPDATE_MBR]: processUpdateMember,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.LLC_BUS_RUN]: processBusinessRunners,\n    [COMP_CORA_ACTIONS.LLC_MBR_COUNT]: processMemberCount,\n    [COMP_CORA_ACTIONS.LLC_MBR_LIST]: processMemberList,\n    [COMP_CORA_ACTIONS.LLC_MBR_LIST_MODAL]: processMemberList,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n\n    [COMP_DBA_ACTIONS.OWNERS]: processDBAOwnerList,\n    [COMP_DBA_ACTIONS.OWNER_MODAL]: processDBAOwnerList,\n\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_NYPUB_ACTIONS.LLC_BUS_RUN]: processBusinessRunners,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_COUNT]: processMemberCount,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_LIST]: processMemberList,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_LIST_MODAL]: processMemberList,\n    [COMP_NYPUB_ACTIONS.UPDATE_MBR]: processUpdateMember,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.LLC_BUS_RUN]: processBusinessRunners,\n    [COMP_WFG_ACTIONS.LLC_MBR_COUNT]: processMemberCount,\n    [COMP_WFG_ACTIONS.LLC_MBR_LIST]: processMemberList,\n    [COMP_WFG_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_WFG_ACTIONS.UPDATE_MBR]: processUpdateMember,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_DOMAINPRIVACY_ACTIONS } from '../../constants/register_domainprivacy';\nimport { ACTIONS } from '../../constants/register_domainname';\nimport { ACTIONS as REG_ONLINETOOLS_ACTIONS } from '../../constants/register_onlinetools';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/domainName';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    companyId: '',\n    companyCount: 0,\n    primary: '',\n    alternates: [],\n    domainNameSearch: '',\n    domainNames: [],\n    emailAddresses: [],\n    verified: false,\n    skip: false,\n    emailUserName: '',\n    emailSkip: false,\n    emailInPlan: false,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId, domainName = '' } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      primary: { $set: domainName || state.primary }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      domainName = '',\n      emailInPlan = false,\n      domainNameSearch = '',\n      domainNames = [],\n      emailAddresses = []\n    } = data;\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      primary: { $set: domainName },\n      emailInPlan: { $set: emailInPlan },\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      emailAddresses: { $set: emailAddresses },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processPrimary = (state, action, data) => {\n    const { primary, skip, verified } = data;\n    return update(state, {\n      primary: { $set: primary },\n      verified: { $set: verified },\n      skip: { $set: skip },\n      emailUserName: { $set: skip ? '' : state.emailUserName },\n      emailSkip: { $set: skip ? true : state.emailSkip }\n    });\n  },\n  processDomainNames = (state, action, data) => {\n    const { domainNameSearch, domainNames, skip } = data;\n    return update(state, {\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      skip: { $set: skip }\n    });\n  },\n  processDomainName = (state, action, data) => {\n    const { domainName } = data;\n    return update(state, {\n      primary: { $set: domainName }\n    });\n  },\n  processEmail = (state, action, data) => {\n    const { emailUserName, skip } = data;\n    return update(state, {\n      emailUserName: { $set: emailUserName },\n      emailSkip: { $set: skip }\n    });\n  },\n  processEmailAddresses = (state, action, data) => {\n    const { emailAddresses } = data;\n    return update(state, {\n      emailAddresses: { $set: emailAddresses }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      domainNameOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'domain_name_reg';\n      }),\n      emailOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'basic_email';\n      });\n\n    if (!domainNameOrder) {\n      return state;\n    }\n    const\n      {\n        primary = '',\n        alternates = [],\n        domain_verified: verified = true,\n        skip = false\n      } = domainNameOrder,\n      {\n        email_address: emailUserName = '',\n        skip: emailSkip = false\n      } = emailOrder || {};\n\n    return update(state, {\n      primary: { $set: primary },\n      verified: { $set: verified },\n      alternates: { $set: alternates },\n      skip: { $set: skip },\n      emailUserName: { $set: emailUserName },\n      emailSkip: { $set: emailSkip }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processRegistrationInit = (state, action, data) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, {\n      ...INITIAL_STATE_DEFAULT,\n      primary: data.domainName || '',\n      domainSearch: data.domainSearch || '',\n      selectedDomainNames: data.domainNames || [],\n      selectedEmailAddresses: data.emailAddresses || []\n    });\n  },\n  processMap = {\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.DOMAIN_NAME]: processPrimary,\n    [ACTIONS.DOMAIN_NAMES]: processDomainNames,\n    [ACTIONS.EMAIL_ADDRESS]: processEmail,\n    [ACTIONS.EMAIL_ADDRESSES]: processEmailAddresses,\n    [ACTIONS.EMAIL_ADDRESS_MODAL]: processEmail,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [REG_BASICEMAIL_ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [REG_BASICEMAIL_ACTIONS.COMPLETE]: processComplete,\n    [REG_BASICEMAIL_ACTIONS.EMAIL_ADDRESS]: processEmail,\n    [REG_BASICEMAIL_ACTIONS.PAYMENT]: processPayment,\n    [REG_BASICEMAIL_ACTIONS.INIT]: processInit,\n    [REG_BASICEMAIL_ACTIONS.START]: processStart,\n\n    [REG_DOMAINPRIVACY_ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [REG_DOMAINPRIVACY_ACTIONS.SELECT_DOMAIN]: processDomainName,\n    [REG_DOMAINPRIVACY_ACTIONS.COMPLETE]: processComplete,\n    [REG_DOMAINPRIVACY_ACTIONS.PAYMENT]: processPayment,\n    [REG_DOMAINPRIVACY_ACTIONS.INIT]: processInit,\n    [REG_DOMAINPRIVACY_ACTIONS.START]: processStart,\n\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [REGISTRATION_ACTIONS.INIT]: processRegistrationInit,\n\n    [LLC_ACTIONS.DOMAIN_NAME]: processPrimary,\n    [LLC_ACTIONS.EMAIL_ADDRESS]: processEmail,\n\n    [CORP_ACTIONS.DOMAIN_NAME]: processPrimary,\n    [CORP_ACTIONS.EMAIL_ADDRESS]: processEmail,\n\n    [REG_ONLINETOOLS_ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [REG_ONLINETOOLS_ACTIONS.COMPLETE]: processComplete,\n    [REG_ONLINETOOLS_ACTIONS.DOMAIN_NAME]: processPrimary,\n    [REG_ONLINETOOLS_ACTIONS.EMAIL_ADDRESS]: processEmail,\n    [REG_ONLINETOOLS_ACTIONS.PAYMENT]: processPayment,\n    [REG_ONLINETOOLS_ACTIONS.INIT]: processInit,\n    [REG_ONLINETOOLS_ACTIONS.START]: processStart,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { isPF } from '../../utils/PartnerUtils';\n\nexport const storageKey = 'registration/postpurchase';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    dbaEntities: [],\n    filingAction: '',\n    flowType: '',\n    futureFilingDate: '',\n    purchaseBLR: null,\n    purchaseRA: null,\n    purchaseBusinessKit: null,\n    purchaseBOF: null,\n    bofOngoing: null,\n    purchaseDBACompliance: null,\n    purchaseDBAEntity: null,\n    purchaseFFD: null,\n    purchaseTaxAdvice: null,\n    purchaseTaxAdviceBizTaxPrep: null,\n    purchaseVBA: null,\n    purchaseCD: null,\n    purchaseZbBankingPreferredOffer: null,\n    purchaseBankOfAmericaOffer: null,\n    purchaseWFGIR: null,\n    purchaseZBMPro: null,\n    purchaseExpenseTrackerAndTaxFiling: null,\n    purchaseVanityProduct: null,\n    showZBMPro: false,\n    zbmProMonthly: null,\n    taxAdviceMonthly: null,\n    taxAdviceBizTaxPrepMonthly: null,\n\n    cardToken: '',\n    last4: '',\n    brand: '',\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0,\n    showCD: true\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processDBAEntities = (state, action, data) => {\n    const { dbaEntities } = data;\n\n    return update(state, {\n      dbaEntities: { $set: dbaEntities }\n    });\n  },\n  processFutureFilingDate = (state, action, data) => {\n    const { futureFilingDate, filingAction } = data;\n    return update(state, {\n      futureFilingDate: { $set: futureFilingDate },\n      filingAction: { $set: filingAction }\n    });\n  },\n  processZbBankingPreferredOffer = (state, action, data) => {\n    const { purchaseZbBankingPreferredOffer } = data;\n    return update(state, {\n      purchaseZbBankingPreferredOffer: { $set: purchaseZbBankingPreferredOffer }\n    });\n  },\n  processBankOfAmericaOffer = (state, action, data) => {\n    const { purchaseBankOfAmericaOffer } = data;\n    return update(state, {\n      purchaseBankOfAmericaOffer: { $set: purchaseBankOfAmericaOffer }\n    });\n  },\n  processPurchaseBLR = (state, action, data) => {\n    const { purchaseBLR } = data;\n    return update(state, {\n      purchaseBLR: { $set: purchaseBLR }\n    });\n  },\n  processPurchaseRA = (state, action, data) => {\n    const { purchaseRA } = data;\n    return update(state, {\n      purchaseRA: { $set: purchaseRA }\n    });\n  },\n  processPurchaseBusinessKit = (state, action, data) => {\n    const { purchaseBusinessKit } = data;\n    return update(state, {\n      purchaseBusinessKit: { $set: purchaseBusinessKit }\n    });\n  },\n  processPurchaseBOF = (state, action, data) => {\n    const { purchaseBOF, bofOngoing } = data;\n    return update(state, {\n      purchaseBOF: { $set: purchaseBOF },\n      bofOngoing: { $set: bofOngoing }\n    });\n  },\n  processPurchaseDBACompliance = (state, action, data) => {\n    const { purchaseDBACompliance } = data;\n    return update(state, {\n      purchaseDBACompliance: { $set: purchaseDBACompliance }\n    });\n  },\n  processPurchaseDBAEntity = (state, action, data) => {\n    const { purchaseDBAEntity } = data;\n    return update(state, {\n      purchaseDBAEntity: { $set: purchaseDBAEntity }\n    });\n  },\n  processPurchaseFFD = (state, action, data) => {\n    const { purchaseFFD } = data;\n    return update(state, {\n      purchaseFFD: { $set: purchaseFFD }\n    });\n  },\n  processPurchaseCD = (state, action, data) => {\n    const { purchaseCD } = data;\n    return update(state, {\n      purchaseCD: { $set: purchaseCD }\n    });\n  },\n  processPurchaseWFGIR = (state, action, data) => {\n    const { purchaseWFGIR } = data;\n    return update(state, {\n      purchaseWFGIR: { $set: purchaseWFGIR }\n    });\n  },\n  processPurchaseExpenseTrackerAndTaxFiling = (state, action, data) => {\n    const { purchaseExpenseTrackerAndTaxFiling } = data;\n    return update(state, {\n      purchaseExpenseTrackerAndTaxFiling: { $set: purchaseExpenseTrackerAndTaxFiling }\n    });\n  },\n  processPurchaseTaxAdviceBundle = (state, action, data) => {\n    const { purchaseTaxAdvice, taxAdviceMonthly, purchaseTaxAdviceBizTaxPrep, taxAdviceBizTaxPrepMonthly } = data;\n    return update(state, {\n      purchaseTaxAdvice: { $set: purchaseTaxAdvice },\n      taxAdviceMonthly: { $set: taxAdviceMonthly },\n      purchaseTaxAdviceBizTaxPrep: { $set: purchaseTaxAdviceBizTaxPrep },\n      taxAdviceBizTaxPrepMonthly: { $set: taxAdviceBizTaxPrepMonthly }\n    });\n  },\n  processPurchaseZBMPro = (state, action, data) => {\n    const { purchaseZBMPro, zbmProMonthly } = data;\n    return update(state, {\n      purchaseZBMPro: { $set: purchaseZBMPro },\n      zbmProMonthly: { $set: zbmProMonthly }\n    });\n  },\n  processPurchaseVBA = (state, action, data) => {\n    const { purchaseVBA } = data;\n    return update(state, {\n      purchaseVBA: { $set: purchaseVBA }\n    });\n  },\n  processVanityProduct = (state, action, data) => {\n    const { purchaseVanityProduct } = data;\n    return update(state, {\n      purchaseVanityProduct: { $set: purchaseVanityProduct }\n    });\n  },\n\n  processPayment = (state, action, data) => {\n    const {\n      cardToken,\n      last4,\n      brand,\n      cardId,\n      cardNumber,\n      expMonth,\n      expYear,\n      cvc,\n      purchaseZbBankingPreferredOffer = false,\n      purchaseBankOfAmericaOffer = false,\n      purchaseBLR = false,\n      purchaseBusinessKit = false,\n      purchaseBOF = false,\n      bofOngoing = false,\n      purchaseRA = false,\n      purchaseFFD = true,\n      purchaseCD = false,\n      purchaseWFGIR = false,\n      purchaseDBAEntity = false,\n      purchaseDBACompliance = false,\n      purchaseExpenseTrackerAndTaxFiling = false,\n      purchaseTaxAdvice = false,\n      purchaseTaxAdviceBizTaxPrep = false,\n      taxAdviceMonthly = false,\n      taxAdviceBizTaxPrepMonthly = false,\n      purchaseZBMPro = false,\n      zbmProMonthly = false,\n      purchaseVBA = false,\n      purchaseVanityProduct = false,\n      dbaEntities = []\n    } = data;\n    return update(state, {\n      dbaEntities: { $set: dbaEntities },\n      purchaseZbBankingPreferredOffer: { $set: purchaseZbBankingPreferredOffer },\n      purchaseBankOfAmericaOffer: { $set: purchaseBankOfAmericaOffer },\n      purchaseBLR: { $set: purchaseBLR },\n      purchaseBusinessKit: { $set: purchaseBusinessKit },\n      purchaseBOF: { $set: purchaseBOF },\n      bofOngoing: { $set: bofOngoing },\n      purchaseRA: { $set: purchaseRA },\n      purchaseDBACompliance: { $set: purchaseDBACompliance },\n      purchaseDBAEntity: { $set: purchaseDBAEntity },\n      purchaseFFD: { $set: purchaseFFD },\n      purchaseCD: { $set: purchaseCD },\n      purchaseWFGIR: { $set: purchaseWFGIR },\n      purchaseExpenseTrackerAndTaxFiling: { $set: purchaseExpenseTrackerAndTaxFiling },\n      purchaseZBMPro: { $set: purchaseZBMPro },\n      purchaseVBA: { $set: purchaseVBA },\n      purchaseVanityProduct: { $set: purchaseVanityProduct },\n      zbmProMonthly: { $set: zbmProMonthly },\n      purchaseTaxAdvice: { $set: purchaseTaxAdvice },\n      taxAdviceMonthly: { $set: taxAdviceMonthly },\n      purchaseTaxAdviceBizTaxPrep: { $set: purchaseTaxAdviceBizTaxPrep },\n      taxAdviceBizTaxPrepMonthly: { $set: taxAdviceBizTaxPrepMonthly },\n      cardToken: { $set: cardToken },\n      last4: { $set: last4 },\n      brand: { $set: brand },\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc }\n    });\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n\n    let order = null;\n    let orderTracking = null;\n\n    const { orders } = data,\n      incompleteOrder = _find(orders, (o) => {\n        if (o.order_status === 'incomplete') {\n          const { order_data: orderData, order_tracking: tempOrderTracking } = o;\n          const tempOrder = _find(orderData, (to) => {\n            const service = _get(to, 'service', '');\n            return service === 'llc_formation' || service === 'corp_formation';\n          });\n          if (tempOrder) {\n            order = tempOrder;\n            orderTracking = tempOrderTracking;\n            return true;\n          }\n        }\n        return false;\n      });\n\n    if (!incompleteOrder || !order) {\n      return state;\n    }\n\n    const\n      {\n        purchase_zb_banking_preferred_offer: purchaseZbBankingPreferredOffer = null,\n        purchase_bank_of_america_offer: purchaseBankOfAmericaOffer = null,\n        purchase_blr: purchaseBLR = null,\n        purchase_business_kit: purchaseBusinessKit = null,\n        purchase_bof: purchaseBOF = null,\n        bof_ongoing: bofOngoing = null,\n        purchase_dba_compliance: purchaseDBACompliance = null,\n        purchase_dba_entity: purchaseDBAEntity = null,\n        dba_entities: dbaEntities = [],\n        expense_tracking_with_tax_filing: purchaseExpenseTrackerAndTaxFiling = null,\n        purchase_ffd: purchaseFFD = null,\n        purchase_cd: purchaseCD = null,\n        purchase_ra: purchaseRA = null,\n        purchase_tax_advice: purchaseTaxAdvice = null,\n        tax_advice_monthly: taxAdviceMonthly = null,\n        purchase_tax_advice_biztax_prep: purchaseTaxAdviceBizTaxPrep = null,\n        tax_advice_biztax_prep_monthly: taxAdviceBizTaxPrepMonthly = null,\n        purchase_vba: purchaseVBA = null,\n        purchase_vanity_product: purchaseVanityProduct = null,\n        purchase_zbmpro: purchaseZBMPro = null,\n        zbmpro_monthly: zbmProMonthly = null,\n        filing_action: filingAction = '',\n        future_filing_date: futureFilingDate = '',\n        purchase_wfgir: purchaseWFGIR = null\n      } = order,\n      {\n        flow_type: flowType = ''\n      } = orderTracking;\n\n    return update(state, {\n      purchaseZbBankingPreferredOffer: { $set: purchaseZbBankingPreferredOffer },\n      purchaseBankOfAmericaOffer: { $set: purchaseBankOfAmericaOffer },\n      purchaseBLR: { $set: purchaseBLR },\n      purchaseBusinessKit: { $set: purchaseBusinessKit },\n      purchaseBOF: { $set: purchaseBOF },\n      bofOngoing: { $set: bofOngoing },\n      purchaseDBACompliance: { $set: purchaseDBACompliance },\n      purchaseDBAEntity: { $set: purchaseDBAEntity },\n      purchaseExpenseTrackerAndTaxFiling: { $set: purchaseExpenseTrackerAndTaxFiling },\n      purchaseZBMPro: { $set: purchaseZBMPro },\n      dbaEntities: { $set: dbaEntities },\n      purchaseFFD: { $set: purchaseFFD },\n      purchaseCD: { $set: purchaseCD },\n      purchaseRA: { $set: purchaseRA },\n      purchaseVBA: { $set: purchaseVBA },\n      purchaseVanityProduct: { $set: purchaseVanityProduct },\n      purchaseTaxAdvice: { $set: purchaseTaxAdvice },\n      taxAdviceMonthly: { $set: taxAdviceMonthly },\n      purchaseTaxAdviceBizTaxPrep: { $set: purchaseTaxAdviceBizTaxPrep },\n      taxAdviceBizTaxPrepMonthly: { $set: taxAdviceBizTaxPrepMonthly },\n      zbmProMonthly: { $set: zbmProMonthly },\n      filingAction: { $set: filingAction },\n      flowType: { $set: flowType },\n      futureFilingDate: { $set: futureFilingDate },\n      purchaseWFGIR: { $set: purchaseWFGIR },\n      showCD: { $set: !isPF() }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processCreateOrderComplete = (state, action) => {\n    if (action.error) {\n      return state;\n    }\n    return resetAllData();\n  },\n  processAccountHasZBMoneyProSubscription = (state, action, data) => {\n    return update(state, {\n      showZBMPro: { $set: !data.hasZBMoneyProSubscription }\n    });\n  },\n  processMap = {\n    [ACTIONS.FUTURE_FILING_DATE]: processFutureFilingDate,\n    [ACTIONS.FFD_DATA_MODAL]: processFutureFilingDate,\n    [ACTIONS.PURCHASE_BLR]: processPurchaseBLR,\n    [ACTIONS.PURCHASE_RA]: processPurchaseRA,\n    [ACTIONS.PURCHASE_BUSINESSKIT]: processPurchaseBusinessKit,\n    [ACTIONS.PURCHASE_BOF]: processPurchaseBOF,\n    [ACTIONS.PURCHASE_FFD]: processPurchaseFFD,\n    [ACTIONS.PURCHASE_CD]: processPurchaseCD,\n    [ACTIONS.PURCHASE_WFGIR]: processPurchaseWFGIR,\n    [ACTIONS.PURCHASE_TAX_ADVICE_BUNDLE]: processPurchaseTaxAdviceBundle,\n    [ACTIONS.PURCHASE_ZBMPRO]: processPurchaseZBMPro,\n    [ACTIONS.PURCHASE_EXPENSE_TRACKING_AND_TAX_FILING]: processPurchaseExpenseTrackerAndTaxFiling,\n    [ACTIONS.PURCHASE_BOA_OFFER]: processBankOfAmericaOffer,\n    [ACTIONS.PURCHASE_BANKING_PREFERRED_OFFER]: processZbBankingPreferredOffer,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.START]: resetAllData,\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment,\n\n    [ACCOUNT_ACTIONS.GET_ACCOUNT_HAS_ZB_MONEY_PRO]: processAccountHasZBMoneyProSubscription,\n\n    [CORP_ACTIONS.DBA_ENTITIES]: processDBAEntities,\n    [CORP_ACTIONS.PURCHASE_DBA_COMPLIANCE]: processPurchaseDBACompliance,\n    [CORP_ACTIONS.PURCHASE_DBA_ENTITY]: processPurchaseDBAEntity,\n    [CORP_ACTIONS.PURCHASE_REGISTERED_AGENT]: processPurchaseRA,\n    [CORP_ACTIONS.PURCHASE_VBA]: processPurchaseVBA,\n\n    [LLC_ACTIONS.DBA_ENTITIES]: processDBAEntities,\n    [LLC_ACTIONS.PURCHASE_DBA_COMPLIANCE]: processPurchaseDBACompliance,\n    [LLC_ACTIONS.PURCHASE_DBA_ENTITY]: processPurchaseDBAEntity,\n    [LLC_ACTIONS.PURCHASE_REGISTERED_AGENT]: processPurchaseRA,\n    [LLC_ACTIONS.PURCHASE_VBA]: processPurchaseVBA,\n\n    [ACTIONS.VANITY_PRODUCT_OFFER]: processVanityProduct,\n\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [REGISTRATION_ACTIONS.INIT]: resetAllData,\n\n    [REGISTRATION_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/smbWebsiteEcomm';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    alreadyPurchased: null,\n\n    companyId: '',\n    jurisdiction: null,\n    yearlyInterval: null,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n\n  processChooseInterval = (state, action, data) => {\n    const { yearlyInterval = null } = data;\n\n    return update(state, {\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processComplete = (state) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, { companyId: state.companyId }));\n  },\n  processInit = (state, action, data) => {\n    const {\n      alreadyPurchased,\n      companyId,\n      jurisdiction\n    } = data;\n    return update(state, {\n      alreadyPurchased: { $set: alreadyPurchased },\n      companyId: { $set: companyId },\n      inProgress: { $set: !alreadyPurchased },\n      jurisdiction: { $set: jurisdiction },\n      yearlyInterval: { $set: null },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      smbWebsiteEcommOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'smb_website_ecomm_bundle';\n      });\n\n    if (!smbWebsiteEcommOrder) {\n      return state;\n    }\n    const\n      {\n        jurisdiction,\n        service,\n        yearlyInterval\n      } = smbWebsiteEcommOrder;\n\n    return update(state, {\n      jurisdiction: { $set: jurisdiction },\n      kickstarter: { $set: service === 'smb_website_ecomm_bundle' },\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processMap = {\n    [ACTIONS.CHOOSE_INTERVAL]: processChooseInterval,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/account';\n\nconst\n  convertDate = (dateStr) => {\n    try {\n      return Date.parse(dateStr);\n    } catch (e) {\n      return null;\n    }\n  },\n  processGetAccount = (state) => {\n    return update(state, {\n      loading: { $set: true },\n      loaded: { $set: false }\n    });\n  },\n  processGetAccountComplete = (state, action, data) => {\n    if (action.error) {\n      return update(state, {\n        loading: { $set: false },\n        loaded: { $set: false },\n        actionError: { $set: 3000 }\n      });\n    }\n\n    const {\n      account_uuid: id,\n      account_email: email,\n      account_name: name,\n      account_phone: phoneNumber,\n      account_status: status,\n      account_type: type = '',\n      created_datetime: createdDateStr,\n      status_updated_datetime: statusUpdatedDateStr,\n      first_name: firstName,\n      middle_name: middleName,\n      last_name: lastName,\n      suffix,\n      international = false,\n      self_declared_business_name: companyName = '',\n      self_declared_business_type: jobType = '',\n      self_declared_business_type_other_text: jobTypeDescription = '',\n      lead = {}\n    } = data;\n\n    return update(state, {\n      loading: { $set: false },\n      loaded: { $set: true },\n      id: { $set: id },\n      email: { $set: email },\n      name: { $set: name },\n      phoneNumber: { $set: phoneNumber },\n      status: { $set: status },\n      type: { $set: type },\n      international: { $set: international },\n      firstName: { $set: firstName },\n      middleName: { $set: middleName },\n      lastName: { $set: lastName },\n      suffix: { $set: suffix },\n      companyName: { $set: companyName },\n      jobType: { $set: jobType },\n      jobTypeDescription: { $set: jobTypeDescription },\n      createdDate: { $set: convertDate(createdDateStr) },\n      statusUpdatedDate: { $set: convertDate(statusUpdatedDateStr) },\n      lead: { $set: lead }\n    });\n  },\n  processAcceptTOS = (state) => {\n    return update(state, {\n      tosAccept: { $set: true }\n    });\n  },\n  resetAccountData = (state) => {\n    return update(state, {\n      name: { $set: undefined },\n      createdDate: { $set: undefined }\n    });\n  },\n  processMap = {\n    [ACTIONS.GET_ACCOUNT]: processGetAccount,\n    [ACTIONS.GET_ACCOUNT_COMPLETE]: processGetAccountComplete,\n    [ACTIONS.ACCEPT_TOS_COMPLETE]: processAcceptTOS,\n    [ACTIONS.SET_LOGOUT]: resetAccountData\n  };\n\nexport default function (state = { loaded: false, loading: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _map from 'lodash/map';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/account';\n\nconst\n  INITIAL_STATE = {\n    loading: false,\n    loaded: false,\n    adding: false,\n    updating: [],\n    deleting: [],\n    settingDefault: [],\n    actionError: 0,\n    ids: [],\n    paymentMethods: {},\n    isRecurly: false,\n    defaultId: ''\n  },\n  getPaymentMethodUpdates = (state, method) => {\n    const { id, last4, exp_month: expMonthVal, exp_year: expYearVal, brand } = method,\n      expMonth = `${expMonthVal}`,\n      expYear = `${expYearVal}`.substring(2),\n      hasKey = !!state.paymentMethods[id];\n\n    if (!hasKey) {\n      return {\n        [id]: { $set: {\n          id, expMonth, expYear, last4, brand\n        } }\n      };\n    }\n    return {\n      [id]: {\n        id: { $set: id },\n        expMonth: { $set: expMonth },\n        expYear: { $set: expYear },\n        last4: { $set: last4 },\n        brand: { $set: brand }\n      }\n    };\n  },\n  processGetPaymentMethods = (state) => {\n    return update(state, {\n      loading: { $set: true }\n    });\n  },\n  processGetPaymentMethodsComplete = (state, action, data) => {\n    if (action.error) {\n      return update(state, {\n        loading: { $set: false },\n        loaded: { $set: false },\n        actionError: { $set: 3000 }\n      });\n    }\n    const { sources: paymentMethods, default_source: defaultId, is_recurly: isRecurly = false } = data,\n      updates = { paymentMethods: {} },\n      ids = _map(paymentMethods, (method) => {\n        _assign(updates.paymentMethods, getPaymentMethodUpdates(state, method, defaultId));\n        return method.id;\n      });\n\n    _assign(updates, {\n      loading: { $set: false },\n      loaded: { $set: true },\n      ids: { $set: ids },\n      defaultId: { $set: defaultId },\n      isRecurly: { $set: isRecurly },\n      actionError: { $set: 0 }\n    });\n    return update(state, updates);\n  },\n  processAddPaymentMethod = (state) => {\n    return update(state, {\n      adding: { $set: true }\n    });\n  },\n  processAddPaymentMethodComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        adding: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    const { id, expMonth, expYear, cardNumber, brand, isDefault, last4 } = data,\n      defaultId = isDefault ? id : state.defaultId;\n\n    return update(state, {\n      adding: { $set: false },\n      defaultId: { $set: defaultId },\n      actionError: { $set: 0 },\n      paymentMethods: {\n        [id]: { $set: { id, expMonth, expYear, last4: cardNumber ? cardNumber.substring(cardNumber.length - 4) : last4, brand } }\n      }\n    });\n  },\n  processDeletePaymentMethod = (state, action, data) => {\n    return update(state, {\n      deleting: { $push: [ data.id ] }\n    });\n  },\n  processDeletePaymentMethodComplete = (state, action, data) => {\n    const index = state.updating.indexOf(data.id);\n    if (action.error) {\n      return update(state, {\n        deleting: { $splice: [ [ index, 1 ] ] },\n        actionError: { $set: 500 }\n      });\n    }\n\n    const { id } = data;\n\n    return update(state, {\n      paymentMethods: {\n        $unset: [ id ]\n      },\n      actionError: { $set: 0 },\n      deleting: { $splice: [ [ index, 1 ] ] }\n    });\n  },\n  processSetDefaultPaymentMethod = (state, action, data) => {\n    return update(state, {\n      settingDefault: { $push: [ data.id ] }\n    });\n  },\n  processSetDefaultPaymentMethodComplete = (state, action, data) => {\n    const index = state.updating.indexOf(data.id);\n    if (action.error) {\n      return update(state, {\n        settingDefault: { $splice: [ [ index, 1 ] ] },\n        actionError: { $set: 500 }\n      });\n    }\n\n    const { id } = data;\n\n    return update(state, {\n      settingDefault: { $splice: [ [ index, 1 ] ] },\n      actionError: { $set: 0 },\n      defaultId: { $set: id }\n    });\n  },\n  processUpdatePaymentMethod = (state, action, data) => {\n    return update(state, {\n      updating: { $push: [ data.id ] }\n    });\n  },\n  processUpdatePaymentMethodComplete = (state, action, data) => {\n    const index = state.updating.indexOf(data.id);\n\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        updating: { $splice: [ [ index, 1 ] ] },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    const { id, expMonth, expYear } = data;\n\n    return update(state, {\n      updating: { $splice: [ [index, 1 ]] },\n      actionError: { $set: 0 },\n      paymentMethods: {\n        [id]: {\n          expMonth: { $set: expMonth },\n          expYear: { $set: expYear }\n        }\n      }\n    });\n  },\n  processMap = {\n    [ACTIONS.ADD_PAYMENT_METHOD]: processAddPaymentMethod,\n    [ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPaymentMethodComplete,\n    [ACTIONS.DELETE_PAYMENT_METHOD]: processDeletePaymentMethod,\n    [ACTIONS.DELETE_PAYMENT_METHOD_COMPLETE]: processDeletePaymentMethodComplete,\n    [ACTIONS.SET_PAYMENT_METHOD_DEFAULT]: processSetDefaultPaymentMethod,\n    [ACTIONS.SET_PAYMENT_METHOD_DEFAULT_COMPLETE]: processSetDefaultPaymentMethodComplete,\n    [ACTIONS.UPDATE_PAYMENT_METHOD]: processUpdatePaymentMethod,\n    [ACTIONS.UPDATE_PAYMENT_METHOD_COMPLETE]: processUpdatePaymentMethodComplete,\n    [ACTIONS.GET_PAYMENT_METHODS]: processGetPaymentMethods,\n    [ACTIONS.GET_PAYMENT_METHODS_COMPLETE]: processGetPaymentMethodsComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { combineReducers } from 'redux';\n\nimport details from './details';\nimport paymentMethods from './paymentMethods';\n\nexport default combineReducers({\n  details,\n  paymentMethods\n});\n","import _get from 'lodash/get';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\n\nconst\n  processSetActive = (state, action, data) => {\n    const { activeId } = data;\n\n    return update(state, {\n      activeId: { $set: activeId }\n    });\n  },\n  processGetCompaniesComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n\n    const { companies } = data,\n      { companyMap, lastActiveId } = _reduce(companies, (map, company) => {\n        const { business_entity_uuid: businessEntityId, business_entity_name: name } = company;\n        map.companyMap[businessEntityId] = name;\n        map.lastActiveId = businessEntityId;\n        return map;\n      }, { companyMap: {}, lastActiveId: '' }),\n      activeId = state.activeId || lastActiveId;\n    return update(state, {\n      list: { $set: companyMap },\n      activeId: { $set: activeId }\n    });\n  },\n  processMap = {\n    [ACTIONS.SET_ACTIVE_COMPANY]: processSetActive,\n    [ACTIONS.GET_COMPANIES_COMPLETE]: processGetCompaniesComplete\n  };\n\nexport default function (state = { activeId: '', list: {} }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _get from 'lodash/get';\nimport _isEqual from 'lodash/isEqual';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\n\nconst SIMULATED_ENTITY_NAME = 'My Business';\n\nconst\n  EMPTY_ADDRESS = {\n    address_1: '',\n    address_2: '',\n    city: '',\n    county: '',\n    state: '',\n    zip: '',\n    country: '',\n    phone: '',\n    email: ''\n  },\n  convertAddress = (address) => {\n    if (!address) {\n      return EMPTY_ADDRESS;\n    }\n    const { address_1, address_line1, address_2, address_line2, city, country, county, state, zip: zipCode, phone: phoneNumber, email } = address;\n    return {\n      addressLine1: address_1 ?? address_line1, // eslint-disable-line camelcase\n      addressLine2: address_2 ?? address_line2, // eslint-disable-line camelcase\n      city,\n      county,\n      state,\n      zipCode,\n      country,\n      email,\n      phoneNumber\n    };\n  },\n  convertUser = (user) => {\n    if (!user) {\n      return {};\n    }\n    const { first_name: firstName, middle_name: middleName, last_name: lastName, suffix, company_name: companyName, outstanding_judgments: outstandingJudgments } = user;\n\n    return _assign(convertAddress(user), {\n      firstName,\n      middleName,\n      lastName,\n      suffix,\n      companyName,\n      outstandingJudgments\n    });\n  },\n  convertMember = (user) => {\n    if (!user) {\n      return {};\n    }\n    const { manager } = user;\n\n    return _assign(convertUser(user), { manager: manager || false });\n  },\n  convertCorpUser = (user) => {\n    if (!user) {\n      return {};\n    }\n    const { title } = user;\n\n    return _assign(convertUser(user), { title: title || '' });\n  },\n  processGetCompaniesComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n\n    let domesticJurisdiction = '';\n\n    const { companies } = data,\n      companyMap = _reduce(companies, (map, company) => {\n        const\n          {\n            business_entity_uuid: businessEntityId,\n            business_entity_name: name,\n            business_entity_type: entityType,\n            business_entity_data: entityData,\n            business_entity_website_url: staticWebsiteUrl = '',\n            business_industry: businessIndustry,\n            naics_code: naicsCode = '',\n            jurisdictions: jurs = [],\n            domains,\n            domain_names: domainNames = [],\n            domain_privacy: domainPrivacy = [],\n            domestic_jurisdiction_code: domesticJurisdictionInEntity,\n            credits: creds = [],\n            business_purpose: topBusinessPurpose,\n            formation_status: formationStatus,\n            formed_by: formedBy\n          } = company,\n          {\n            address: physicalAddress = EMPTY_ADDRESS,\n            authorized_shares,\n            par_value,\n            mailing_address: mailingAddress = EMPTY_ADDRESS,\n            principal_address: principalAddress = EMPTY_ADDRESS,\n            business_purpose: nestedBusinessPurpose,\n            contact,\n            sop_contact: sopContact = null,\n            authorized_signatory: authorizedSignatory = null,\n            manager_type: managerType,\n            managers,\n            members,\n            directors,\n            officers,\n            registered_agent: registeredAgent,\n            ein = ''\n          } = entityData,\n          // business_purpose moved to the top-level entity in the current API; fall back to the\n          // nested business_entity_data for older payloads.\n          description = topBusinessPurpose || nestedBusinessPurpose,\n          formType = entityType === 'corp' ? 'CORP' : 'LLCX',\n          type = entityType === 'sole_prop' ? 'SOLE' : formType,\n          structure = managerType,\n          isPhysicalAddressEmpty = _isEqual(physicalAddress, EMPTY_ADDRESS),\n          isMailingAddressEmpty = _isEqual(mailingAddress, EMPTY_ADDRESS),\n          convertedPrincipalAddress = convertAddress(principalAddress),\n          convertedMailingAddress = convertAddress(mailingAddress),\n          convertedPhysicalAddress = convertAddress(physicalAddress),\n          usePhysicalAsMailing = !isPhysicalAddressEmpty && _isEqual(convertedPhysicalAddress, convertedMailingAddress),\n          usePhysicalAsPrincipal = !isPhysicalAddressEmpty && _isEqual(convertedPhysicalAddress, convertedPrincipalAddress),\n          useMailingAsPrincipal = !isMailingAddressEmpty && _isEqual(convertedMailingAddress, convertedPrincipalAddress),\n          credits = creds.filter((\n            {\n              credit_balance_status: creditStatus = 'inactive',\n              service_product_name_id: creditService = ''\n            }) => {\n            return creditStatus === 'active' &&\n              ['worry_free_service', 'worry_free_service_advanced', 'worry_free_service_advanced_addon']\n                .includes(creditService);\n          })\n            .map(({\n              total_credits: totalCredits = 0,\n              jurisdiction = '',\n              credit_balance_uuid: creditUUID = '',\n              created_datetime: createdDate = ''\n            }) => {\n              return {\n                count: totalCredits,\n                jurisdiction,\n                uuid: creditUUID,\n                createdDate\n              };\n            }),\n          worryFreeServiceAdvancedCredits = creds.filter((\n            {\n              credit_balance_status: creditStatus = 'inactive',\n              service_product_name_id: creditService = ''\n            }) => {\n            return creditStatus === 'active' &&\n              ['worry_free_service_advanced', 'worry_free_service_advanced_addon']\n                .includes(creditService);\n          })\n            .map(({\n              total_credits: totalCredits = 0,\n              jurisdiction = '',\n              credit_balance_uuid: creditUUID = '',\n              created_datetime: createdDate = ''\n            }) => {\n              return {\n                count: totalCredits,\n                jurisdiction,\n                uuid: creditUUID,\n                createdDate\n              };\n            }),\n          jurisdictions =  _map(jurs, (jur) => {\n            const\n              {\n                jurisdiction_code: jurisdiction,\n                jurisdiction_filing_date: filingDate = '',\n                jurisdiction_filing_number: stateId = '',\n                extra_state_info: extraStateInfo = {},\n                domestic_flag: isDomestic = false\n              } = jur,\n              {\n                state_pin: statePIN = '',\n                elective_ceo: electiveCEO = null\n              } = extraStateInfo;\n\n            if (isDomestic || !domesticJurisdiction) {\n              domesticJurisdiction = jurisdiction;\n            }\n            return {\n              jurisdiction,\n              isDomestic,\n              filingDate,\n              stateId,\n              statePIN,\n              electiveCEO: electiveCEO ? convertUser(electiveCEO) : null\n            };\n          });\n\n        if (type === 'LLCX') {\n          map[businessEntityId] = {\n            name,\n            type,\n            description,\n            ein,\n            naicsCode,\n            businessIndustry,\n            domesticJurisdiction: domesticJurisdictionInEntity || domesticJurisdiction || '',\n            staticWebsiteUrl,\n            address: convertedPhysicalAddress,\n            formationStatus,\n            formedBy,\n            principalAddress: convertedPrincipalAddress,\n            mailingAddress: convertedMailingAddress,\n            physicalAddress: convertedPhysicalAddress,\n            usePhysicalAsMailing,\n            usePhysicalAsPrincipal,\n            useMailingAsPrincipal,\n            contact: convertUser(contact),\n            sopContact: sopContact ? convertUser(sopContact) : null,\n            officialStateContact: contact ? convertUser(contact) : null,\n            authorizedSignatory: authorizedSignatory ? convertCorpUser(authorizedSignatory) : null,\n            members: _map(members, (member) => { return convertMember(member); }),\n            managers: _map(managers, (manager) => { return convertUser(manager); }),\n            structure,\n            registeredAgent: convertUser(registeredAgent),\n            credits,\n            worryFreeServiceAdvancedCredits,\n            jurisdictions,\n            domains,\n            domainNames,\n            domainPrivacy,\n            isSimulated: name === SIMULATED_ENTITY_NAME\n          };\n        } else if (type === 'CORP') {\n          map[businessEntityId] = {\n            name,\n            type,\n            description,\n            businessIndustry,\n            domesticJurisdiction,\n            ein,\n            formationStatus,\n            formedBy,\n            naicsCode,\n            staticWebsiteUrl,\n            address: convertedPhysicalAddress,\n            principalAddress: convertedPrincipalAddress,\n            mailingAddress: convertedMailingAddress,\n            physicalAddress: convertedPhysicalAddress,\n            usePhysicalAsMailing,\n            usePhysicalAsPrincipal,\n            useMailingAsPrincipal,\n            contact: convertUser(contact),\n            sopContact: sopContact ? convertUser(sopContact) : null,\n            officialStateContact: contact ? convertUser(contact) : null,\n            authorizedSignatory: authorizedSignatory ? convertCorpUser(authorizedSignatory) : null,\n            directors: _map(directors, (director) => { return convertCorpUser(director); }),\n            officers: _map(officers, (officer) => { return convertCorpUser(officer); }),\n            registeredAgent: convertUser(registeredAgent),\n            stockInfo: {\n              authorizedShares: authorized_shares,\n              valuePerShare: par_value\n            },\n            credits,\n            worryFreeServiceAdvancedCredits,\n            jurisdictions,\n            domains,\n            domainNames,\n            domainPrivacy,\n            isSimulated: name === SIMULATED_ENTITY_NAME\n          };\n        } else {\n          map[businessEntityId] = {\n            name,\n            type,\n            description,\n            ein,\n            formationStatus,\n            formedBy,\n            naicsCode,\n            businessIndustry,\n            domesticJurisdiction,\n            staticWebsiteUrl,\n            address: convertedPhysicalAddress,\n            principalAddress: convertedPrincipalAddress,\n            mailingAddress: convertedMailingAddress,\n            physicalAddress: convertedPhysicalAddress,\n            usePhysicalAsMailing,\n            usePhysicalAsPrincipal,\n            useMailingAsPrincipal,\n            members: _map(members, (member) => { return convertMember(member, managerType); }),\n            managers: [],\n            credits,\n            worryFreeServiceAdvancedCredits,\n            jurisdictions,\n            domains,\n            domainNames,\n            domainPrivacy,\n            isSimulated: name === SIMULATED_ENTITY_NAME\n          };\n        }\n        return map;\n      }, {});\n\n    return update(state, {\n      list: { $set: companyMap }\n    });\n  },\n\n  processMap = {\n    [ACTIONS.GET_COMPANIES_COMPLETE]: processGetCompaniesComplete\n  };\n\nexport default function (state = { activeId: '', list: {} }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  serviceMap = {\n    '1800_accountant': 'accountant1800',\n    accounting: 'accountingOld',\n    accounting_grow_and_scale: 'accounting',\n    accounting_quick_start: 'accounting',\n    accounting_up_and_running: 'accounting',\n    annual_report_service: 'annualReportService',\n    anonymity: 'anonymity',\n    banking: 'banking',\n    banking_resolution: 'bankingResolution',\n    basic_email: 'basicEmail',\n    beneficial_ownership_filing: 'beneficialOwnershipFiling',\n    business_license_report: 'businessLicenseReport',\n    change_of_registered_agent: 'changeOfAgent',\n    corp_amendment: 'amendment',\n    corp_formation: 'corpFormation',\n    corporate_docs: 'corporateDocs',\n    cpa_consult: 'cpaConsult',\n    dba_compliance: 'dbaCompliance',\n    dba_entity: 'dbaEntity',\n    domain_name_privacy: 'domainNamePrivacy',\n    domain_name_reg: 'domainName',\n    ein_creation: 'ein',\n    entity_name_reservation: 'nameReservation',\n    expedite: 'expedite',\n    future_file_date: 'futureFileDate',\n    initial_cpa_screening: 'initialCPAScreening',\n    insurance: 'insurance',\n    llc_amendment: 'amendment',\n    llc_formation: 'llcFormation',\n    logo_kit: 'logoKit',\n    ny_publication: 'nyPublication',\n    ongoing_bof_compliance: 'ongoingBofCompliance',\n    operating_agreement: 'operatingAgreement',\n    other: 'other',\n    registered_agent_service: 'registeredAgent',\n    rush: 'expedite',\n    s_corp_designation: 'sCorpDesignation',\n    smb_ecomm_addon: 'smbEcommAddon',\n    smb_website_ecomm_bundle: 'smbWebsiteEcommBundle',\n    standard_good_standing: 'goodStanding',\n    static_website: 'staticWebsite',\n    tax_preparation: 'taxPreparation',\n    wfg_initial_report: 'wfgInitialReport',\n    worry_free_service: 'worryFree',\n    zb_money_essential: 'zbmEssential',\n    zb_money_pro: 'zbmPro'\n  },\n  getOrderUpdates = (order, updates) => {\n    const { order_uuid: orderId, order_items: orderItems, business_entity_uuid: businessEntityId } = order;\n\n    // Remove cancelled order items - without it accounts are prevented from re-ordering canceled orders\n    const nonCancelledOrders = orderItems.filter((item) => {\n      return item && item.status !== 'canceled';\n    });\n\n    const items = _reduce(nonCancelledOrders, (collect, data) => {\n      const serv = _get(data, 'service', ''),\n        isCanceled = _get(data, 'status', '') === 'canceled';\n\n      if (serv && !isCanceled) {\n        if (serv.indexOf('starter_plan') !== -1 || serv.indexOf('pro_plan') !== -1 || serv.indexOf('premium_plan') !== -1) {\n          collect.planLevel = orderId;\n        } else {\n          collect[serviceMap[serv] || serv] = orderId;\n        }\n      }\n      return collect;\n    }, {\n      accountant1800: '',\n      accounting: '',\n      accountingOld: '',\n      amendment: '',\n      annualReportService: '',\n      anonymity: '',\n      banking: '',\n      bankingResolution: '',\n      basicEmail: '',\n      beneficialOwnershipFiling: '',\n      businessLicenseReport: '',\n      changeOfAgent: '',\n      corpFormation: '',\n      corporateDocs: '',\n      cpaConsult: '',\n      dbaCompliance: '',\n      dbaEntity: '',\n      domainName: '',\n      domainNamePrivacy: '',\n      ein: '',\n      expedite: '',\n      futureFileDate: '',\n      goodStanding: '',\n      initialCPAScreening: '',\n      insurance: '',\n      llcFormation: '',\n      logoKit: '',\n      nameReservation: '',\n      nyPublication: '',\n      ongoingBofCompliance: '',\n      operatingAgreement: '',\n      other: '',\n      registeredAgent: '',\n      sCorpDesignation: '',\n      smbEcommAddon: '',\n      smbWebsiteEcommBundle: '',\n      staticWebsite: '',\n      taxPreparation: '',\n      wfgInitialReport: '',\n      worryFree: '',\n      zbmEssential: '',\n      zbmPro: '',\n      planLevel: ''\n    });\n\n    if (!updates[businessEntityId]) {\n      updates[businessEntityId] = items;\n    } else {\n      _reduce(items, (collect, item, key) => {\n        if (item) {\n          collect[key] = item;\n        }\n        return collect;\n      }, updates[businessEntityId]);\n    }\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      getOrderUpdates(order, updates);\n    });\n    return update(state, _reduce(updates, (collect, up, key) => {\n      collect[key] = { $set: up };\n      return collect;\n    }, {}));\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.business_entity_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\n\nconst\n  convertDate = (dateStr) => {\n    try {\n      return Date.parse(dateStr);\n    } catch (e) {\n      return null;\n    }\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders: orderList } = data,\n      orders = orderList.sort((a, b) => {\n        const aDate = convertDate(a.created_datetime),\n          bDate = convertDate(b.created_datetime);\n        return aDate < bDate ? 1 : -1;\n      }),\n      idMap = _reduce(orders, (map, order) => {\n        const { order_status: orderStatus, order_uuid: orderId, business_entity_uuid: businessEntityId } = order;\n\n        if (orderStatus === 'incomplete') {\n          // Here, we need to determine if the order is an operating agreement.\n          // API-934: guard against slim payloads where order_items may be absent\n          const isOpAgree = !!_find(order.order_items || [], (oi) => {\n            return oi.service === 'operating_agreement';\n          });\n          if (!isOpAgree) {\n            return map;\n          }\n        }\n\n        if (map[businessEntityId]) {\n          map[businessEntityId].push(orderId);\n        } else {\n          map[businessEntityId] = [ orderId ];\n        }\n        return map;\n      }, {});\n\n    return update(state, _reduce(idMap, (updates, value, key) => {\n      updates[key] = { $set: value };\n      return updates;\n    }, {}));\n  },\n  processMap = {\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete\n  };\n\nexport default function (state = { loaded: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _map from 'lodash/map';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_INITIALCPASCREENING_ACTIONS } from '../../constants/register_initialcpascreening';\nimport { ACTIONS as REG_GS_ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REG_LOGOKIT_ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_SMB_WEBSITE_ACTIONS } from '../../constants/register_smb_website';\nimport { ACTIONS as REG_SMB_WEBSITE_ECOMM_ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport { ACTIONS as REG_SMB_ECOMM_ADDON_ACTIONS } from '../../constants/register_smb_ecomm_addon';\nimport { ACTIONS as REG_SMB_WEBSITE_OR_ECOMM_ACTIONS } from '../../constants/register_smb_website_or_ecomm';\n\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\n\nconst\n  getBusinessType = (entityType) => {\n    if (entityType === 'corp') {\n      return 'CORP';\n    }\n    if (entityType === 'llc') {\n      return 'LLCX';\n    }\n    if (entityType === 'sole_prop') {\n      return 'SOLE';\n    }\n    return '';\n  },\n  getCompanyUpdates = (company, hasKey) => {\n    const { active_flag: isActive, business_entity_uuid: businessEntityId, domestic_jurisdiction_code: domesticJurisdiction, business_entity_data: companyData } = company,\n      { business_entity_name: name, business_entity_type: entityType } = company,\n      { ein = '', address } = companyData;\n\n    if (!hasKey) {\n      return {\n        [businessEntityId]: { $set: {\n          isActive, ein, domesticJurisdiction, address, name, type: getBusinessType(entityType)\n        } }\n      };\n    }\n    return {\n      [businessEntityId]: {\n        isActive: { $set: isActive },\n        ein: { $set: ein },\n        name: { $set: name },\n        type: { $set: getBusinessType(entityType) },\n        domesticJurisdiction: { $set: domesticJurisdiction },\n        address: { $set: address }\n      }\n    };\n  },\n  processGetCompanies = (state) => {\n    return update(state, {\n      loading: { $set: true },\n      loaded: { $set: false },\n      needsRefresh: { $set: false }\n    });\n  },\n  processGetCompaniesComplete = (state, action, data) => {\n    if (action.error) {\n      return update(state, {\n        loading: { $set: false },\n        loaded: { $set: false },\n        actionError: { $set: 3000 }\n      });\n    }\n    const { companies } = data,\n      updates = {},\n      ids = _map(companies, (company) => {\n        _assign(updates, getCompanyUpdates(company, !!state[company.business_entity_uuid]));\n        return company.business_entity_uuid;\n      });\n\n    _assign(updates, {\n      loading: { $set: false },\n      loaded: { $set: true },\n      needsRefresh: { $set: false },\n      ids: { $set: ids },\n      actionError: { $set: 0 }\n    });\n    return update(state, updates);\n  },\n  processGetCompanyComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getCompanyUpdates(data, !!state[data.business_entity_uuid]));\n  },\n  refreshCompanies = (state, action, data, reducerData) => {\n    const { business = {} } = reducerData || {},\n      { status = 'incomplete' } = business;\n\n    if (action.error || status === 'incomplete') {\n      return state;\n    }\n    return update(state, {\n      needsRefresh: { $set: true }\n    });\n  },\n  refreshCompaniesNoStatusCheck = (state, action) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, {\n      needsRefresh: { $set: true }\n    });\n  },\n  processMap = {\n    [ACTIONS.GET_COMPANIES]: processGetCompanies,\n    [ACTIONS.GET_COMPANIES_COMPLETE]: processGetCompaniesComplete,\n    [ACTIONS.GET_COMPANY_COMPLETE]: processGetCompanyComplete,\n    [CORP_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshCompanies,\n    [EIN_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshCompanies,\n    [LLC_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshCompanies,\n    [POSTPURCHASE_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshCompanies,\n    [BUSINESS_ACTIONS.UPDATE_BUSINESS_COMPLETE]: refreshCompaniesNoStatusCheck,\n    [REG_ACCOUNTING_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_BASICEMAIL_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_BLR_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_BUSINESS_ACTIONS.CREATE_BUSINESS_COMPLETE]: refreshCompaniesNoStatusCheck,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_DBA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_EIN_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_INITIALCPASCREENING_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_GS_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_LOGOKIT_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REGISTRATION_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_SMB_WEBSITE_ACTIONS]: refreshCompanies,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS]: refreshCompanies,\n    [REG_SMB_ECOMM_ADDON_ACTIONS]: refreshCompanies,\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS]: refreshCompanies\n  };\n\nexport default function (state = { loading: false, loaded: false, needsRefresh: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    reducerData = _get(action, 'payload.reducerData', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data, reducerData) : state;\n}\n","import { combineReducers } from 'redux';\n\nimport companies from './companies';\nimport data from './data';\nimport items from './items';\nimport orders from './orders';\nimport status from './status';\n\nexport default combineReducers({\n  companies,\n  data,\n  items,\n  orders,\n  status\n});\n","import _assign from 'lodash/assign';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\n\nconst\n  convertDate = (dateStr) => {\n    if (!dateStr) {\n      return 0;\n    }\n    try {\n      return Date.parse(dateStr);\n    } catch (e) {\n      return 0;\n    }\n  },\n  getFileUpdates = (file, companyId, hasKey) => {\n    const { document_uuid: documentId, name, category, meta_data: url, created: createdDateStr } = file,\n      createdDate = convertDate(createdDateStr);\n\n    if (!hasKey) {\n      return {\n        [documentId]: { $set: {\n          documentId, name, category, url, createdDate, companyId\n        } }\n      };\n    }\n    return {\n      [documentId]: {\n        documentId: { $set: documentId },\n        name: { $set: name },\n        category: { $set: category },\n        url: { $set: url },\n        createdDate: { $set: createdDate }\n      }\n    };\n  },\n  processGetFilesComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { companyId, files } = data,\n      updates = {};\n\n    _forEach(files, (file) => {\n      _assign(updates, getFileUpdates(file, companyId, !!state[file.document_uuid]));\n    });\n    return update(state, updates);\n  },\n  processMap = {\n    [ACTIONS.GET_FILES_COMPLETE]: processGetFilesComplete\n  };\n\nexport default function (state = { loading: false, loaded: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\n\nconst\n  processDocuments = (state, action, data) => {\n    const { documents } = data;\n\n    const normalizedDocuments = [];\n\n    if (documents && documents.length > 0) {\n      documents.forEach((document) => {\n        normalizedDocuments.push({\n          id: document.corporate_document_uuid,\n          name: document.title,\n          url: document.url,\n          isOpAgree: false,\n          isOpAgreeGeneric: false,\n          isCorpBylaws: false,\n          isVirtualGuide: false,\n          isCorporateDoc: true\n        });\n      });\n    }\n\n    return update(state, {\n      all: { $set: normalizedDocuments || [] }\n    });\n  },\n  processMap = {\n    [ACTIONS.GET_FILES_COMPLETE]: processDocuments\n  };\n\nexport default function (state = { all: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _map from 'lodash/map';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\n\nconst\n  convertDate = (dateStr) => {\n    try {\n      return Date.parse(dateStr);\n    } catch (e) {\n      // DJL - Testing return getFunDate();\n      return new Date().getTime();\n    }\n  },\n  processGetFiles = (state, action, data) => {\n    const { id } = data;\n\n    return update(state, {\n      [id]: { $set: { loading: true, loaded: false, ids: [], actionError: 0 } }\n    });\n  },\n  processGetFilesComplete = (state, action, data) => {\n    const { companyId: id } = data;\n\n    if (action.error) {\n      return update(state, {\n        [id]: { $set: { loading: false, loaded: false, ids: [], actionError: 3000 } }\n      });\n    }\n\n    const { files: fileList } = data,\n      files = fileList.sort((a, b) => {\n        const aDate = convertDate(a.uploaded_date),\n          bDate = convertDate(b.uploaded_date);\n\n        return aDate < bDate ? -1 : 1;\n      }),\n      ids = _map(files, (file) => {\n        return file.document_uuid;\n      });\n\n    return update(state, {\n      [id]: { $set: { loading: false, loaded: true, ids, actionError: 0 } }\n    });\n  },\n  processMap = {\n    [ACTIONS.GET_FILES]: processGetFiles,\n    [ACTIONS.GET_FILES_COMPLETE]: processGetFilesComplete\n  };\n\nexport default function (state = { loading: false, loaded: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { combineReducers } from 'redux';\n\nimport data from './data';\nimport documents from './documents';\nimport status from './status';\n\nexport default combineReducers({\n  data,\n  documents,\n  status\n});\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/initialization';\nimport { getAppEntryPoint, setAppEntryPoint } from '../../utils/AppEntryPoint';\n\nconst\n  INITIAL_STATE = {\n    entryPoint: getAppEntryPoint()\n  },\n  update = (state, info) => {\n    return updateHelper(state, info);\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const data = _get(action, 'payload.data', {});\n\n  switch (action.type) {\n\n    case ACTIONS.SET_APP_ENTRY_POINT: {\n      return update(state, {\n        entryPoint: { $set: setAppEntryPoint(data ? data.entryPoint : '') }\n      });\n    }\n    default:\n      return state;\n  }\n}\n","import _get from 'lodash/get';\nimport { ACTIONS } from '../../constants/initialization';\n\nconst INITIAL_STATE = {\n  plans: {},\n  coupons: {}\n};\n\nexport default function (state = INITIAL_STATE, action) {\n  const { plans, coupons } = _get(action, 'payload.data', {});\n\n  switch (action.type) {\n    case ACTIONS.SET_INITIALIZATION: {\n      return {\n        ...state,\n        plans,\n        coupons\n      };\n    }\n    default:\n      return state;\n  }\n}\n","import { combineReducers } from 'redux';\n\nimport entryPoint from './entryPoint';\nimport fees from './fees';\nimport pricing from './pricing';\n\nexport default combineReducers({\n  entryPoint,\n  fees,\n  pricing\n});\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'accounting_grow_and_scale' || service === 'accounting_quick_start' || service === 'accounting_up_and_running';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { service, business_entity_type: entityType, business_entity_name: name, jurisdiction: domesticJurisdiction } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            service,\n            businessType,\n            name,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          service: { $set: service },\n          businessType: { $set: businessType },\n          name: { $set: name },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOwner = (owner, contact) => {\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = owner,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '', email = '', phone: phoneNumber = '' } = owner,\n      { citizenship, ownership_percentage: percentFloat, date_of_birth: dob, role, ein } = owner,\n      percent = `${percentFloat}`,\n      { first_name: contactFirstName = '', middle_name: contactMiddleName = '', last_name: contactLastName = '', suffix: contactSuffix = '', company_name: contactCompanyName = '' } = contact,\n      accountOwner = firstName === contactFirstName && middleName === contactMiddleName && lastName === contactLastName && suffix === contactSuffix && companyName === contactCompanyName;\n\n    return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, county, state, zipCode, country, email, phoneNumber, citizenship, percent, dob, role, ein, accountOwner };\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'accounting';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, business_entity_address: address, business_purpose: description } = item,\n        { corporation_type: taxedAsSCorp, jurisdiction: domesticJurisdiction, phone: phoneNumber, ein } = item,\n        { has_bank_accounts: hasBankAccounts, bank_accounts: bankAccounts, has_credit_cards: hasCreditCards, credit_cards: creditCards } = item,\n        { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '' } = address,\n        { naics: businessActivity, naics_description: businessActivityOther, company_members: ownerList, business_entity_contact: contact } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX',\n        owners = _map(ownerList, (owner) => {\n          return getOwner(owner, contact);\n        });\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType,\n            name,\n            description,\n            taxedAsSCorp,\n            domesticJurisdiction,\n            phoneNumber,\n            addressLine1,\n            addressLine2,\n            city,\n            county,\n            state,\n            zipCode,\n            country,\n            ein,\n            businessActivity,\n            businessActivityOther,\n            owners,\n            hasBankAccounts,\n            bankAccounts,\n            hasCreditCards,\n            creditCards\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          description: { $set: description },\n          domesticJurisdiction: { $set: domesticJurisdiction },\n          phoneNumber: { $set: phoneNumber },\n          taxedAsSCorp: { $set: taxedAsSCorp },\n          addressLine1: { $set: addressLine1 },\n          addressLine2: { $set: addressLine2 },\n          city: { $set: city },\n          county: { $set: county },\n          state: { $set: state },\n          zipCode: { $set: zipCode },\n          country: { $set: country },\n          ein: { $set: ein },\n          businessActivity: { $set: businessActivity },\n          businessActivityOther: { $set: businessActivityOther },\n          owners: { $set: owners },\n          hasBankAccounts: { $set: hasBankAccounts },\n          bankAccounts: { $set: bankAccounts },\n          hasCreditCards: { $set: hasCreditCards },\n          creditCards: { $set: creditCards }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_amendment' || service === 'corp_amendment';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, jurisdiction: domesticJurisdiction } = item,\n        { amendment_type: type, amendment_description: description } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType,\n            name,\n            type,\n            description,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          type: { $set: type },\n          description: { $set: description },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOwner = (owner, contact, numOwners) => {\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = owner,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '', email = '', phone: phoneNumber = '' } = owner,\n      { citizenship, ownership_percentage: percentFloat, date_of_birth: dob, role, ein } = owner,\n      percent = `${percentFloat}`,\n      { first_name: contactFirstName = '', middle_name: contactMiddleName = '', last_name: contactLastName = '', suffix: contactSuffix = '', company_name: contactCompanyName = '' } = contact || {},\n      accountOwner = (contact === null && numOwners === 1) || (firstName === contactFirstName && middleName === contactMiddleName && lastName === contactLastName && suffix === contactSuffix && companyName === contactCompanyName);\n\n    return { firstName, middleName, lastName, companyName, addressLine1, addressLine2, city, county, state, zipCode, country, email, phoneNumber, citizenship, percent, dob, role, ein, accountOwner, access: true };\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'banking';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, business_entity_address: address, business_purpose: description } = item,\n        { jurisdiction: domesticJurisdiction, phone: phoneNumber, business_dba_name: dbas, ein } = item,\n        { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '' } = address,\n        { naics: businessActivity, naics_description: businessActivityOther, bank_account_members: ownerList, business_entity_contact: contact } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX',\n        owners = _map(ownerList, (owner) => {\n          return getOwner(owner, contact, ownerList.length);\n        });\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType, name, description, domesticJurisdiction, phoneNumber, addressLine1, addressLine2, city, county, state, zipCode, country, dbas, ein, businessActivity, businessActivityOther, owners\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          description: { $set: description },\n          domesticJurisdiction: { $set: domesticJurisdiction },\n          phoneNumber: { $set: phoneNumber },\n          addressLine1: { $set: addressLine1 },\n          addressLine2: { $set: addressLine2 },\n          city: { $set: city },\n          county: { $set: county },\n          state: { $set: state },\n          zipCode: { $set: zipCode },\n          country: { $set: country },\n          dbas: { $set: dbas },\n          ein: { $set: ein },\n          businessActivity: { $set: businessActivity },\n          businessActivityOther: { $set: businessActivityOther },\n          owners: { $set: owners }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getFormationProductUpdates = (orderId, item, hasKey) => {\n    const\n      { service,\n        entity_type: entityType = '',\n        alternates = [],\n        address,\n        mailing_address: mailingAddress = null,\n        jurisdiction: requestedJurisdiction,\n        domestic_jurisdiction: domesticJurisdiction = item.jurisdiction,\n        foreign_jurisdictions: foreignJurisdictions = [],\n        domestic_entity: domesticEntity = true,\n        has_foriegn_jurisdictions: hasForeignJurisdictions = false,\n        domestic_filing_date: domesticFilingDate = '',\n        state_id: stateId = '',\n        business_purpose: description = '',\n        business_industry: businessIndustry = '',\n        phone: phoneNumber = '',\n        authorized_shares: authorizedShares = '',\n        par_value: valuePerShare = ''\n      } = item,\n      // API-934: slim order_data nests entity_name under create_data\n      name = _get(item, 'entity_name', null) || _get(item, 'create_data.entity_name', null),\n      formType = entityType === 'corp' ? 'CORP' : 'LLCX',\n      productType = entityType === 'sole_prop' ? 'SOLE' : formType,\n      serviceType = service === 'corp_formation' ? 'CORP' : 'LLCX',\n      type = entityType ? productType : serviceType,\n      addressTop = address || item || {},\n      ma = mailingAddress || addressTop || {},\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', country = 'US' } = addressTop,\n      { address_1: mailingAddressLine1 = '', address_2: mailingAddressLine2 = '', city: mailingCity = '', county: mailingCounty = '', state: mailingState = '', zip: mailingZipCode = '', mailingCountry = 'US' } = ma;\n\n    if (!hasKey) {\n      return {\n        [orderId]: { $set: {\n          type,\n          name,\n          description,\n          businessIndustry,\n          requestedJurisdiction,\n          domesticJurisdiction,\n          foreignJurisdictions,\n          domesticEntity,\n          hasForeignJurisdictions,\n          domesticFilingDate,\n          stateId,\n          alternates,\n          authorizedShares,\n          valuePerShare,\n          addressLine1,\n          addressLine2,\n          city,\n          county,\n          state: addrState,\n          zipCode,\n          country,\n          mailingAddressLine1,\n          mailingAddressLine2,\n          mailingCity,\n          mailingCounty,\n          mailingState,\n          mailingZipCode,\n          mailingCountry,\n          phoneNumber\n        } }\n      };\n    }\n    return {\n      [orderId]: {\n        type: { $set: type },\n        name: { $set: name },\n        description: { $set: description },\n        businessIndustry: { $set: businessIndustry },\n        requestedJurisdiction: { $set: requestedJurisdiction },\n        domesticJurisdiction: { $set: domesticJurisdiction },\n        foreignJurisdictions: { $set: foreignJurisdictions },\n        domesticEntity: { $set: domesticEntity },\n        hasForeignJurisdictions: { $set: hasForeignJurisdictions },\n        domesticFilingDate: { $set: domesticFilingDate },\n        stateId: { $set: stateId },\n        alternates: { $set: alternates },\n        authorizedShares: { $set: authorizedShares },\n        valuePerShare: { $set: valuePerShare },\n        addressLine1: { $set: addressLine1 },\n        addressLine2: { $set: addressLine2 },\n        city: { $set: city },\n        county: { $set: county },\n        state: { $set: addrState },\n        zipCode: { $set: zipCode },\n        country: { $set: country },\n        mailingAddressLine1: { $set: mailingAddressLine1 },\n        mailingAddressLine2: { $set: mailingAddressLine2 },\n        mailingCity: { $set: mailingCity },\n        mailingCounty: { $set: mailingCounty },\n        mailingState: { $set: mailingState },\n        mailingZipCode: { $set: mailingZipCode },\n        mailingCountry: { $set: mailingCountry },\n        phoneNumber: { $set: phoneNumber }\n      }\n    };\n  },\n  getEntityProductUpdates = (orderId, item, hasKey) => {\n    const\n      { business_entity_name: name,\n        business_entity_type: entityType,\n        business_entity_address: address = {},\n        jurisdiction: requestedJurisdiction,\n        domestic_jurisdiction: domesticJurisdiction = item.jurisdiction,\n        foreign_jurisdictions: foreignJurisdictions = [],\n        domestic_entity: domesticEntity = true,\n        has_foriegn_jurisdictions: hasForeignJurisdictions = false,\n        domestic_filing_date: domesticFilingDate = '',\n        state_id: stateId = '',\n        business_purpose: description = '',\n        business_industry: businessIndustry = '',\n        phone: phoneNumber = ''\n      } = item,\n      formType = entityType === 'CORP' ? 'CORP' : 'LLCX',\n      type = entityType === 'SOLE' ? 'SOLE' : formType,\n      addressTop = address,\n      ma = address,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', country = 'US' } = addressTop,\n      { address_1: mailingAddressLine1 = '', address_2: mailingAddressLine2 = '', city: mailingCity = '', county: mailingCounty = '', state: mailingState = '', zip: mailingZipCode = '', mailingCountry = 'US' } = ma;\n\n    if (!hasKey) {\n      return {\n        [orderId]: { $set: {\n          type,\n          name,\n          description,\n          businessIndustry,\n          requestedJurisdiction,\n          domesticJurisdiction,\n          foreignJurisdictions,\n          domesticEntity,\n          hasForeignJurisdictions,\n          domesticFilingDate,\n          stateId,\n          alternates: [],\n          authorizedShares: 0,\n          valuePerShare: 0,\n          addressLine1,\n          addressLine2,\n          city,\n          county,\n          state: addrState,\n          zipCode,\n          country,\n          mailingAddressLine1,\n          mailingAddressLine2,\n          mailingCity,\n          mailingCounty,\n          mailingState,\n          mailingZipCode,\n          mailingCountry,\n          phoneNumber\n        } }\n      };\n    }\n    return {\n      [orderId]: {\n        type: { $set: type },\n        name: { $set: name },\n        description: { $set: description },\n        businessIndustry: { $set: businessIndustry },\n        requestedJurisdiction: { $set: requestedJurisdiction },\n        domesticJurisdiction: { $set: domesticJurisdiction },\n        foreignJurisdictions: { $set: foreignJurisdictions },\n        domesticEntity: { $set: domesticEntity },\n        hasForeignJurisdictions: { $set: hasForeignJurisdictions },\n        domesticFilingDate: { $set: domesticFilingDate },\n        stateId: { $set: stateId },\n        alternates: { $set: [] },\n        authorizedShares: { $set: 0 },\n        valuePerShare: { $set: 0 },\n        addressLine1: { $set: addressLine1 },\n        addressLine2: { $set: addressLine2 },\n        city: { $set: city },\n        county: { $set: county },\n        state: { $set: addrState },\n        zipCode: { $set: zipCode },\n        country: { $set: country },\n        mailingAddressLine1: { $set: mailingAddressLine1 },\n        mailingAddressLine2: { $set: mailingAddressLine2 },\n        mailingCity: { $set: mailingCity },\n        mailingCounty: { $set: mailingCounty },\n        mailingState: { $set: mailingState },\n        mailingZipCode: { $set: mailingZipCode },\n        mailingCountry: { $set: mailingCountry }\n      }\n    };\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid: orderId, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ein_creation' || service === 'business_license_report' || service === 'entity_name_reservation' || service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product,\n      entityProduct = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'banking' || service === 'insurance' || service === 'accounting';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (item) {\n      return getFormationProductUpdates(orderId, item, hasKey);\n    }\n    if (entityProduct) {\n      return getEntityProductUpdates(orderId, entityProduct, hasKey);\n    }\n    return {\n      [orderId]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processGetOrderTasksComplete = (state, action) => {\n    if (action.error) {\n      return state;\n    }\n    // getOrderTasks (actions/orders) dispatches the raw task array under `payload.orderTasks`,\n    // not nested under `payload.data.order_tasks`, so read it from the action directly.\n    const orderTasks = _get(action, 'payload.orderTasks', []),\n      updates = {};\n\n    _forEach(orderTasks, (task) => {\n      const { order_task_uuid: orderTaskUuid, order_uuid: orderId, order_task_type: orderTaskType, order_task_data: orderTaskData = {} } = task;\n      if (orderTaskData.skip) {\n        updates[orderId] = { $set: orderTaskUuid };\n      }\n      // Retain the formation task's share data here so the stock pages can read it back on re-entry.\n      // `corpFormation` is a RESERVED, non-orderId key — consumers read this slice by explicit key.\n      if (orderTaskType === 'corp_formation') {\n        updates.corpFormation = {\n          $set: {\n            orderTaskUuid,\n            orderItemUuid: task.order_item_uuid,\n            jurisdiction: task.order_task_jurisdiction,\n            authorizedShares: orderTaskData.authorized_shares,\n            parValue: orderTaskData.par_value,\n            stateFees: orderTaskData.state_fees\n          }\n        };\n      }\n    });\n    return update(state, updates);\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete,\n    [ACTIONS.GET_ORDER_TASKS]: processGetOrderTasksComplete,\n    [ACTIONS.GET_ORDER_TASKS_COMPLETE]: processGetOrderTasksComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _isEqual from 'lodash/isEqual';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  EMPTY_ADDRESS = {\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    stateName: '',\n    country: '',\n    zipCode: '',\n    lat: 0,\n    lng: 0,\n    addressIsGoogle: false\n  },\n  getAddress = (address) => {\n    return {\n      addressLine1: address.address_1,\n      addressLine2: address.address_2,\n      city: address.city,\n      county: address.county,\n      state: address.state,\n      country: address.country,\n      zipCode: address.zip,\n      lat: address.lat,\n      lng: address.lng,\n      addressIsGoogle: address.address_is_google\n    };\n  },\n  getAddressSet = (address) => {\n    return {\n      addressLine1: { $set: address.address_1 },\n      addressLine2: { $set: address.address_2 },\n      city: { $set: address.city },\n      county: { $set: address.county },\n      state: { $set: address.state },\n      country: { $set: address.country },\n      zipCode: { $set: address.zipCode },\n      lat: { $set: address.lat },\n      lng: { $set: address.lng },\n      addressIsGoogle: { $set: address.address_is_google }\n    };\n  },\n  getFormationProductUpdates = (orderId, item, hasKey) => {\n    const\n      {\n        address = EMPTY_ADDRESS,\n        mailing_address: mailAddr = EMPTY_ADDRESS,\n        principal_address: prinAddr = EMPTY_ADDRESS\n      } = item,\n      physAddr = address || item || EMPTY_ADDRESS,\n      usePhysicalAsMailing = _isEqual(physAddr, mailAddr),\n      usePhysicalAsPrincipal = _isEqual(physAddr, prinAddr),\n      useMailingAsPrincipal = _isEqual(mailAddr, prinAddr);\n\n    if (!hasKey) {\n      return {\n        [orderId]: { $set: {\n          principal: getAddress(prinAddr),\n          mailing: getAddress(mailAddr),\n          physical: getAddress(physAddr),\n          usePhysicalAsMailing,\n          usePhysicalAsPrincipal,\n          useMailingAsPrincipal\n        } }\n      };\n    }\n    return {\n      [orderId]: {\n        principal: getAddressSet(prinAddr),\n        mailing: getAddressSet(mailAddr),\n        physical: getAddressSet(physAddr),\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal },\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n      }\n    };\n  },\n  getEntityProductUpdates = (orderId, item, hasKey) => {\n    const\n      {\n        business_entity_address: physAddr = EMPTY_ADDRESS,\n        mailing_address: mailAddr = EMPTY_ADDRESS,\n        principal_address: prinAddr = EMPTY_ADDRESS\n      } = item,\n      usePhysicalAsMailing = _isEqual(physAddr, mailAddr),\n      usePhysicalAsPrincipal = _isEqual(physAddr, prinAddr),\n      useMailingAsPrincipal = _isEqual(mailAddr, prinAddr);\n\n    if (!hasKey) {\n      return {\n        [orderId]: { $set: {\n          principal: getAddress(prinAddr),\n          mailing: getAddress(mailAddr),\n          physical: getAddress(physAddr),\n          usePhysicalAsMailing,\n          usePhysicalAsPrincipal,\n          useMailingAsPrincipal\n        } }\n      };\n    }\n    return {\n      [orderId]: {\n        principal: getAddressSet(prinAddr),\n        mailing: getAddressSet(mailAddr),\n        physical: getAddressSet(physAddr),\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal },\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n      }\n    };\n  },\n  getEINProductUpdates = (orderId, item, hasKey) => {\n    const\n      {\n        principal_address: prinAddr = EMPTY_ADDRESS,\n        mailing_address: mailAddr = EMPTY_ADDRESS,\n        address: physAddr = EMPTY_ADDRESS\n      } = item,\n      usePhysicalAsMailing = _isEqual(physAddr, mailAddr),\n      usePhysicalAsPrincipal = _isEqual(physAddr, prinAddr),\n      useMailingAsPrincipal = _isEqual(mailAddr, prinAddr);\n\n    if (!hasKey) {\n      return {\n        [orderId]: { $set: {\n          principal: getAddress(prinAddr),\n          mailing: getAddress(mailAddr),\n          physical: getAddress(physAddr),\n          usePhysicalAsMailing,\n          usePhysicalAsPrincipal,\n          useMailingAsPrincipal\n        } }\n      };\n    }\n    return {\n      [orderId]: {\n        principal: getAddressSet(prinAddr),\n        mailing: getAddressSet(mailAddr),\n        physical: getAddressSet(physAddr),\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal },\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n      }\n    };\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid: orderId, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      einProduct = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ein_creation' || service === 'business_license_report';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'entity_name_reservation' || service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product,\n      entityProduct = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'banking' || service === 'insurance' || service === 'accounting';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (item) {\n      return getFormationProductUpdates(orderId, item, hasKey);\n    }\n    if (einProduct) {\n      return getEINProductUpdates(orderId, einProduct, hasKey);\n    }\n    if (entityProduct) {\n      return getEntityProductUpdates(orderId, entityProduct, hasKey);\n    }\n    return {\n      [orderId]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'business_kit';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { service, business_kit: businessKit, requestedJurisdiction, type, standalone } = item;\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            service,\n            businessKit,\n            requestedJurisdiction,\n            type,\n            standalone\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          service: { $set: service },\n          businessKit: { $set: businessKit },\n          requestedJurisdiction: { $set: requestedJurisdiction },\n          type: { $set: type },\n          standalone: { $set: standalone }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ein_creation' || service === 'business_license_report' || service === 'entity_name_reservation' || service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { contact = {} } = item,\n        { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = contact,\n        { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '', email = '', phone: phoneNumber = '' } = contact;\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            firstName, middleName, lastName, suffix, companyName, email, phoneNumber, addressLine1, addressLine2, city, county, state, zipCode, country\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          firstName: { $set: firstName },\n          middleName: { $set: middleName },\n          lastName: { $set: lastName },\n          suffix: { $set: suffix },\n          companyName: { $set: companyName },\n          email: { $set: email },\n          phoneNumber: { $set: phoneNumber },\n          addressLine1: { $set: addressLine1 },\n          addressLine2: { $set: addressLine2 },\n          city: { $set: city },\n          county: { $set: county },\n          state: { $set: state },\n          zipCode: { $set: zipCode },\n          country: { $set: country }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  convertUser = (user) => {\n    if (!user) {\n      return null;\n    }\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = user,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '' } = user;\n\n    return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, title };\n  },\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation' || service === 'ny_publication';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        {\n          contact: primaryContact = null,\n          sop_contact: sopContact = null,\n          authorized_signatory: authorizedSignatory = null\n        } = item,\n        users = {\n          primaryContact: convertUser(primaryContact),\n          officialStateContact: convertUser(primaryContact),\n          sopContact: convertUser(sopContact),\n          authorizedSignatory: convertUser(authorizedSignatory)\n        };\n\n      return {\n        [order_uuid]: { $set: users }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      items = _reduce(orderArray, (collect, data) => {\n        const service = _get(data, 'service', '');\n        if (service === 'dba_entity') {\n          collect.push(data);\n        }\n        return collect;\n      }, []);\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (items.length > 0) {\n      const dbas = _map(items, (item) => {\n        const { dba_name: name, county = '', city = '', jurisdiction: requestedJurisdiction } = item;\n        return { name, requestedJurisdiction, county, city };\n      });\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            dbas\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          dbas: { $set: dbas }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation' || service === 'ny_publication';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { directors } = item,\n        convertedDirectors = _map(directors, (director) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = director,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '', outstandingJudgment = null } = director;\n\n          return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, title, outstandingJudgment };\n        });\n\n      return {\n        [order_uuid]: { $set: convertedDirectors }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'domain_name_reg';\n      }),\n      emailItem = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'basic_email';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    const\n      {\n        primary = '',\n        alternates = [],\n        skip = false,\n        jurisdiction: domesticJurisdiction = ''\n      } = item || {},\n      {\n        email_address: emailUserName = '',\n        skip: emailSkip = null,\n        jurisdiction: emailDomesticJurisdiction = ''\n      } = emailItem || {};\n\n    if (item || emailItem) {\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            primary,\n            alternates,\n            skip,\n            emailUserName,\n            emailSkip,\n            domesticJurisdiction: domesticJurisdiction || emailDomesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          primary: { $set: primary },\n          alternates: { $set: alternates },\n          skip: { $set: skip },\n          emailUserName: { $set: emailUserName },\n          emailSkip: { $set: emailSkip },\n          domesticJurisdiction: { $set: domesticJurisdiction || emailDomesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  /* eslint-disable max-statements */\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      productEIN = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ein_creation';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (productEIN) {\n      const { business_data: businessData = {}, tax_info: taxInfo = {}, responsible_party: user = {}, address: physicalAddress = {}, phone: phoneNumber = '', county = '', trade_names: dbas = '' } = productEIN,\n        { reason = '', member_count: memberCount = 0 } = productEIN,\n        { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state: addrState = '', zip: zipCode = '', country = 'US' } = physicalAddress,\n        {\n          first_name: firstName = '',\n          middle_name: middleName = '',\n          last_name: lastName = '',\n          company_name: companyName = '',\n          address_1: userAddressLine1 = '',\n          address_2: userAddressLine2 = '',\n          city: userCity = '',\n          county: userCounty = '',\n          state: userState = '',\n          zip: userZipCode = '',\n          country: userCountry = 'US',\n          phone: userPhoneNumber = '',\n          email: userEmail = '',\n          legal_name: legalName = '',\n          ein_number: einNumber = '',\n          suffix = '',\n          ssn_itin: ssn = '',\n          previous_ein: previousEin = false,\n          alternate_last_names: alternateLastNames = [],\n          has_ssn: hasSSN,\n          collect_data_from_user: collectDataFromUser = false\n        } = user,\n        responsibleParty = {\n          firstName,\n          middleName,\n          lastName,\n          companyName,\n          addressLine1: userAddressLine1,\n          addressLine2: userAddressLine2,\n          city: userCity,\n          county: userCounty,\n          state: userState,\n          zipCode: userZipCode,\n          country: userCountry,\n          phoneNumber: userPhoneNumber,\n          email: userEmail,\n          legalName,\n          hasSSN,\n          ein: einNumber,\n          suffix,\n          ssn,\n          previousEin,\n          alternateLastNames,\n          collectDataFromUser\n        };\n\n      businessData.activity = businessData.activity || {};\n      const\n        hasDBAs = !!dbas,\n        llcMarried = taxInfo.members_are_married || null,\n        llcSingleMember = taxInfo.taxed_as_single_member_llc || null,\n        taxedAsSCorp = taxInfo.taxed_as_s_corp || null,\n        corpCareOf = businessData.corp_care_of || '',\n        corpClosingMonth = businessData.corp_closing_month || 'December',\n        startDate = businessData.start_date || '',\n        gambling = businessData.gambling || null,\n        atf = businessData.alcohol_tobacco_firearms || null,\n        employeesW2 = businessData.employees_with_w2 || null,\n        w2WagesPaidDate = businessData.w2_wages_paid_date || '',\n        w2AgriculturalEmployeeCount = businessData.w2_agricultural_employees_count || 0,\n        w2OtherEmployeeCount = businessData.w2_other_employees_count || 0,\n        w2WagesLessThan1000 = businessData.w2_wages_lt_1000 || null,\n        motorVehicle = businessData.highway_vehicle || null,\n        motorVehicleWeight = businessData.highway_vehicle_over_55000 || null,\n        businessForm720 = businessData.files_form_720 || null,\n        businessActivity1 = businessData.activity.level_1 || '',\n        businessActivity2 = businessData.activity.level_2 || '',\n        businessActivity3 = businessData.activity.level_3 || '',\n        businessActivity4 = businessData.activity.level_4 || '',\n        businessActivity5 = businessData.activity.level_5 || '',\n        businessActivitySpecify = businessData.activity.specify || '';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            responsibleParty,\n            phoneNumber,\n            addressLine1,\n            addressLine2,\n            city,\n            county,\n            state: addrState,\n            zipCode,\n            country,\n            reason,\n            hasDBAs,\n            dbas,\n            llcMarried,\n            llcSingleMember,\n            taxedAsSCorp,\n            memberCount,\n            corpCareOf,\n            corpClosingMonth,\n            startDate,\n            gambling,\n            atf,\n            employeesW2,\n            w2WagesPaidDate,\n            w2AgriculturalEmployeeCount,\n            w2OtherEmployeeCount,\n            w2WagesLessThan1000,\n            motorVehicle,\n            motorVehicleWeight,\n            businessForm720,\n            businessActivity1,\n            businessActivity2,\n            businessActivity3,\n            businessActivity4,\n            businessActivity5,\n            businessActivitySpecify\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          responsibleParty: { $set: responsibleParty },\n          county: { $set: county },\n          phoneNumber: { $set: phoneNumber },\n          addressLine1: { $set: addressLine1 },\n          addressLine2: { $set: addressLine2 },\n          city: { $set: city },\n          state: { $set: addrState },\n          zipCode: { $set: zipCode },\n          country: { $set: country },\n          reason: { $set: reason },\n          hasDBAs: { $set: hasDBAs },\n          dbas: { $set: dbas },\n          llcMarried: { $set: llcMarried },\n          llcSingleMember: { $set: llcSingleMember },\n          taxedAsSCorp: { $set: taxedAsSCorp },\n          corpCareOf: { $set: corpCareOf },\n          corpClosingMonth: { $set: corpClosingMonth },\n          startDate: { $set: startDate },\n          memberCount: { $set: memberCount },\n          gambling: { $set: gambling },\n          atf: { $set: atf },\n          employeesW2: { $set: employeesW2 },\n          w2WagesPaidDate: { $set: w2WagesPaidDate },\n          w2AgriculturalEmployeeCount: { $set: w2AgriculturalEmployeeCount },\n          w2OtherEmployeeCount: { $set: w2OtherEmployeeCount },\n          w2WagesLessThan1000: { $set: w2WagesLessThan1000 },\n          motorVehicle: { $set: motorVehicle },\n          motorVehicleWeight: { $set: motorVehicleWeight },\n          businessForm720: { $set: businessForm720  },\n          businessActivity1: { $set: businessActivity1 },\n          businessActivity2: { $set: businessActivity2 },\n          businessActivity3: { $set: businessActivity3 },\n          businessActivity4: { $set: businessActivity4 },\n          businessActivity5: { $set: businessActivity5 },\n          businessActivitySpecify: { $set: businessActivitySpecify }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  /* eslint-enable max-statements */\n\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'future_file_date';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { jurisdiction: requestedJurisdiction, future_filing_date: futureFilingDate, filing_action: filingAction } = item,\n        // API-934: slim order_data nests entity_name under create_data\n        name = _get(item, 'entity_name', null) || _get(item, 'create_data.entity_name', null);\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            name,\n            requestedJurisdiction,\n            futureFilingDate,\n            filingAction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          name: { $set: name },\n          requestedJurisdiction: { $set: requestedJurisdiction },\n          futureFilingDate: { $set: futureFilingDate },\n          filingAction: { $set: filingAction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'standard_good_standing';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, jurisdiction: state, formation_jurisdiction: domesticJurisdiction } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType,\n            name,\n            state,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          state: { $set: state },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getContact = (contact) => {\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = contact,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '', email = '', phone: phoneNumber = '' } = contact;\n\n    return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, county, state, zipCode, country, email, phoneNumber };\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'insurance';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, business_entity_address: address, business_entity_mailing_address: mailingAddress = {}, business_purpose: description } = item,\n        { jurisdiction: domesticJurisdiction, phone: phoneNumber, ein, activity } = item,\n        { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '' } = address,\n        { address_1: mailingAddressLine1 = '', address_2: mailingAddressLine2 = '', city: mailingCity = '', county: mailingCounty = '', state: mailingState = '', zip: mailingZipCode = '', country: mailingCountry = '' } = mailingAddress,\n        { level_1: businessActivity1, level_2: businessActivity2, level_3: businessActivity3, level_4: businessActivity4, level_5: businessActivity5, specify: businessActivitySpecify } = activity,\n        { business_entity_contact: insContact } = item,\n        { has_website: hasWebsite = null, website = '', business_years: businessYears = '', business_income: businessIncome = '' } = item,\n        { has_insurance_claims: hasInsuranceClaims = null, has_workers_comp_claims: hasWorkersCompClaims = null, workers_comp_claims_description: workersCompClaimsDescription = '' } = item,\n        { has_property_liability_claims: hasPropertyLiabilityClaims = null, property_liability_claims_description: propertyLiabilityClaimsDescription = '' } = item,\n        { policy_start_type: policyStartType = '', policy_start_date: policyStartDate = '' } = item,\n        { liability_limit_type: liabilityLimitType = '', claim_liability_limit: claimLiabilityLimit = '', aggregate_liability_limit: aggregateLiabilityLimit = '' } = item,\n        { has_equipment_coverage: hasEquipmentCoverage = null,  equipment_type: equipmentType = '', has_equipment_mobile: hasEquipmentMobile = null, equipment_value: equipmentValue = '' } = item,\n        { has_property_coverage: hasPropertyCoverage = null, building_year_built: buildingYearBuilt = '', building_materials: buildingMaterials = '', building_stories: buildingStories = '' } = item,\n        { has_building_sprinklers: hasBuildingSprinklers = null, has_building_fire_alarm: hasBuildingFireAlarm = null, has_building_burgler_alarm: hasBuildingBurglerAlarm = null } = item,\n        { has_building_other_addresses: hasBuildingOtherAddresses, building_other_address_list: buildingOtherAddressList = [] } = item,\n        { has_workers_comp_coverage: hasWorkersCompCoverage = null, has_other_coverage: hasOtherCoverage = null, other_coverage_list: otherCoverageList = [], other_coverage_description: otherCoverageDescription = '' } = item,\n        contact = getContact(insContact),\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType,\n            name,\n            description,\n            domesticJurisdiction,\n            phoneNumber,\n            addressLine1,\n            addressLine2,\n            city,\n            county,\n            state,\n            zipCode,\n            country,\n            mailingAddressLine1,\n            mailingAddressLine2,\n            mailingCity,\n            mailingCounty,\n            mailingState,\n            mailingZipCode,\n            mailingCountry,\n            contact,\n            ein,\n            businessActivity1,\n            businessActivity2,\n            businessActivity3,\n            businessActivity4,\n            businessActivity5,\n            businessActivitySpecify,\n            hasWebsite,\n            website,\n            businessYears,\n            businessIncome,\n            hasInsuranceClaims,\n            hasWorkersCompClaims,\n            workersCompClaimsDescription,\n            hasPropertyLiabilityClaims,\n            propertyLiabilityClaimsDescription,\n            policyStartType,\n            policyStartDate,\n            liabilityLimitType,\n            claimLiabilityLimit,\n            aggregateLiabilityLimit,\n            hasEquipmentCoverage,\n            equipmentType,\n            hasEquipmentMobile,\n            equipmentValue,\n            hasPropertyCoverage,\n            buildingYearBuilt,\n            buildingMaterials,\n            buildingStories,\n            hasBuildingSprinklers,\n            hasBuildingFireAlarm,\n            hasBuildingBurglerAlarm,\n            hasBuildingOtherAddresses,\n            buildingOtherAddressList,\n            hasWorkersCompCoverage,\n            hasOtherCoverage,\n            otherCoverageList,\n            otherCoverageDescription\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          description: { $set: description },\n          domesticJurisdiction: { $set: domesticJurisdiction },\n          phoneNumber: { $set: phoneNumber },\n          addressLine1: { $set: addressLine1 },\n          addressLine2: { $set: addressLine2 },\n          city: { $set: city },\n          county: { $set: county },\n          state: { $set: state },\n          zipCode: { $set: zipCode },\n          country: { $set: country },\n          mailingAddressLine1: { $set: mailingAddressLine1 },\n          mailingAddressLine2: { $set: mailingAddressLine2 },\n          mailingCity: { $set: mailingCity },\n          mailingCounty: { $set: mailingCounty },\n          mailingState: { $set: mailingState },\n          mailingZipCode: { $set: mailingZipCode },\n          mailingCountry: { $set: mailingCountry },\n          contact: { $set: contact },\n          ein: { $set: ein },\n          businessActivity1: { $set: businessActivity1 },\n          businessActivity2: { $set: businessActivity2 },\n          businessActivity3: { $set: businessActivity3 },\n          businessActivity4: { $set: businessActivity4 },\n          businessActivity5: { $set: businessActivity5 },\n          businessActivitySpecify: { $set: businessActivitySpecify },\n          hasWebsite: { $set: hasWebsite },\n          website: { $set: website },\n          businessYears: { $set: businessYears },\n          businessIncome: { $set: businessIncome },\n          hasInsuranceClaims: { $set: hasInsuranceClaims },\n          hasWorkersCompClaims: { $set: hasWorkersCompClaims },\n          workersCompClaimsDescription: { $set: workersCompClaimsDescription },\n          hasPropertyLiabilityClaims: { $set: hasPropertyLiabilityClaims },\n          propertyLiabilityClaimsDescription: { $set: propertyLiabilityClaimsDescription },\n          policyStartType: { $set: policyStartType },\n          policyStartDate: { $set: policyStartDate },\n          liabilityLimitType: { $set: liabilityLimitType },\n          claimLiabilityLimit: { $set: claimLiabilityLimit },\n          aggregateLiabilityLimit: { $set: aggregateLiabilityLimit },\n          hasEquipmentCoverage: { $set: hasEquipmentCoverage },\n          equipmentType: { $set: equipmentType },\n          hasEquipmentMobile: { $set: hasEquipmentMobile },\n          equipmentValue: { $set: equipmentValue },\n          hasPropertyCoverage: { $set: hasPropertyCoverage },\n          buildingYearBuilt: { $set: buildingYearBuilt },\n          buildingMaterials: { $set: buildingMaterials },\n          buildingStories: { $set: buildingStories },\n          hasBuildingSprinklers: { $set: hasBuildingSprinklers },\n          hasBuildingFireAlarm: { $set: hasBuildingFireAlarm },\n          hasBuildingBurglerAlarm: { $set: hasBuildingBurglerAlarm },\n          hasBuildingOtherAddresses: { $set: hasBuildingOtherAddresses },\n          buildingOtherAddressList: { $set: buildingOtherAddressList },\n          hasWorkersCompCoverage: { $set: hasWorkersCompCoverage },\n          hasOtherCoverage: { $set: hasOtherCoverage },\n          otherCoverageList: { $set: otherCoverageList },\n          otherCoverageDescription: { $set: otherCoverageDescription }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\nimport { setOrderDataSentDuringRegistration } from '../../utils/OrderDataTrackService';\n\nconst\n  serviceMap = {\n    '1800_accountant': 'accountant1800',\n    accounting: 'accountingOld',\n    accounting_grow_and_scale: 'accounting',\n    accounting_quick_start: 'accounting',\n    accounting_up_and_running: 'accounting',\n    annual_report_service: 'annualReportService',\n    anonymity: 'anonymity',\n    banking: 'banking',\n    banking_resolution: 'bankingResolution',\n    basic_email: 'basicEmail',\n    beneficial_ownership_filing: 'beneficialOwnershipFiling',\n    business_license_report: 'businessLicenseReport',\n    change_of_registered_agent: 'changeOfAgent',\n    corp_amendment: 'amendment',\n    corp_formation: 'corpFormation',\n    corporate_docs: 'corporateDocs',\n    cpa_consult: 'cpaConsult',\n    dba_compliance: 'dbaCompliance',\n    dba_entity: 'dbaEntity',\n    domain_name_privacy: 'domainNamePrivacy',\n    domain_name_reg: 'domainName',\n    ein_creation: 'ein',\n    entity_name_reservation: 'nameReservation',\n    expedite: 'expedite',\n    future_file_date: 'futureFileDate',\n    initial_cpa_screening: 'initialCPAScreening',\n    insurance: 'insurance',\n    llc_amendment: 'amendment',\n    llc_formation: 'llcFormation',\n    logo_kit: 'logoKit',\n    ny_publication: 'nyPublication',\n    ongoing_bof_compliance: 'ongoingBofCompliance',\n    operating_agreement: 'operatingAgreement',\n    other: 'other',\n    registered_agent_service: 'registeredAgent',\n    rush: 'expedite',\n    s_corp_designation: 'sCorpDesignation',\n    smb_ecomm_addon: 'smbEcommAddon',\n    smb_website_ecomm_bundle: 'smbWebsiteEcomm',\n    standard_good_standing: 'goodStanding',\n    static_website: 'staticWebsite',\n    tax_preparation: 'taxPreparation',\n    wfg_initial_report: 'wfgInitialReport',\n    worry_free_service: 'worryFree',\n    zb_money_essential: 'zbmEssential',\n    zb_money_pro: 'zbmPro'\n  },\n\n  getOrderUpdates = (order, hasKey) => {\n    const { order_uuid, order_items: orderItems } = order,\n      items = _reduce(orderItems, (collect, data) => {\n        const serv = _get(data, 'service', ''),\n          isCanceled = _get(data, 'status', '') === 'canceled';\n\n        if (serv && !isCanceled) {\n          if (serv.indexOf('starter_plan') !== -1 || serv.indexOf('pro_plan') !== -1 || serv.indexOf('premium_plan') !== -1) {\n            collect.planLevel = data;\n          } else if (serv === 'dba_entity') {\n            if (!collect.dbaEntity) {\n              collect.dbaEntity = [];\n            }\n            collect.dbaEntity.push(data);\n          } else if (serv === 'registered_agent_service') {\n            if (!collect.registeredAgent) {\n              collect.registeredAgent = [];\n            }\n            collect.registeredAgent.push(data);\n          } else if (serv === 'change_of_registered_agent') {\n            if (!collect.changeOfAgent) {\n              collect.changeOfAgent = [];\n            }\n            collect.changeOfAgent.push(data);\n          } else if (serv === 'worry_free_service') {\n            if (!collect.worryFree) {\n              collect.worryFree = [];\n            }\n            collect.worryFree.push(data);\n          } else {\n            collect[serviceMap[serv] || serv] = data;\n          }\n        }\n        return collect;\n      }, {\n        accountant1800: null,\n        accounting: null,\n        accountingOld: null,\n        amendment: null,\n        annualReportService: null,\n        anonymity: null,\n        banking: null,\n        bankingResolution: null,\n        basicEmail: null,\n        beneficialOwnershipFiling: null,\n        businessLicenseReport: null,\n        changeOfAgent: null,\n        corpFormation: null,\n        corporateDocs: null,\n        cpaConsult: null,\n        dbaCompliance: null,\n        dbaEntity: null,\n        domainName: null,\n        domainNamePrivacy: null,\n        ein: null,\n        expedite: null,\n        futureFileDate: null,\n        goodStanding: null,\n        initialCPAScreening: null,\n        insurance: null,\n        llcFormation: null,\n        logoKit: null,\n        nameReservation: null,\n        nyPublication: null,\n        ongoingBofCompliance: null,\n        operatingAgreement: null,\n        other: null,\n        registeredAgent: null,\n        sCorpDesignation: null,\n        smbEcommAddon: null,\n        smbWebsiteEcomm: null,\n        smbWebsiteOrEcomm: null,\n        staticWebsite: null,\n        taxPreparation: null,\n        wfgInitialReport: null,\n        worryFree: null,\n        zbmEssential: null,\n        zbmPro: null,\n        planLevel: null\n      });\n\n    if (!hasKey) {\n      return {\n        [order_uuid]: { $set: items }\n      };\n    }\n    return {\n      [order_uuid]: {\n        accountant1800: { $set: items.accountant1800 },\n        accounting: { $set: items.accounting },\n        accountingOld: { $set: items.accountingOld },\n        amendment: { $set: items.amendment },\n        annualReportService: { $set: items.annualReportService },\n        anonymity: { $set: items.anonymity },\n        banking: { $set: items.banking },\n        bankingResolution: { $set: items.bankingResolution },\n        basicEmail: { $set: items.basicEmail },\n        beneficialOwnershipFiling: { $set: items.beneficialOwnershipFiling },\n        businessLicenseReport: { $set: items.businessLicenseReport },\n        changeOfAgent: { $set: items.changeOfAgent },\n        corpFormation: { $set: items.corpFormation },\n        corporateDocs: { $set: items.corporateDocs },\n        cpaConsult: { $set: items.cpaConsult },\n        dbaCompliance: { $set: items.dbaCompliance },\n        dbaEntity: { $set: items.dbaEntity },\n        domainName: { $set: items.domainName },\n        domainNamePrivacy: { $set: items.domainNamePrivacy },\n        ein: { $set: items.ein },\n        expedite: { $set: items.expedite },\n        futureFileDate: { $set: items.futureFileDate },\n        goodStanding: { $set: items.goodStanding },\n        initialCPAScreening: { $set: items.initialCPAScreening },\n        insurance: { $set: items.insurance },\n        llcFormation: { $set: items.llcFormation },\n        logoKit: { $set: items.logoKit },\n        nameReservation: { $set: items.nameReservation },\n        nyPublication: { $set: items.nyPublication },\n        ongoingBofCompliance: { $set: items.ongoingBofCompliance },\n        operatingAgreement: { $set: items.operatingAgreement },\n        other: { $set: items.other },\n        registeredAgent: { $set: items.registeredAgent },\n        sCorpDesignation: { $set: items.sCorpDesignation },\n        smbEcommAddon: { $set: items.smbEcommAddon },\n        smbWebsiteEcomm: { $set: items.smbWebsiteEcomm },\n        smbWebsiteOrEcomm: { $set: items.smbWebsiteOrEcomm },\n        staticWebsite: { $set: items.staticWebsite },\n        taxPreparation: { $set: items.taxPreparation },\n        wfgInitialReport: { $set: items.wfgInitialReport },\n        worryFree: { $set: items.worryFree },\n        zbmEssential: { $set: items.zbmEssential },\n        zbmPro: { $set: items.zbmPro },\n        planLevel: { $set: items.planLevel }\n      }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      // keep in memory which services were sent during registration\n      setOrderDataSentDuringRegistration(order.order_data, order.order_uuid);\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _filter from 'lodash/filter';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  convertUser = (user) => {\n    if (!user) {\n      return null;\n    }\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = user,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '' } = user;\n\n    return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, title };\n  },\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      registeredAgents = _filter(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'registered_agent_service';\n      }),\n      raAddresses = _reduce(registeredAgents, (collect, ra) => {\n        collect[ra.jurisdiction] = ra.registered_agent;\n        return collect;\n      }, {}),\n      item = registeredAgents.length > 0 ? registeredAgents[0] : null;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        {\n          is_cora: isCoRA = false,\n          jurisdiction: requestedJurisdiction,\n          domestic_jurisdiction: domJur = item.jurisdiction,\n          domestic_jurisdiction_filing_date: domesticJurisdictionFilingDate = '',\n          domestic_jurisdiction_filing_number: domesticJurisdictionStateId = '',\n          domestic_jurisdiction_state_info: domesticJurisdictionStateInfo = {},\n          foreign_jurisdiction_objects: foriegnJurisdictionObjects = []\n        } = item,\n        {\n          jurisdiction_state_pin: domesticJurisdictionStatePIN = '',\n          jurisdiction_elective_ceo: domesticJurisdictionElectiveCEO = null\n        } = domesticJurisdictionStateInfo,\n        domesticJurisdiction = {\n          isRequested: requestedJurisdiction === domJur,\n          isDomestic: true,\n          jurisdiction: domJur,\n          filingDate: domesticJurisdictionFilingDate,\n          stateId: domesticJurisdictionStateId,\n          statePIN: domesticJurisdictionStatePIN,\n          electiveCEO: convertUser(domesticJurisdictionElectiveCEO),\n          registeredAgent: convertUser(raAddresses[domJur])\n        },\n        foreignJurisdictions = _map(foriegnJurisdictionObjects, (fjo) => {\n          const\n            {\n              jurisdiction_code: jurisdiction,\n              jurisdiction_filing_date: filingDate,\n              jurisdicion_filing_number: stateId,\n              extra_state_info: extraStateInfo = {}\n            } = fjo,\n            {\n              state_pin: statePIN = '',\n              elective_ceo: electiveCEO = null\n            } = extraStateInfo;\n\n          return {\n            isRequested: true,\n            isDomestic: false,\n            jurisdiction,\n            filingDate,\n            stateId,\n            statePIN,\n            electiveCEO: convertUser(electiveCEO),\n            registeredAgent: convertUser(raAddresses[jurisdiction])\n          };\n        }),\n        data = {\n          isCoRA,\n          domesticJurisdiction,\n          foreignJurisdictions\n        };\n\n      return {\n        [order_uuid]: { $set: data }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'logo_kit';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, jurisdiction: state, formation_jurisdiction: domesticJurisdiction } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType,\n            name,\n            state,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          state: { $set: state },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation' || service === 'ny_publication';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { managers } = item,\n        convertedManagers = _map(managers, (manager) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = manager,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '', outstandingJudgment = null } = manager;\n\n          return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, outstandingJudgment };\n        });\n\n      return {\n        [order_uuid]: { $set: convertedManagers }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation' || service === 'ny_publication';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { members } = item,\n        convertedMembers = _map(members, (member) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', manager = false } = member,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '', outstandingJudgment = '' } = member;\n\n          return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, manager, outstandingJudgment };\n        });\n\n      return {\n        [order_uuid]: { $set: convertedMembers }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (item) {\n      const\n        {\n          ny_publication_county: nyPubCounty,\n          jurisdiction: domesticJurisdiction\n        } = item;\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            nyPubCounty,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          nyPubCounty: { $set: nyPubCounty },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation' || service === 'ny_publication';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { officers } = item,\n        convertedOfficers = _map(officers, (officer) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = officer,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '', outstandingJudgment = false } = officer;\n\n          return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, title, outstandingJudgment };\n        });\n\n      return {\n        [order_uuid]: { $set: convertedOfficers }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'operating_agreement';\n      });\n\n    /* Allow incomplete orders here\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    */\n    if (item) {\n      const\n        {\n          business_entity_name: businessName,\n          business_entity_type: businessType,\n          jurisdiction: domesticJurisdiction,\n          is_generic: isGeneric = false,\n          managers: initManagers,\n          members: initMembers,\n          address,\n          llc_business_address: initLLCBusinessAddress,\n          llc_mailing_address: initLLCMailingAddress,\n          email: businessEmail,\n          preemptive_rights: preemptiveRights,\n          right_of_first_refusal: rightOfFirstRefusal,\n          financial_report_frequency: financialReportFrequency,\n          internal_financial_audit: internalFinancialAudit,\n          tax_advances: taxAdvances,\n          day_to_day_majority: dayToDayMajority,\n          meeting_of_members_majority: meetingOfMembersMajority,\n          pass_action_without_meeting_majority: passActionWithoutMeetingMajority,\n          amendment_majority: amendmentMajority,\n          terminate_company_majority: terminateCompanyMajority,\n          amend_oa_or_formation: amendOAorFormation,\n          issue_additional_membership: issueAdditionalMembership,\n          appoint_remove_auditors: appointRemoveAuditors,\n          amend_related_party_agreement: amendRelatedPartyAgreement,\n          enter_equity_transactions: enterEquityTransactions,\n          enter_asset_transactions: enterAssetTransactions,\n          establish_subsidiary: establishSubsidiary,\n          offering_and_securities: offeringAndSecurities,\n          fundamental_business_transaction: fundamentalBusinessTransaction,\n          liquidate_or_terminate: liquidateOrTerminate,\n          cancel_liquidate_or_terminate: cancelLiquidateOrTerminate,\n          reinstate_after_termination: reinstateAfterTermination,\n          change_manager: changeManager,\n          members_remove_manager: membersRemoveManager,\n          fill_manager_vacancy: fillManagerVacancy,\n          capital_contribution_approval: capitalContributionApproval,\n          capital_contribution_amount: capitalContributionAmount,\n          make_investment_approval: makeInvestmentApproval,\n          make_investment_amount: makeInvestmentAmount,\n          incur_indebtedness_approval: incurIndebtednessApproval,\n          incur_indebtedness_onetime_amount: incurIndebtednessOneTimeAmount,\n          incur_indebtedness_total_amount: incurIndebtednessTotalAmount,\n          settle_lawsuit_approval: settleLawsuitApproval,\n          settle_lawsuit_amount: settleLawsuitAmount\n        } = item,\n        { type: mailingAddressType, address_1: mailingAddressLine1 = '', address_2: mailingAddressLine2 = '', city: mailingCity = '', county: mailingCounty = '', state: mailingState = '', zip: mailingZipCode = '' } = address || {},\n        llcBusinessAddress = initLLCBusinessAddress ? {\n          addressLine1: initLLCBusinessAddress.address_1,\n          addressLine2: initLLCBusinessAddress.address_2,\n          city: initLLCBusinessAddress.city,\n          state: initLLCBusinessAddress.state,\n          zipCode: initLLCBusinessAddress.zip\n        } : { addressLine1: '', addressLine2: '', city: '', state: '', zipCode: '' },\n        llcMailingAddress = initLLCMailingAddress ? {\n          addressLine1: initLLCMailingAddress.address_1,\n          addressLine2: initLLCMailingAddress.address_2,\n          city: initLLCMailingAddress.city,\n          state: initLLCMailingAddress.state,\n          zipCode: initLLCMailingAddress.zip\n        } : { addressLine1: '', addressLine2: '', city: '', state: '', zipCode: '' },\n        managers = _map(initManagers || [], (m) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = m,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '' } = m,\n            { partnership_rep: partnershipRep = false, manager_notice: managerNotice = false } = m;\n\n          return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, partnershipRep, managerNotice };\n        }),\n        members = _map(initMembers || [], (m) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', manager = false } = m,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '', email_disabled: emailDisabled = false, phone_disabled: phoneNumberDisabled = false } = m,\n            { title = '', membership_interest: membershipInterest = '', marital_status: maritalStatus = null, spouse_name: spouseName = '', primary_member: primaryMember = false } = m,\n            { partnership_rep: partnershipRep = false, official_notice: officialNotice = false, manager_notice: managerNotice = false } = m;\n\n          return {\n            firstName,\n            middleName,\n            lastName,\n            suffix,\n            companyName,\n            addressLine1,\n            addressLine2,\n            city,\n            state,\n            zipCode,\n            email,\n            phoneNumber,\n            manager,\n            title,\n            membershipInterest,\n            maritalStatus,\n            spouseName,\n            primaryMember,\n            partnershipRep,\n            officialNotice,\n            managerNotice,\n            emailDisabled,\n            phoneNumberDisabled\n          };\n        });\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            orderStatus,\n            businessName,\n            businessType,\n            domesticJurisdiction,\n            isGeneric,\n            members,\n            managers,\n            llcBusinessAddress,\n            llcMailingAddress,\n            mailingAddressType,\n            mailingAddressLine1,\n            mailingAddressLine2,\n            mailingCity,\n            mailingCounty,\n            mailingState,\n            mailingZipCode,\n            businessEmail,\n            preemptiveRights,\n            rightOfFirstRefusal,\n            financialReportFrequency,\n            internalFinancialAudit,\n            taxAdvances,\n\n            dayToDayMajority,\n            meetingOfMembersMajority,\n            passActionWithoutMeetingMajority,\n            amendmentMajority,\n            terminateCompanyMajority,\n\n            amendOAorFormation,\n            issueAdditionalMembership,\n            appointRemoveAuditors,\n            amendRelatedPartyAgreement,\n            enterEquityTransactions,\n            enterAssetTransactions,\n            establishSubsidiary,\n            offeringAndSecurities,\n            fundamentalBusinessTransaction,\n            liquidateOrTerminate,\n            cancelLiquidateOrTerminate,\n            reinstateAfterTermination,\n            changeManager,\n            membersRemoveManager,\n            fillManagerVacancy,\n\n            capitalContributionApproval,\n            capitalContributionAmount,\n            makeInvestmentApproval,\n            makeInvestmentAmount,\n            incurIndebtednessApproval,\n            incurIndebtednessOneTimeAmount,\n            incurIndebtednessTotalAmount,\n            settleLawsuitApproval,\n            settleLawsuitAmount\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          orderStatus: { $set: orderStatus },\n          isGeneric: { $set: isGeneric },\n          businessName: { $set: businessName },\n          businessType: { $set: businessType },\n          domesticJurisdiction: { $set: domesticJurisdiction },\n          members: { $set: members },\n          managers: { $set: managers },\n          llcBusinessAddress: { $set: llcBusinessAddress },\n          llcMailingAddress: { $set: llcMailingAddress },\n          mailingAddressType: { $set: mailingAddressType },\n          mailingAddressLine1: { $set: mailingAddressLine1 },\n          mailingAddressLine2: { $set: mailingAddressLine2 },\n          mailingCity: { $set: mailingCity },\n          mailingCounty: { $set: mailingCounty },\n          mailingState: { $set: mailingState },\n          mailingZipCode: { $set: mailingZipCode },\n          businessEmail: { $set: businessEmail },\n          preemptiveRights: { $set: preemptiveRights },\n          rightOfFirstRefusal: { $set: rightOfFirstRefusal },\n          financialReportFrequency: { $set: financialReportFrequency },\n          internalFinancialAudit: { $set: internalFinancialAudit },\n          taxAdvances: { $set: taxAdvances },\n          dayToDayMajority: { $set: dayToDayMajority },\n          meetingOfMembersMajority: { $set: meetingOfMembersMajority },\n          passActionWithoutMeetingMajority: { $set: passActionWithoutMeetingMajority },\n          amendmentMajority: { $set: amendmentMajority },\n          terminateCompanyMajority: { $set: terminateCompanyMajority },\n          amendOAorFormation: { $set: amendOAorFormation },\n          issueAdditionalMembership: { $set: issueAdditionalMembership },\n          appointRemoveAuditors: { $set: appointRemoveAuditors },\n          amendRelatedPartyAgreement: { $set: amendRelatedPartyAgreement },\n          enterEquityTransactions: { $set: enterEquityTransactions },\n          enterAssetTransactions: { $set: enterAssetTransactions },\n          establishSubsidiary: { $set: establishSubsidiary },\n          offeringAndSecurities: { $set: offeringAndSecurities },\n          fundamentalBusinessTransaction: { $set: fundamentalBusinessTransaction },\n          liquidateOrTerminate: { $set: liquidateOrTerminate },\n          cancelLiquidateOrTerminate: { $set: cancelLiquidateOrTerminate },\n          reinstateAfterTermination: { $set: reinstateAfterTermination },\n          changeManager: { $set: changeManager },\n          membersRemoveManager: { $set: membersRemoveManager },\n          fillManagerVacancy: { $set: fillManagerVacancy },\n          capitalContributionApproval: { $set: capitalContributionApproval },\n          capitalContributionAmount: { $set: capitalContributionAmount },\n          makeInvestmentApproval: { $set: makeInvestmentApproval },\n          makeInvestmentAmount: { $set: makeInvestmentAmount },\n          incurIndebtednessApproval: { $set: incurIndebtednessApproval },\n          incurIndebtednessOneTimeAmount: { $set: incurIndebtednessOneTimeAmount },\n          incurIndebtednessTotalAmount: { $set: incurIndebtednessTotalAmount },\n          settleLawsuitApproval: { $set: settleLawsuitApproval },\n          settleLawsuitAmount: { $set: settleLawsuitAmount }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'other';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (item) {\n      const\n        {\n          service_description : description,\n          jurisdiction: domesticJurisdiction\n        } = item;\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            description,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          description: { $set: description },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  /* eslint-disable max-statements */\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      starterPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('starter_plan') !== -1 && service.indexOf('ra_') === -1;\n      }),\n      proPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('pro_plan') !== -1 && service.indexOf('ra_') === -1;\n      }),\n      premiumPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('premium_plan') !== -1 && service.indexOf('ra_') === -1;\n      }),\n      raStarterPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('starter_plan') !== -1 && service.indexOf('ra_') !== -1;\n      }),\n      raProPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('pro_plan') !== -1 && service.indexOf('ra_') !== -1;\n      }),\n      raPremiumPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('premium_plan') !== -1 && service.indexOf('ra_') !== -1;\n      }),\n      planItem = starterPlan || proPlan || premiumPlan || raStarterPlan || raProPlan || raPremiumPlan,\n      plan = planItem ? planItem.plan : null;\n\n    let planLevel = '';\n    if (starterPlan) {\n      planLevel = 'level1';\n    } else if (proPlan) {\n      planLevel = 'level2';\n    } else if (premiumPlan) {\n      planLevel = 'level3';\n    } else if (raStarterPlan) {\n      planLevel = 'raLevel1';\n    } else if (raProPlan) {\n      planLevel = 'raLevel2';\n    } else if (raPremiumPlan) {\n      planLevel = 'raLevel3';\n    }\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (plan) {\n      const {\n        id = '',\n        '1800_accountant': accountant1800 = false,\n        accountingOld = false,\n        annual_report_service: annualReportService = false,\n        anonymity = false,\n        banking = false,\n        banking_resolution: bankingResolution = false,\n        basic_email: basicEmail = false,\n        change_of_registered_agent: changeOfAgent = false,\n        corporate_docs: corporateDocs = false,\n        cpa_consult: cpaConsult = false,\n        domain_name_reg: domainName = false,\n        domain_name_privacy: domainNamePrivacy = false,\n        ein_creation: ein = false,\n        initial_cpa_screening: initialCPAScreening = false,\n        insurance = false,\n        ny_publication: nyPublication = false,\n        operating_agreement: operatingAgreement = false,\n        registered_agent_service: privacy = false,\n        static_website: staticWebsite = false,\n        tax_preparation: taxPreparation = false,\n        worry_free_service: worryFree = false\n      } = plan;\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            planLevel,\n            id,\n            accountant1800,\n            accountingOld,\n            annualReportService,\n            anonymity,\n            banking,\n            bankingResolution,\n            basicEmail,\n            changeOfAgent,\n            corporateDocs,\n            cpaConsult,\n            domainName,\n            domainNamePrivacy,\n            ein,\n            initialCPAScreening,\n            insurance,\n            nyPublication,\n            operatingAgreement,\n            privacy,\n            staticWebsite,\n            taxPreparation,\n            worryFree\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          planLevel: { $set: planLevel },\n          id: { $set: id },\n          accountant1800: { $set: accountant1800 },\n          accountingOld: { $set: accountingOld },\n          annualReportService: { $set: annualReportService },\n          anonymity: { $set: anonymity },\n          banking: { $set: banking },\n          bankingResolution: { $set: bankingResolution },\n          basicEmail: { $set: basicEmail },\n          changeOfAgent: { $set: changeOfAgent },\n          corporateDocs: { $set: corporateDocs },\n          cpaConsult: { $set: cpaConsult },\n          domainName: { $set: domainName },\n          domainNamePrivacy: { $set: domainNamePrivacy },\n          ein: { $set: ein },\n          initialCPAScreening: { $set: initialCPAScreening },\n          insurance: { $set: insurance },\n          nyPublication: { $set: nyPublication },\n          operatingAgreement: { $set: operatingAgreement },\n          privacy: { $set: privacy },\n          staticWebsite: { $set: staticWebsite },\n          taxPreparation: { $set: taxPreparation },\n          worryFree: { $set: worryFree }\n        }\n      };\n    }\n\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  /* eslint-enable max-statements */\n\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _filter from 'lodash/filter';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\n/* eslint-disable max-statements */\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      raServices = _filter(orderArray, (data) => {\n        return _get(data, 'service', '') === 'registered_agent_service';\n      }),\n      registeredAgentService = raServices && raServices.length > 0 ? raServices[0] : null,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      registeredAgentFormation = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete' || orderStatus === 'canceled') {\n      return {};\n    }\n\n    let firstName = '',\n      middleName = '',\n      lastName = '',\n      suffix = '',\n      companyName = '',\n      email = '',\n      phoneNumber = '',\n      addressLine1 = '',\n      addressLine2 = '',\n      city = '',\n      county = '',\n      state = '',\n      zipCode = '',\n      isZen = false,\n      isOther = false;\n\n    if (registeredAgentService) {\n      const ra = registeredAgentService.registered_agent || {};\n      firstName = ra.first_name || '';\n      middleName = ra.middle_name || '';\n      lastName = ra.last_name || '';\n      suffix = ra.suffix || '';\n      companyName = ra.company_name || '';\n      email = ra.email || '';\n      phoneNumber = ra.phone_number || '';\n      addressLine1 = ra.address_1 || '';\n      addressLine2 = ra.address_2 || '';\n      city = ra.city || '';\n      county = ra.county || '';\n      state = ra.state || '';\n      zipCode = ra.zip || '';\n      isZen = true;\n    } else if (registeredAgentFormation) {\n      const ra = registeredAgentFormation.registered_agent || {};\n      firstName = ra.first_name || '';\n      middleName = ra.middle_name || '';\n      lastName = ra.last_name || '';\n      suffix = ra.suffix || '';\n      companyName = ra.company_name || '';\n      email = ra.email || '';\n      phoneNumber = ra.phone_number || '';\n      addressLine1 = ra.address_1 || '';\n      addressLine2 = ra.address_2 || '';\n      city = ra.city || '';\n      county = ra.county || '';\n      state = ra.state || '';\n      zipCode = ra.zip || '';\n      isOther = true;\n    }\n\n    const map = _reduce(raServices, (collect, serv) => {\n      const\n        jurisdiction = serv.jurisdiction,\n        ra = serv.registered_agent || {},\n        regAgt = {};\n\n      regAgt.firstName = ra.first_name || '';\n      regAgt.middleName = ra.middle_name || '';\n      regAgt.lastName = ra.last_name || '';\n      regAgt.suffix = ra.suffix || '';\n      regAgt.companyName = ra.company_name || '';\n      regAgt.email = ra.email || '';\n      regAgt.phoneNumber = ra.phone_number || '';\n      regAgt.addressLine1 = ra.address_1 || '';\n      regAgt.addressLine2 = ra.address_2 || '';\n      regAgt.city = ra.city || '';\n      regAgt.county = ra.county || '';\n      regAgt.state = ra.state || '';\n      regAgt.zipCode = ra.zip || '';\n      regAgt.isZen = true;\n      regAgt.isOther = false;\n\n      collect[jurisdiction] = regAgt;\n      return collect;\n    }, {});\n\n    if (!hasKey) {\n      return {\n        [order_uuid]: { $set: {\n          map, isZen, isOther, firstName, middleName, lastName, suffix, companyName, email, phoneNumber, addressLine1, addressLine2, city, county, state, zipCode\n        } }\n      };\n    }\n    return {\n      [order_uuid]: {\n        map: { $set: map },\n        isZen: { $set: isZen },\n        isOther: { $set: isOther },\n        firstName: { $set: firstName },\n        middleName: { $set: middleName },\n        lastName: { $set: lastName },\n        suffix: { $set: suffix },\n        companyName: { $set: companyName },\n        email: { $set: email },\n        phoneNumber: { $set: phoneNumber },\n        addressLine1: { $set: addressLine1 },\n        addressLine2: { $set: addressLine2 },\n        city: { $set: city },\n        county: { $set: county },\n        state: { $set: state },\n        zipCode: { $set: zipCode }\n      }\n    };\n  },\n  /* eslint-enable max-statements */\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _map from 'lodash/map';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_INITIALCPASCREENING_ACTIONS } from '../../constants/register_initialcpascreening';\nimport { ACTIONS as REG_GS_ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REG_LOGOKIT_ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_SMB_WEBSITE_ACTIONS } from '../../constants/register_smb_website';\nimport { ACTIONS as REG_SMB_WEBSITE_ECOMM_ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\n\nconst\n  convertDate = (dateStr) => {\n    try {\n      if (dateStr && dateStr.indexOf('T') === -1) {\n        return Date.parse(`${dateStr}T17:00:00-05:00`);\n      }\n      return Date.parse(dateStr);\n    } catch (e) {\n      return null;\n    }\n  },\n  itemOrders = {\n    ein_creation: true,\n    business_license_report: true,\n    entity_name_reservation: true,\n    ny_publication: true,\n    banking: true,\n    insurance: true,\n    accounting: true,\n    amendment: true,\n    standard_good_standing: true,\n    operating_agreement: true\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_uuid, order_status: status, created_datetime: createDateStr, status_updated_datetime: updatedTimeStr, business_entity_uuid: businessEntityId, order_data: orderData } = order,\n      createdDate = convertDate(createDateStr),\n      updatedDate = convertDate(updatedTimeStr),\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return itemOrders[service];\n      }),\n      item = formation || dbaEntity || product || {},\n      { estimated_formation_date: efd = null } = item,\n      estimatedFormationDate = efd ? convertDate(efd) : null;\n\n    if (status === 'incomplete' && _get(item, 'service', '') !== 'operating_agreement') {\n      return {};\n    }\n    if (!hasKey) {\n      return {\n        [order_uuid]: { $set: {\n          status, createdDate, updatedDate, businessEntityId, estimatedFormationDate\n        } }\n      };\n    }\n    return {\n      [order_uuid]: {\n        status: { $set: status },\n        createdDate: { $set: createdDate },\n        updatedDate: { $set: updatedDate },\n        businessEntityId: { $set: businessEntityId },\n        estimatedFormationDate: { $set: estimatedFormationDate }\n      }\n    };\n  },\n  processGetOrders = (state) => {\n    return update(state, {\n      loading: { $set: true },\n      loaded: { $set: false },\n      needsRefresh: { $set: false }\n    });\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return update(state, {\n        loading: { $set: false },\n        loaded: { $set: false },\n        actionError: { $set: action.payload.errorCode === 3001 ? 3001 : 3000 }\n      });\n    }\n    const { orders: orderList } = data,\n      orders = orderList.sort((a, b) => {\n        const aDate = convertDate(a.created_datetime),\n          bDate = convertDate(b.created_datetime);\n        return aDate < bDate ? 1 : -1;\n      }),\n      updates = {},\n      ids = _map(orders, (order) => {\n        _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n        return order.order_uuid;\n      });\n\n    _assign(updates, {\n      loading: { $set: false },\n      loaded: { $set: true },\n      needsRefresh: { $set: false },\n      ids: { $set: ids },\n      actionError: { $set: 0 }\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  refreshOrders = (state, action, data, reducerData) => {\n    const { business = {} } = reducerData || {},\n      { status = 'incomplete' } = business;\n\n    if (action.error || status === 'incomplete') {\n      return state;\n    }\n    return update(state, {\n      needsRefresh: { $set: true }\n    });\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS]: processGetOrders,\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete,\n    [BUSINESS_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [CORP_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [EIN_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [LLC_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [POSTPURCHASE_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [WFG_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [COMP_NYPUB_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_BLR_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_EIN_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_WFG_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_ACCOUNTING_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_BASICEMAIL_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_INITIALCPASCREENING_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_GS_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_LOGOKIT_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_SMB_WEBSITE_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REGISTRATION_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders\n  };\n\nexport default function (state = { loading: false, loaded: false, needsRefresh: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    reducerData = _get(action, 'payload.reducerData', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data, reducerData) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'vanity_product';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { service, vanity_product: vanityProduct, requestedJurisdiction, type, standalone } = item;\n      if (!hasKey) {\n        return {\n          [order_uuid]: {\n            $set: {\n              service,\n              vanityProduct,\n              requestedJurisdiction,\n              type,\n              standalone\n            }\n          }\n        };\n      }\n      return {\n        [order_uuid]: {\n          service: { $set: service },\n          vanityProduct: { $set: vanityProduct },\n          requestedJurisdiction: { $set: requestedJurisdiction },\n          type: { $set: type },\n          standalone: { $set: standalone }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { combineReducers } from 'redux';\n\nimport accounting from './accounting';\nimport accountingOld from './accountingOld';\nimport amendment from './amendment';\nimport banking from './banking';\nimport business from './business';\nimport businessAddresses from './businessAddresses';\nimport businessKit from './businessKit';\nimport contact from './contact';\nimport contacts from './contacts';\nimport dbaEntity from './dbaEntity';\nimport directors from './directors';\nimport domainName from './domainName';\nimport ein from './ein';\nimport futureFileDate from './futureFileDate';\nimport goodStanding from './goodStanding';\nimport insurance from './insurance';\nimport items from './items';\nimport jurisdictions from './jurisdictions';\nimport logoKit from './logoKit';\nimport managers from './managers';\nimport members from './members';\nimport nyPublication from './nyPublication';\nimport officers from './officers';\nimport operatingAgreement from './operatingAgreement';\nimport other from './other';\nimport plan from './plan';\nimport registeredAgent from './registeredAgent';\nimport status from './status';\nimport vanityProduct from './vanityProduct';\n\nexport default combineReducers({\n  accounting,\n  accountingOld,\n  amendment,\n  banking,\n  business,\n  businessAddresses,\n  businessKit,\n  contact,\n  contacts,\n  dbaEntity,\n  directors,\n  domainName,\n  ein,\n  futureFileDate,\n  goodStanding,\n  insurance,\n  items,\n  jurisdictions,\n  logoKit,\n  managers,\n  members,\n  nyPublication,\n  officers,\n  operatingAgreement,\n  other,\n  plan,\n  registeredAgent,\n  status,\n  vanityProduct\n});\n","import _assign from 'lodash/assign';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/register_account';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\n\nexport const storageKey = 'registration/account';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    createAccount: false,\n    creatingAccount: false,\n    id: '',\n    actionError: 0,\n    hasZBMPro: false\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT), { creatingAccount: false }),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAccountOwnerContact = (state) => {\n    return update(state, {\n      createAccount: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreateAccount = (state) => {\n    return update(state, {\n      createAccount: { $set: false },\n      creatingAccount: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreateAccountComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        creatingAccount: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    return update(state, {\n      id: { $set: data.id },\n      createAccount: { $set: false },\n      creatingAccount: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processAccountHasZBMoneyProSubscription = (state, action, data) => {\n    return update(state, {\n      hasZBMPro: { $set: data.hasZBMoneyProSubscription }\n    });\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [ACTIONS.CREATE_ACCOUNT]: processCreateAccount,\n    [ACTIONS.CREATE_ACCOUNT_COMPLETE]: processCreateAccountComplete,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n    [ACCOUNT_ACTIONS.GET_ACCOUNT_HAS_ZB_MONEY_PRO]: processAccountHasZBMoneyProSubscription\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/postpurchase';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc }\n    });\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.START]: resetAllData,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { ACTIONS } from '../../constants/amendment';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\n\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/amendment';\n\nconst INITIAL_STATE_DEFAULT = {\n  inProgress: false,\n  activeRoute: 'select-company',\n  didSelectOnlyAnnualReport: false,\n  didAddWFC: null,\n  fieldInfo: null,\n  filingJurisdiction: null,\n  filingJurisdictionType: null,\n  isFetchingJurisdiction: false,\n  isPurchasingWFG: false,\n  useCredit: null,\n  hasWFG: false,\n  creditUUID: '',\n  jurisdictionRules: null,\n  originalCompanyInfo: {},\n  defaultTaxPreparer: null,\n  updatedCompanyInfo: {},\n  orderCompleteBusinessId: '',\n  upcomingAnnualReportDueDate: '',\n  changingOwnership: null,\n  cardId: '',\n  cardNumber: '',\n  cardToken: '',\n  expMonth: '',\n  expYear: '',\n  cvc: '',\n  brand: '',\n  last4: '',\n  cardCreated: false,\n  actionError: 0\n};\n\nconst INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n\nconst update = (newState) => {\n  reducerStorage.store(storageKey, newState);\n  return newState;\n};\n\nconst removeFieldFromUpdatedFields = (currentUpdates, fieldName) => {\n  const updatedInfo = currentUpdates;\n\n  delete updatedInfo[fieldName];\n\n  return updatedInfo;\n};\n\nexport default (state = INITIAL_STATE, action) => {\n  switch (action.type) {\n    case ACTIONS.ADVANCE_IN_FLOW:\n      return update({\n        ...state,\n        activeRoute: action.newRouteName\n      });\n\n    case ACTIONS.FETCH_JURISDICTION_REQ:\n      return update({\n        ...state,\n        isFetchingJurisdiction: true\n      });\n\n    case ACTIONS.FETCH_JURISDICTION_COMPLETE:\n      return update({\n        ...state,\n        fieldInfo: action.fieldInfo,\n        isFetchingJurisdiction: false,\n        jurisdictionRules: action.jurisdictionRules\n      });\n\n    case ACTIONS.SET_SELECT_ONLY_ANNUAL_REPORT:\n      return update({\n        ...state,\n        didSelectOnlyAnnualReport: action.didSelectOnlyAnnualReport\n      });\n\n    case ACTIONS.SET_ADD_WFC:\n      return update({\n        ...state,\n        didAddWFC: action.didAddWFC\n      });\n\n    case ACTIONS.SET_COMPANY: {\n      if (action.company.id === state.originalCompanyInfo.id) {\n        return update({\n          ...state,\n          originalCompanyInfo: action.company,\n          filingJurisdiction: action.company.domesticJurisdiction,\n          filingJurisdictionType: 'domestic'\n        });\n      }\n      return update({\n        ...INITIAL_STATE_DEFAULT,\n        inProgress: true,\n        originalCompanyInfo: action.company,\n        filingJurisdiction: action.company.domesticJurisdiction,\n        filingJurisdictionType: 'domestic',\n        orderCompleteBusinessId: action.company.id\n      });\n    }\n\n    case ACTIONS.SET_FOREIGN_JURISDICTION:\n      return update({\n        ...state,\n        filingJurisdiction: action.jurisdictionCode\n      });\n\n    case ACTIONS.INIT:\n      return update({\n        ...INITIAL_STATE_DEFAULT,\n        inProgress: true\n      });\n\n    case ACTIONS.SET_JURISDICTION_TYPE:\n      return update({\n        ...state,\n        filingJurisdiction: action.filingJurisdiction || state.filingJurisdiction,\n        filingJurisdictionType: action.jurisdictionType\n      });\n\n    case ACTIONS.SET_DEFAULT_TAX_PREPARER:\n      return update({\n        ...state,\n        defaultTaxPreparer: action.taxPreparer\n      });\n\n    case ACTIONS.RESET_FIELD:\n      return update({\n        ...state,\n        updatedCompanyInfo: removeFieldFromUpdatedFields(state.updatedCompanyInfo, action.fieldName)\n      });\n\n    case ACTIONS.SET_FIELD:\n      return update({\n        ...state,\n        updatedCompanyInfo: {\n          ...state.updatedCompanyInfo,\n          [action.fieldName]: action.updatedFieldValue\n        }\n      });\n\n    case ACTIONS.SET_PURCHASE_WFG:\n      return update({\n        ...state,\n        isPurchasingWFG: action.isPurchasing\n      });\n\n    case ACTIONS.SET_USE_CREDIT:\n      return update({\n        ...state,\n        useCredit: action.useCredit,\n        creditUUID: action.creditUUID,\n        hasWFG: action.hasWFG\n      });\n\n    case ACTIONS.SET_CHANGING_OWNERSHIP:\n      return update({\n        ...state,\n        changingOwnership: action.changingOwnership\n      });\n\n    case ACTIONS.ARS:\n      return update({\n        ...state,\n        hasARS: action.hasARS\n      });\n\n    case ACTIONS.CREATE_ORDER_COMPLETE:\n      if (!action.error) {\n        return update({\n          ...INITIAL_STATE_DEFAULT,\n          orderCompleteBusinessId: state.orderCompleteBusinessId\n        });\n      }\n      return state;\n\n    case ACTIONS.FETCH_COMPLIANCE_EVENTS_COMPLETE:\n      return update({\n        ...state,\n        upcomingAnnualReportDueDate: action.upcomingEventDate\n      });\n\n    case ACTIONS.PAYMENT:\n      return update({\n        ...state,\n        cardId: action.payload.data.cardId,\n        cardToken: action.payload.data.cardToken,\n        expMonth: action.payload.data.expMonth,\n        expYear: action.payload.data.expYear,\n        cvc: action.payload.data.cvc,\n        brand: action.payload.data.brand,\n        last4: action.payload.data.last4\n      });\n\n    case REGISTRATION_ACTIONS.RESET:\n      return update(INITIAL_STATE_DEFAULT);\n\n    default:\n      return state;\n  }\n};\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/register_banking';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/banking';\n\nconst\n  ACCOUNT_TYPE_MAP = {\n    checking: 'checking',\n    savings: 'savings'\n  },\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    inPlan: false,\n    companyId: '',\n    businessType: '',\n    name: '',\n    description: '',\n    domesticJurisdiction: '',\n    phoneNumber: '',\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    country: '',\n    zipCode: '',\n    createdAccounting: false,\n    createdEIN: false,\n    hasExistingEIN: false,\n    createdFormation: false,\n    matchedBusinessActivity: false,\n    hasDBAs: null,\n    dbas: '',\n    hasEIN: null,\n    ein: '',\n    businessYears: '',\n    owners: {},\n    businessActivity: '',\n    businessActivityOther: '',\n    accountType: '',\n    routingNumber: '',\n    accountNumber: '',\n    fundingAmount: '',\n    publicToken: '',\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    accounts: [],\n    plaidLinkToken: {},\n    gettingFundingAccounts: false,\n    gettingPlaidLinkToken: false,\n    gettingActivities: false,\n    actionError: 0,\n    naicsCodes: {},\n    naicsSector: '',\n    naicsSubsector: '',\n    naicsIndustry: '',\n    moreInfo: false,\n    responsibleParty: {},\n    hasITIN: null,\n    itin: {},\n    itinInfo: undefined,\n    gambling: null,\n    drugsFirearms: null,\n    hasW2: null,\n    vehicle: null,\n    W_2: {},\n    W2: false,\n    purchaseEIN: false,\n    taxableVehicle: null,\n    required720Form: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processInit = (state, action, data) => {\n    const { companyId, businessType, name, domesticJurisdiction } = data;\n\n    return update(state, {\n      inProgress: { $set: false },\n      companyId: { $set: companyId },\n      businessType: { $set: businessType },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      actionError: { $set: 0 }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { inPlan = false, createdAccounting, hasExistingEIN, createdEIN, createdFormation, matchedBusinessActivity, hasEIN, ein, businessYears, businessActivity, hasDBAs, dbas, owners, purchaseEIN } = data,\n      { companyId, businessType, name, description, domesticJurisdiction, phoneNumber } = data,\n      { addressLine1, addressLine2, city, county, state: addrState, country, zipCode } = data;\n\n    return update(state, {\n      inProgress: { $set: true },\n      inPlan: { $set: inPlan },\n      createdAccounting: { $set: createdAccounting },\n      hasExistingEIN: { $set: hasExistingEIN },\n      createdEIN: { $set: createdEIN },\n      createdFormation: { $set: createdFormation },\n      companyId: { $set: companyId },\n      businessType: { $set: businessType },\n      name: { $set: name },\n      description: { $set: description },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      phoneNumber: { $set: phoneNumber },\n      addressLine1: { $set: addressLine1 },\n      addressLine2: { $set: addressLine2 },\n      city: { $set: city },\n      county: { $set: county },\n      state: { $set: addrState },\n      country: { $set: country },\n      zipCode: { $set: zipCode },\n      matchedBusinessActivity: { $set: matchedBusinessActivity },\n      hasEIN: { $set: hasEIN },\n      ein: { $set: ein ? _trim(ein) : '' },\n      purchaseEIN: { $set: purchaseEIN },\n      businessYears: { $set: businessYears || '0' },\n      businessActivity: { $set: businessActivity || '' },\n      businessActivityOther: { $set: '' },\n      hasDBAs: { $set: hasDBAs },\n      dbas: { $set: dbas || '' },\n      owners: { $set: owners },\n      accountType: { $set: '' },\n      routingNumber: { $set: '' },\n      accountNumber: { $set: '' },\n      fundingAmount: { $set: '' },\n      actionError: { $set: 0 }\n    });\n  },\n  processStartEIN = (state, action, data) => {\n    const { inPlan = false, createdAccounting, hasExistingEIN, createdEIN = false, createdFormation, matchedBusinessActivity, hasEIN = false, ein, businessYears, businessActivity, hasDBAs, dbas, owners } = data,\n      { companyId, businessType, name, description, domesticJurisdiction, phoneNumber } = data,\n      { addressLine1, addressLine2, city, county, state: addrState, country, zipCode } = data,\n      { responsibleParty, hasITIN, itin, itinInfo, gambling, drugsFirearms, hasW2, vehicle } = data,\n      { W2, taxableVehicle, required720Form, moreInfo } = data;\n\n    return update(state, {\n      inProgress: { $set: true },\n      inPlan: { $set: inPlan },\n      createdAccounting: { $set: createdAccounting },\n      hasExistingEIN: { $set: hasExistingEIN },\n      createdEIN: { $set: createdEIN },\n      createdFormation: { $set: createdFormation },\n      companyId: { $set: companyId },\n      businessType: { $set: businessType },\n      name: { $set: name },\n      description: { $set: description },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      phoneNumber: { $set: phoneNumber },\n      addressLine1: { $set: addressLine1 },\n      addressLine2: { $set: addressLine2 },\n      city: { $set: city },\n      county: { $set: county },\n      state: { $set: addrState },\n      country: { $set: country },\n      zipCode: { $set: zipCode },\n      matchedBusinessActivity: { $set: matchedBusinessActivity },\n      hasEIN: { $set: hasEIN },\n      ein: { $set: ein ? _trim(ein) : '' },\n      businessYears: { $set: businessYears || '0' },\n      businessActivity: { $set: businessActivity || '' },\n      businessActivityOther: { $set: '' },\n      hasDBAs: { $set: hasDBAs },\n      dbas: { $set: dbas || '' },\n      owners: { $set: owners },\n      accountType: { $set: '' },\n      routingNumber: { $set: '' },\n      accountNumber: { $set: '' },\n      fundingAmount: { $set: '' },\n      moreInfo: { $set: moreInfo },\n      responsibleParty: { $set: responsibleParty },\n      hasITIN: { $set: hasITIN },\n      itin: { $set: itin },\n      itinInfo: { $set: itinInfo },\n      gambling: { $set: gambling },\n      drugsFirearms: { $set: drugsFirearms },\n      hasW2: { $set: hasW2 },\n      vehicle: { $set: vehicle },\n      W2: { $set: W2 },\n      taxableVehicle: { $set: taxableVehicle },\n      required720Form: { $set: required720Form },\n      actionError: { $set: 0 }\n    });\n  },\n  processStartFromCompleteBusiness = (state, action, data) => {\n    const { companyId, type: businessType, name, description, domesticJurisdiction, phoneNumber, owners } = data,\n      { addressLine1, addressLine2, city, county, state: addrState, country, zipCode } = data;\n\n    return update(state, {\n      inProgress: { $set: true },\n      inPlan: { $set: false },\n      createdAccounting: { $set: false },\n      hasExistingEIN: { $set: false },\n      createdEIN: { $set: false },\n      createdFormation: { $set: false },\n      companyId: { $set: companyId },\n      businessType: { $set: businessType },\n      name: { $set: name },\n      description: { $set: description },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      phoneNumber: { $set: phoneNumber },\n      addressLine1: { $set: addressLine1 },\n      addressLine2: { $set: addressLine2 },\n      city: { $set: city },\n      county: { $set: county },\n      state: { $set: addrState },\n      country: { $set: country },\n      zipCode: { $set: zipCode },\n      matchedBusinessActivity: { $set: false },\n      hasEIN: { $set: null },\n      ein: { $set: '' },\n      businessYears: { $set: '' },\n      businessActivity: { $set: '' },\n      businessActivityOther: { $set: '' },\n      hasDBAs: { $set: null },\n      dbas: { $set: '' },\n      owners: { $set: owners },\n      accountType: { $set: '' },\n      routingNumber: { $set: '' },\n      accountNumber: { $set: '' },\n      fundingAmount: { $set: '' },\n      actionError: { $set: 0 }\n    });\n  },\n  processEIN = (state, action, data = {}) => {\n    const { ein = '' } = data;\n    return update(state, {\n      ein: { $set: _trim(ein) }\n    });\n  },\n  processHasEIN = (state, action, data) => {\n    const { hasEIN } = data;\n\n    return update(state, {\n      hasEIN: { $set: hasEIN }\n    });\n  },\n  processPurchaseEIN = (state, action, data) => {\n    const { purchaseEIN } = data;\n    return update(state, {\n      purchaseEIN: { $set: purchaseEIN },\n      ein: { $set: '' }\n    });\n  },\n  processResponsibleParty = (state, action, data) => {\n    const { responsibleParty } = data;\n\n    return update(state, {\n      responsibleParty: { $set: responsibleParty }\n    });\n  },\n  processHasITIN = (state, action, data) => {\n    const { hasITIN } = data;\n\n    return update(state, {\n      hasITIN: { $set: hasITIN }\n    });\n  },\n  processITIN = (state, action, data) => {\n    const { itin } = data;\n\n    return update(state, {\n      itin: { $set: itin }\n    });\n  },\n  processGambling = (state, action, data) => {\n    const { gambling } = data;\n    return update(state, {\n      gambling: { $set: gambling }\n    });\n  },\n  processDrugsFirearms = (state, action, data) => {\n    const { drugsFirearms } = data;\n    return update(state, {\n      drugsFirearms: { $set: drugsFirearms }\n    });\n  },\n  processHasW2 = (state, action, data) => {\n    const { hasW2 } = data;\n    return update(state, {\n      hasW2: { $set: hasW2 }\n    });\n  },\n  processW2 = (state, action, data) => {\n    const { W2 } = data;\n    return update(state, {\n      W2: { $set: W2 }\n    });\n  },\n  processVehicle = (state, action, data) => {\n    const { vehicle } = data;\n    return update(state, {\n      vehicle: { $set: vehicle }\n    });\n  },\n  processTaxableVehicle = (state, action, data) => {\n    const { taxableVehicle } = data;\n    return update(state, {\n      taxableVehicle: { $set: taxableVehicle }\n    });\n  },\n  processForm720 = (state, action, data) => {\n    const { required720Form } = data;\n    return update(state, {\n      required720Form: { $set: required720Form }\n    });\n  },\n  processBusinessYears = (state, action, data) => {\n    const { businessYears } = data;\n\n    return update(state, {\n      businessYears: { $set: businessYears }\n    });\n  },\n  processDBAs = (state, action, data) => {\n    const { dbas } = data;\n\n    return update(state, {\n      dbas: { $set: dbas }\n    });\n  },\n  processHasDBAs = (state, action, data) => {\n    const { hasDBAs } = data;\n\n    return update(state, {\n      hasDBAs: { $set: hasDBAs }\n    });\n  },\n  processBusinessActivity = (state, action, data) => {\n    const { businessActivity, businessActivityOther } = data;\n\n    return update(state, {\n      businessActivity: { $set: businessActivity },\n      businessActivityOther: { $set: businessActivityOther }\n    });\n  },\n  proccessGetNaicsCodesComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        gettingActivities: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    return update(state, {\n      gettingActivities: { $set: false },\n      actionError: { $set: 0 },\n      naicsCodes: { $set: data }\n    });\n  },\n\n  processSetNaicsSector = (state, action, data) => {\n\n    return update(state, {\n      naicsSector: { $set: data },\n      naicsSubsector: { $set: '' },\n      naicsIndustry: { $set: '' }\n    });\n  },\n\n  processSetNaicsSubsector = (state, action, data) => {\n    return update(state, {\n      naicsSubsector: { $set: data },\n      naicsIndustry: { $set: '' }\n    });\n  },\n\n  processSetNaicsIndustry = (state, action, data) => {\n    return update(state, {\n      naicsIndustry: { $set: data }\n    });\n  },\n\n  processOwners = (state, action, data) => {\n    const { owners } = data;\n\n    return update(state, {\n      owners: { $set: owners }\n    });\n  },\n  processOwnerInfo = (state, action, data) => {\n    const { owners } = data;\n\n    return update(state, {\n      owners: { $set: owners }\n    });\n  },\n  processFunding = (state, action, data) => {\n    const { fundingAmount } = data;\n\n    return update(state, {\n      fundingAmount: { $set: fundingAmount }\n    });\n  },\n  processChooseAccount = (state, action, data) => {\n    const { accountType, routingNumber, accountNumber, publicToken } = data;\n\n    return update(state, {\n      accountType: { $set: accountType },\n      routingNumber: { $set: routingNumber },\n      accountNumber: { $set: accountNumber },\n      publicToken: { $set: publicToken }\n    });\n  },\n  processAccountInfo = (state, action, data) => {\n    const { accountFullName } = data;\n\n    return update(state, {\n      accountFullName: { $set: accountFullName }\n    });\n  },\n  processDataConfirmation = (state) => {\n    return state;\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processGetFundingAccounts = (state) => {\n    return update(state, {\n      gettingFundingAccounts: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processGetFundingAccountsComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        gettingFundingAccounts: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    const accounts = _map(data.accounts, (act) => {\n      const { account_id: accountId, account_number: accountNumber, routing_number: routingNumber, subtype: accountTypeRaw, mask, balances: { available, current } } = act,\n        balance = available || current || 0;\n\n      return {\n        accountId,\n        accountType: ACCOUNT_TYPE_MAP[accountTypeRaw] || 'other',\n        accountNumber,\n        routingNumber,\n        mask,\n        balance\n      };\n    });\n    return update(state, {\n      gettingFundingAccounts: { $set: false },\n      actionError: { $set: 0 },\n      accounts: { $set: accounts }\n    });\n  },\n  processGetPlaidLink = (state) => {\n    return update(state, {\n      gettingPlaidLinkToken: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processGetPlaidLinkComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        gettingPlaidLinkToken: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    return update(state, {\n      gettingPlaidLinkToken: { $set: false },\n      actionError: { $set: 0 },\n      plaidLinkToken: { $set: data.linkToken }\n    });\n  },\n  getOwner = (owner, contact) => {\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = owner,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '', email = '', phone: phoneNumber = '' } = owner,\n      { citizenship, resident_citizen_age_acknowledge: residentCitizenAgeAck = false, ownership_percentage: percentFloat, date_of_birth: dobRaw, role, ein } = owner,\n      dob = dobRaw ? dobRaw.replace(/-/g, '/') : '',\n      percent = `${percentFloat}`,\n      { first_name: contactFirstName = '', middle_name: contactMiddleName = '', last_name: contactLastName = '', suffix: contactSuffix = '', company_name: contactCompanyName = '' } = contact,\n      accountOwner = firstName === contactFirstName && middleName === contactMiddleName && lastName === contactLastName && suffix === contactSuffix && companyName === contactCompanyName;\n\n    return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, county, state, zipCode, country, email, phoneNumber, citizenship, residentCitizenAgeAck, percent, dob, role, ein, accountOwner, access: true };\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      orderArray = orderData.order_items || orderData,\n      formationBanking = _find(orderArray, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'banking';\n      });\n\n    if (!formationBanking) {\n      return state;\n    }\n\n    const\n      { business_entity_type: entityType, business_entity_name: name, business_entity_address: address, business_purpose: description } = formationBanking,\n      { jurisdiction: domesticJurisdiction, phone: phoneNumber, business_dba_name: dbas, ein } = formationBanking,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', country = '' } = address,\n      { naics: businessActivity, naics_description: businessActivityOther, bank_account_members: ownerList, business_entity_contact: contact } = formationBanking,\n      businessType = entityType === 'CORP' ? 'CORP' : 'LLCX',\n      owners = _map(ownerList, (owner) => {\n        return getOwner(owner, contact);\n      });\n\n    return update(state, {\n      businessType: { $set: businessType },\n      name: { $set: name },\n      description: { $set: description },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      phoneNumber: { $set: phoneNumber },\n      addressLine1: { $set: addressLine1 },\n      addressLine2: { $set: addressLine2 },\n      city: { $set: city },\n      county: { $set: county },\n      state: { $set: addrState },\n      zipCode: { $set: zipCode },\n      country: { $set: country },\n      dbas: { $set: dbas },\n      ein: { $set: ein },\n      businessActivity: { $set: businessActivity },\n      businessActivityOther: { $set: businessActivityOther },\n      owners: { $set: owners }\n    });\n  },\n  /* eslint-enable max-statements */\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n    [ACTIONS.START_EIN]: processStartEIN,\n    [ACTIONS.START_FROM_COMP_BUS]: processStartFromCompleteBusiness,\n    [ACTIONS.START_PLAN]: processStart,\n    [ACTIONS.EIN]: processEIN,\n    [ACTIONS.PURCHASE_EIN]: processPurchaseEIN,\n    [ACTIONS.HAS_EIN]: processHasEIN,\n    [ACTIONS.RESPONSIBLE_PARTY]: processResponsibleParty,\n    [ACTIONS.HAS_ITIN]: processHasITIN,\n    [ACTIONS.ITIN]: processITIN,\n    [ACTIONS.GAMBLING]: processGambling,\n    [ACTIONS.DRUGS_FIREARMS]: processDrugsFirearms,\n    [ACTIONS.HAS_W2]: processHasW2,\n    [ACTIONS.W_2]: processW2,\n    [ACTIONS.VEHICLE]: processVehicle,\n    [ACTIONS.TAXABLE_VEHICLE]: processTaxableVehicle,\n    [ACTIONS.FORM_720]: processForm720,\n    [ACTIONS.DBAS]: processDBAs,\n    [ACTIONS.HAS_DBAS]: processHasDBAs,\n    [ACTIONS.BUS_YEARS]: processBusinessYears,\n    [ACTIONS.BUS_ACT]: processBusinessActivity,\n    [ACTIONS.GET_NAICS_CODES_COMPLETE]: proccessGetNaicsCodesComplete,\n    [ACTIONS.SET_NAICS_SECTOR]: processSetNaicsSector,\n    [ACTIONS.SET_NAICS_SUBSECTOR]: processSetNaicsSubsector,\n    [ACTIONS.SET_NAICS_INDUSTRY]: processSetNaicsIndustry,\n    [ACTIONS.OWNERS]: processOwners,\n    [ACTIONS.OWNER_INFO]: processOwnerInfo,\n    [ACTIONS.FUNDING]: processFunding,\n    [ACTIONS.ACCOUNT_INFO]: processAccountInfo,\n    [ACTIONS.CHOOSE_ACCOUNT]: processChooseAccount,\n    [ACTIONS.GET_FUNDING_ACCOUNTS]: processGetFundingAccounts,\n    [ACTIONS.GET_FUNDING_ACCOUNTS_COMPLETE]: processGetFundingAccountsComplete,\n    [ACTIONS.GET_PLAID_LINK_TOKEN]: processGetPlaidLink,\n    [ACTIONS.GET_PLAID_LINK_TOKEN_COMPLETE]: processGetPlaidLinkComplete,\n    [ACTIONS.DATA_CONFIRM]: processDataConfirmation,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment,\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/purchase_post_addons';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey =  'registration/bankOfAmericaOffer';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    bankOfAmericaOffer: null,\n    actionError: 0\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT), { bankOfAmericaOffer: null }),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  setBankOfAmericaOffer = (state, action, data) => {\n    const { bankOfAmericaOffer } = data;\n    return update(state, {\n      bankOfAmericaOffer: { $set: bankOfAmericaOffer },\n      actionError: { $set: 0 }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_BOA_OFFER]: setBankOfAmericaOffer,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _trim from 'lodash/trim';\nimport _has from 'lodash/has';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_DOMAINNAME_ACTIONS } from '../../constants/register_domainname';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_ONLINETOOLS_ACTIONS } from '../../constants/register_onlinetools';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { isLoggedIn } from '../../utils/AuthService';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/contact';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    isPrincipal: true,\n    firstName: '',\n    middleName: '',\n    lastName: '',\n    suffix: '',\n    companyName: '',\n    careOf: '',\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    zipCode: '',\n    country: '',\n    email: '',\n    phoneNumber: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAccountOwnerName = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix } = data;\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) }\n    });\n  },\n  processAccountOwnerContact = (state, action, data) => {\n    const { email, phoneNumber } = data;\n    return update(state, {\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processAccountOwnerInfo = (state, action, data) => {\n    const { firstName, lastName, email, phoneNumber } = data;\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      lastName: { $set: _trim(lastName) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processAccountOwnerData = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix, email, phoneNumber } = data;\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processContact = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix, companyName, careOf, addressLine1, addressLine2, city, county, state: addrState, zipCode, email, phoneNumber, isPrincipal } = data;\n\n    return update(state, {\n      isPrincipal: { $set: isPrincipal },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      careOf: { $set: _trim(careOf) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: 'US' },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processEmail = (state, action, data) => {\n    const { email } = data;\n\n    return update(state, {\n      email: { $set: email }\n    });\n  },\n  processFirstName = (state, action, data) => {\n    const { firstName } = data;\n\n    return update(state, {\n      firstName: { $set: firstName }\n    });\n  },\n  processLastName = (state, action, data) => {\n    const { lastName } = data;\n\n    return update(state, {\n      lastName: { $set: lastName }\n    });\n  },\n  processMiddleName = (state, action, data) => {\n    const { middleName } = data;\n\n    return update(state, {\n      middleName: { $set: middleName }\n    });\n  },\n  processPhone = (state, action, data) => {\n    const { phoneNumber } = data;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber }\n    });\n  },\n  processSuffix = (state, action, data) => {\n    const { suffix } = data;\n\n    return update(state, {\n      suffix: { $set: suffix }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const { contact } = data;\n\n    if (!contact) {\n      return state;\n    }\n\n    const\n      { firstName, middleName, lastName, companyName, careOf, suffix, email, phoneNumber } = contact,\n      { addressLine1, addressLine2, city, county, state: addrState, country, zipCode } = contact;\n\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      careOf: { $set: _trim(careOf) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: country }\n    });\n  },\n  processRemagineCart = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix, email, phoneNumber } = data;\n\n    return update(state, {\n      firstName: { $set: firstName },\n      middleName: { $set: middleName },\n      lastName: { $set: lastName },\n      suffix: { $set: suffix },\n      email: { $set: email },\n      phoneNumber: { $set: phoneNumber }\n    });\n  },\n  processAccountComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    if (state.firstName) {\n      return state;\n    }\n    const\n      {\n        account_uuid: id,\n        account_email: email,\n        account_phone: phone,\n        first_name: firstName,\n        middle_name: middleName,\n        last_name: lastName,\n        suffix\n      } = data;\n\n    return update(state, {\n      id: { $set: id },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phone }\n    });\n  },\n\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const contact = _get(o, 'contact', null);\n\n        return contact !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      { contact = {} } = order,\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', care_of: careOf = '' } = contact,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', country = 'US' } = contact,\n      { email = '', phone: phoneNumber = '', is_principal: isPrincipal = false } = contact;\n\n    return update(state, {\n      isPrincipal: { $set: isPrincipal },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: companyName },\n      careOf: { $set: careOf },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: country },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processResetData = (state, action, data) => {\n    const updateObj = {};\n    Object.entries(data).forEach((entry) => {\n      const [key, value] = entry;\n      if (_has(state, key)) {\n        updateObj[key] = { $set: value };\n      }\n    });\n    return update(state, updateObj);\n  },\n  processStart = (state, action, data) => {\n    const { firstName = '', middleName = '', lastName = '', suffix = '', email = '' } = data;\n\n    if (!isLoggedIn() && firstName) {\n      return update(state, {\n        firstName: { $set: firstName },\n        middleName: { $set: middleName },\n        lastName: { $set: lastName },\n        suffix: { $set: suffix },\n        email: { $set: email }\n      });\n    }\n    return state;\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.ACCOWN_NAME]: processAccountOwnerName,\n    [ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [ACTIONS.BUS_ID]: processBusinessId,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [LLC_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [LLC_ACTIONS.PRIM_CONTACT]: processContact,\n\n    [CORP_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [CORP_ACTIONS.PRIM_CONTACT]: processContact,\n\n    [REG_BLR_ACTIONS.ACCOWN_NAME]: processAccountOwnerName,\n    [REG_BLR_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_BLR_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_BLR_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_BLR_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [COMP_BLR_ACTIONS.PRIM_CONTACT]: processContact,\n    [COMP_BLR_ACTIONS.PRIM_CONTACT_MODAL]: processContact,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [COMP_BUSINESS_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [COMP_BUSINESS_ACTIONS.PRIM_CONTACT]: processContact,\n    [COMP_BUSINESS_ACTIONS.PRIM_CONTACT_MODAL]: processContact,\n\n    [REG_CORA_PF_ACTIONS.ACCOWN_EMAIL]: processEmail,\n    [REG_CORA_PF_ACTIONS.ACCOWN_FIRST_NAME]: processFirstName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_LAST_NAME]: processLastName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_MIDDLE_NAME]: processMiddleName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_PHONE]: processPhone,\n    [REG_CORA_PF_ACTIONS.ACCOWN_SUFFIX]: processSuffix,\n    [REG_CORA_PF_ACTIONS.CART]: processRemagineCart,\n    [REG_CORA_PF_ACTIONS.INIT]: processStart,\n    [REG_CORA_PF_ACTIONS.RESET_DATA]: processResetData,\n\n    [COMP_CORA_ACTIONS.CHOOSE_OFF_STATE_CONTACT]: processContact,\n    [COMP_CORA_ACTIONS.OFF_STATE_CONTACT]: processContact,\n    [COMP_CORA_ACTIONS.OFF_STATE_CONTACT_MODAL]: processContact,\n\n    [REG_DBA_PF_ACTIONS.ACCOWN_FIRST_NAME]: processFirstName,\n    [REG_DBA_PF_ACTIONS.ACCOWN_LAST_NAME]: processLastName,\n    [REG_DBA_PF_ACTIONS.ACCOWN_EMAIL]: processEmail,\n    [REG_DBA_PF_ACTIONS.ACCOWN_PHONE]: processPhone,\n    [REG_DBA_PF_ACTIONS.CART]: processRemagineCart,\n    [REG_DBA_PF_ACTIONS.RESET_DATA]: processResetData,\n\n    [REG_DOMAINNAME_ACTIONS.PRIM_CONTACT]: processContact,\n\n    [REG_EIN_ACTIONS.ACCOWN_NAME]: processAccountOwnerName,\n    [REG_EIN_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_EIN_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_EIN_ACTIONS.BUS_ID]: processBusinessId,\n\n    [REG_NAMERES_ACTIONS.ACC_OWN_INFO]: processAccountOwnerInfo,\n    [REG_NAMERES_ACTIONS.PRIM_CONTACT_MODAL]: processContact,\n    [REG_NAMERES_ACTIONS.PRIM_CONTACT]: processContact,\n\n    [REG_NYPUB_ACTIONS.ACCOWN_NAME]: processAccountOwnerName,\n    [REG_NYPUB_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_NYPUB_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_NYPUB_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [COMP_NYPUB_ACTIONS.PRIM_CONTACT]: processContact,\n    [COMP_NYPUB_ACTIONS.PRIM_CONTACT_MODAL]: processContact,\n\n    [REG_ONLINETOOLS_ACTIONS.PRIM_CONTACT]: processContact,\n\n    [REG_WFG_ACTIONS.INIT]: processStart,\n    [REG_WFG_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_WFG_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_WFG_ACTIONS.ACCOWN_NAME]: processAccountOwnerName,\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [COMP_WFG_ACTIONS.PRIM_CONTACT]: processContact,\n    [COMP_WFG_ACTIONS.PRIM_CONTACT_MODAL]: processContact,\n\n    [ACCOUNT_ACTIONS.GET_ACCOUNT_COMPLETE]: processAccountComplete,\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport { ACTIONS } from '../../constants/initialization';\n\nconst INITIAL_STATE = {};\n\nexport default function (state = INITIAL_STATE, action) {\n  const { coupons } = _get(action, 'payload.data', {});\n\n  switch (action.type) {\n    case ACTIONS.SET_INITIALIZATION: {\n      return coupons;\n    }\n    default:\n      return state;\n  }\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { NY_PUB_COUNTY_REVERSE_MAP } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/nypub';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    pubState: '',\n    pubStateCounty: '',\n    // Existing NY:\n    nyPubCounty: '',\n    nyPubCountyCode: '',\n    useAlbany: false,\n    locked: false\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT)),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n\n  processPubState = (state, action, data) => {\n    const { pubState } = data;\n    return update(state, {\n      pubState: { $set: pubState },\n      useAlbany: { $set: false },\n      locked: { $set: false }\n    });\n  },\n\n  processPubCountyGeneric = (state, action, data) => {\n    const { pubStateCounty, pubState } = data;\n\n    return update(state, {\n      pubState: { $set: pubState },\n      pubStateCounty: { $set: pubStateCounty },\n      useAlbany: { $set: false },\n      locked: { $set: false }\n    });\n  },\n\n  processPubCounty = (state, action, data) => {\n    // GA and NY before RA: pubState, nyPubCountyCode\n    const { nyPubCounty, nyPubCountyCode } = data;\n\n    return update(state, {\n      nyPubCounty: { $set: nyPubCounty },\n      nyPubCountyCode: { $set: nyPubCountyCode },\n      useAlbany: { $set: false },\n      locked: { $set: false }\n    });\n  },\n\n  processBusinessId = (state, action, data) => {\n    const { id, business, businessAddresses = { principal: {} } } = data,\n      { principal: { county: nyPubCounty } } = businessAddresses,\n      { requestedJurisdiction: pubState } = business;\n\n    if (!id) {\n      return update(state, {\n        locked: { $set: false }\n      });\n    }\n    return update(state, {\n      pubState: { $set: pubState },\n      nyPubCounty: { $set: nyPubCounty },\n      nyPubCountyCode: { $set: NY_PUB_COUNTY_REVERSE_MAP[nyPubCounty] || 'albany' },\n      useAlbany: { $set: false },\n      locked: { $set: true }\n    });\n  },\n\n  processRegBusinessId = (state, action, data) => {\n    const { businessAddresses = {} } = data,\n      { principal = {} } = businessAddresses,\n      { count: nyPubCounty = '' } = principal;\n\n    return update(state, {\n      nyPubCounty: { $set: nyPubCounty },\n      nyPubCountyCode: { $set: nyPubCounty ? NY_PUB_COUNTY_REVERSE_MAP[nyPubCounty] || 'albany' : '' },\n      useAlbany: { $set: !nyPubCounty },\n      locked: { $set: true }\n    });\n  },\n\n  processPrincipalAddress = (state, action, data) => {\n    const { county, state: addrState } = data;\n\n    if (addrState !== 'NY') {\n      return state;\n    }\n\n    return update(state, {\n      nyPubCounty: { $set: county },\n      nyPubCountyCode: { $set: NY_PUB_COUNTY_REVERSE_MAP[county] || 'albany' }\n    });\n  },\n\n  processRA = (state, action, data) => {\n    const { privacy } = data;\n\n    return update(state, {\n      useAlbany: { $set: privacy }\n    });\n  },\n\n  // Calls to middleware\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const service = _get(o, 'service', '');\n\n        return service === 'ny_publication';\n      });\n\n    if (!order) {\n      return INITIAL_STATE_DEFAULT;\n    }\n\n    const\n      { ny_publication_county: nyPubCounty } = order;\n\n    return update(state, {\n      nyPubCounty: { $set: nyPubCounty },\n      nyPubCountyCode: { $set: NY_PUB_COUNTY_REVERSE_MAP[nyPubCounty] || 'albany' },\n      useAlbany: { $set: false }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.BUS_ID]: processRegBusinessId,\n    [ACTIONS.PRIN_ADDR]: processPrincipalAddress,\n    [ACTIONS.PRODUCT_CONFIRM]: processRA,\n    [ACTIONS.PUB_COUNTY]: processPubCounty,\n    [ACTIONS.PUB_STATE]: processPubState,\n    [ACTIONS.PUB_STATE_COUNTY]: processPubCountyGeneric,\n    [ACTIONS.PURCH_PLAN]: processRA,\n    [ACTIONS.PURCH_PRIV]: processRA,\n    [ACTIONS.PURCHASE_SUCCESS]: resetAllData,\n\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_NYPUB_ACTIONS.PUB_COUNTY]: processPubCounty,\n    [REG_NYPUB_ACTIONS.PUB_STATE]: processPubState,\n    [REG_NYPUB_ACTIONS.PUB_STATE_COUNTY]: processPubCountyGeneric,\n    [REG_NYPUB_ACTIONS.PUB_COUNTY_MODAL]: processPubCounty,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\n\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { syncUpPlan } from '../../utils/PlanService';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/plan';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    plan: null\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      planData = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        if (\n          service.indexOf('starter_plan') >= 0 ||\n          service.indexOf('pro_plan') >= 0 ||\n          service.indexOf('premium_plan') >= 0 ||\n          service.indexOf('subscription_plan') >= 0\n        ) {\n          return true;\n        }\n        return false;\n      });\n    if (!planData) {\n      return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n    }\n\n    const newState = {\n      plan: planData.plan\n    };\n    // Check if the plans data we get from /initialize call is the same that\n    // was set and used by the initial order.\n    syncUpPlan(planData);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: resetAllData,\n\n    [REG_ACCOUNTING_ACTIONS.INIT]: resetAllData,\n\n    [REG_BLR_ACTIONS.INIT]: resetAllData,\n\n    [REG_CORA_PF_ACTIONS.INIT]: resetAllData,\n\n    [REG_EIN_ACTIONS.INIT]: resetAllData,\n\n    [REG_NAMERES_ACTIONS.INIT]: resetAllData,\n    [REG_NYPUB_ACTIONS.INIT]: resetAllData,\n\n    [REG_WFG_ACTIONS.INIT]: resetAllData,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as REG_ACTIONS } from '../../constants/registration';\n\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/remagine';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    goals: '',\n    hasEmployees: '',\n    homeBased: null,\n    industry: '',\n    launchStatus: '',\n    priorExperience: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        // API-934: slim order_data nests entity_name under create_data\n        const entityName = _get(o, 'entity_name', null) || _get(o, 'create_data.entity_name', null);\n\n        return entityName !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      {\n        goals = '',\n        has_employees: hasEmployees = '',\n        home_based: homeBased = null,\n        industry = '',\n        launch_status: launchStatus = '',\n        prior_experience: priorExperience = ''\n      } = order;\n\n    return update(state, {\n      goals: { $set: goals },\n      hasEmployees: { $set: hasEmployees },\n      homeBased: { $set: homeBased },\n      industry: { $set: _trim(industry) },\n      launchStatus: { $set: launchStatus },\n      priorExperience: { $set: priorExperience }\n    });\n  },\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REG_ACTIONS.RESET]: resetAllData,\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nINITIAL_STATE.startStep = INITIAL_STATE.step;\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_wfgir';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/wfgir';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    cardToken: '',\n    last4: '',\n    brand: '',\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const { companyId } = data;\n\n    return update(state, {\n      companyId: { $set: companyId }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processPayment = (state, action, data) => {\n    const {\n      cardToken,\n      last4,\n      brand,\n      cardId,\n      cardNumber,\n      expMonth,\n      expYear,\n      cvc\n    } = data;\n\n    return update(state, {\n      cardToken: { $set: cardToken },\n      last4: { $set: last4 },\n      brand: { $set: brand },\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { companyId } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      actionError: { $set: 0 }\n    });\n  },\n  processStartConfirm = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.BUS_ID]: processBusinessId,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.START]: processStartConfirm,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { ACTIONS } from '../../constants/progress_bar';\n\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/setProgressBar';\n\nconst INITIAL_STATE_DEFAULT = {\n  currentStep: 0,\n  steps: [],\n  activeFlow: ''\n};\n\nconst INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n\nconst update = (newState) => {\n  reducerStorage.store(storageKey, newState);\n  return newState;\n};\n\nexport default (state = INITIAL_STATE, action) => {\n  const { payload = {}, type } = action;\n  const { steps, currentStep, activeFlow } = payload;\n  switch (type) {\n    case ACTIONS.SET_PROGRESS_BAR:\n      return update({\n        ...state,\n        currentStep,\n        steps,\n        activeFlow\n      });\n\n    case ACTIONS.RESET_PROGRESS_BAR:\n      reducerStorage.clear(storageKey);\n      return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n\n    default:\n      return state;\n  }\n};\n","import { ACTIONS } from '../../constants/business_name_generator';\n\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/businessNameGenerator';\n\nconst INITIAL_STATE_DEFAULT = {\n  searchKey: '',\n  matched: false,\n  matches: [],\n  suggestions: [],\n  loading: false,\n  selectedBusinessNameSuggestion: null\n};\n\nconst INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n\nconst update = (newState) => {\n  reducerStorage.store(storageKey, newState);\n  return newState;\n};\n\nexport default (state = INITIAL_STATE, action) => {\n  switch (action.type) {\n    case ACTIONS.SEARCH_BUSINESS_NAMES:\n      return update({\n        ...state,\n        searchKey: action.payload.searchKey,\n        selectedBusinessNameSuggestion: null,\n        loading: true\n      });\n\n    case ACTIONS.SEARCH_BUSINESS_NAMES_COMPLETE:\n      return update({\n        ...state,\n        matched: action.payload.matched,\n        matches: action.payload.matches,\n        suggestions: action.payload.suggestions,\n        loading: false\n      });\n\n    case ACTIONS.SEL_BUS_NAME_SUGGES:\n      return update({\n        ...state,\n        selectedBusinessNameSuggestion: action.payload.data.selectedBusinessNameSuggestion\n      });\n\n    case ACTIONS.RESET:\n      reducerStorage.clear(storageKey);\n      return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n    default:\n      return state;\n  }\n};\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_vanity';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/vanityProduct';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    vanityUrlId: null,\n    vanityKey: null,\n    vanityProduct: null,\n    fromDashboard: false,\n    type: '',\n    name: '',\n    domesticJurisdiction: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId, name, domesticJurisdiction, type } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      name,\n      domesticJurisdiction,\n      type,\n      fromDashboard,\n      vanityUrlId,\n      vanityKey\n    } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type },\n      fromDashboard: { $set: fromDashboard },\n      actionError: { $set: 0 },\n      vanityUrlId: { $set: vanityUrlId },\n      vanityKey: { $set: vanityKey }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { vanityProduct } = data;\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 },\n      vanityProduct: { $set: vanityProduct }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { combineReducers } from 'redux';\n\nimport account from './account';\nimport accounting from './accounting';\nimport amendment from './amendment';\nimport annualReport from './annualReport';\nimport banking from './banking';\nimport bankOfAmericaOffer from './bankOfAmericaOffer';\nimport blr from './blr';\nimport business from './business';\nimport contact from './contact';\nimport cora from './cora';\nimport corpDocs from './corpDocs';\nimport corpStockFlow from './corpStockFlow';\nimport coupons from './coupons';\nimport customer from './customer';\nimport dbaEntity from './dbaEntity';\nimport directors from './directors';\nimport domainName from './domainName';\nimport domainV2 from './domainV2';\nimport emailV2 from './emailV2';\nimport ein from './ein';\nimport expenseTrackerNTaxFiling from './expenseTrackerNTaxFiling';\nimport feedback from './feedback';\nimport goodStanding from './goodStanding';\nimport lead from './lead';\nimport logoKit from './logoKit';\nimport managers from './managers';\nimport members from './members';\nimport nypub from './nypub';\nimport officers from './officers';\nimport order from './order';\nimport page from './page';\nimport plan from './plan';\nimport postpurchase from './postpurchase';\nimport businessAddresses from './businessAddresses';\nimport purchase from './purchase';\nimport registeredAgent from './registeredAgent';\nimport remagine from './remagine';\nimport smbWebsite from './smbWebsite';\nimport smbWebsiteEcomm from './smbWebsiteEcomm';\nimport smbEcommAddon from './smbEcommAddon';\nimport smbWebsiteOrEcomm from './smbWebsiteOrEcomm';\nimport stockSetup from './stockSetup';\nimport wfgir from './wfgir';\nimport operatingAgreement from './operatingAgreement';\nimport progressBar from './progressBar';\nimport businessNameGenerator from './businessNameGenerator';\nimport businessKit from './businessKit';\nimport beneficialOwnershipFiling from './beneficialOwnershipFiling';\nimport beneficialOwnershipModification from './beneficialOwnershipModification';\nimport vanityProduct from './vanityProduct';\nimport zbmPro from './zbmPro';\nimport zbmPlaid from './zbmPlaid';\nimport ettfRenewal from './ettfRenewal';\nimport zbBankingPreferred from './zbBankingPreferred';\nimport taxServices from './taxServices';\n\nexport default combineReducers({\n  account,\n  accounting,\n  amendment,\n  annualReport,\n  banking,\n  bankOfAmericaOffer,\n  blr,\n  business,\n  businessAddresses,\n  contact,\n  cora,\n  corpDocs,\n  corpStockFlow,\n  coupons,\n  customer,\n  dbaEntity,\n  directors,\n  domainName,\n  domainV2,\n  emailV2,\n  lead,\n  ein,\n  ettfRenewal,\n  expenseTrackerNTaxFiling,\n  feedback,\n  goodStanding,\n  logoKit,\n  managers,\n  members,\n  nypub,\n  officers,\n  order,\n  page,\n  plan,\n  postpurchase,\n  purchase,\n  registeredAgent,\n  remagine,\n  smbWebsite,\n  smbWebsiteEcomm,\n  smbEcommAddon,\n  smbWebsiteOrEcomm,\n  stockSetup,\n  wfgir,\n  operatingAgreement,\n  progressBar,\n  businessNameGenerator,\n  businessKit,\n  beneficialOwnershipFiling,\n  vanityProduct,\n  zbmPro,\n  zbmPlaid,\n  zbBankingPreferred,\n  taxServices,\n  beneficialOwnershipModification\n});\n","import _get from 'lodash/get';\nimport { ACTIONS } from '../../constants/initialization';\nimport pricingUtils from '../../utils/Pricing_v2';\n\nconst { getPlanPricingDetails } = pricingUtils;\nconst INITIAL_STATE = {\n  plans: {},\n  coupons: {},\n  standaloneServices: {},\n  stateFees: {},\n  expediteFees: {}\n};\n\nconst setPLans = (plans) => {\n  // maintaining the \"level\" key convention for the following plans, considering just keying these by their service name as well\n  const displayNameToLevel = {\n    'Starter Plan': 'level1',\n    'Pro Plan': 'level2',\n    'Premium Plan': 'level3',\n    'RA Starter Plan': 'raLevel1',\n    'RA Pro Plan': 'raLevel2'\n  };\n\n  return plans.reduce((planLevels, plan) => {\n    const displayName = getPlanPricingDetails(plan, 'display_name');\n    const level = displayNameToLevel[displayName];\n\n    if (level) {\n      planLevels[level] = plan;\n    } else {\n      // key by \"service\" val for packages\n      planLevels[getPlanPricingDetails(plan, 'service')] = plan;\n    }\n\n    return planLevels;\n  }, {});\n};\n\nconst setStandaloneServicesByService = (standaloneServices) => {\n  return standaloneServices.reduce((formatted, service) => {\n    const key = _get(service, 'related_service_pricing.service', '');\n    if (formatted[key]) {\n      const item = formatted[key],\n        existingInterval = _get(item, 'related_service_pricing.interval', 'onetime'),\n        thisInterval = _get(service, 'related_service_pricing.interval', 'onetime');\n\n      formatted[key] = {\n        [existingInterval]: item,\n        [thisInterval]: service\n      };\n    } else {\n      formatted[key] = service;\n    }\n    return formatted;\n  }, {});\n};\n\nexport default function (state = INITIAL_STATE, action) {\n  const {\n    rawPlans,\n    coupons,\n    standaloneServices,\n    stateFees,\n    expediteFees\n  } = _get(action, 'payload.data', {});\n\n  switch (action.type) {\n    case ACTIONS.INITIALIZE_PRICING_DATA: {\n      return {\n        ...state,\n        plans: setPLans(rawPlans),\n        coupons,\n        standaloneServices: setStandaloneServicesByService(standaloneServices),\n        stateFees,\n        expediteFees\n      };\n    }\n    default:\n      return state;\n  }\n}\n","import _get from 'lodash/get';\nimport { ACTIONS } from '../../constants/initialization';\n\nconst INITIAL_STATE = {};\n\nexport default function (state = INITIAL_STATE, action) {\n  switch (action.type) {\n    case ACTIONS.INITIALIZE_PRICING_DATA: {\n      return {\n        ...state,\n        ..._get(action, 'payload.data.products', {})\n      };\n    }\n    default:\n      return state;\n  }\n}\n","import { combineReducers } from 'redux';\n\nimport account from './account';\nimport companies from './companies';\nimport files from './files';\nimport initialization from './initialization';\nimport orders from './orders';\nimport registration from './registration';\nimport pricing from './pricing';\nimport productEnabledStatus  from './productEnabledStatus';\n\nconst allReducers = combineReducers({\n  account,\n  companies,\n  files,\n  initialization,\n  orders,\n  registration,\n  pricing,\n  productEnabledStatus\n});\n\nexport default allReducers;\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/register_zbm_plaid';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/zbmplaid';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    publicTokens: [],\n    plaidLinkToken: {},\n    gettingPlaidLinkToken: false,\n    actionError: 0,\n    accountType: '',\n    accountTier: '',\n    gettingHurdlrSubscriptionTier: false,\n    zbmMonthly: null,\n    errorTier: false,\n    relinkingPlaidAccount: false\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processInit = (state, action, data) => {\n    const { companyId, accountType } = data;\n\n    return update(state, {\n      inProgress: { $set: true },\n      companyId: { $set: companyId },\n      accountType: { $set: accountType },\n      actionError: { $set: 0 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processGetHurdlrSubscriptionTier = (state) => {\n    return update(state, {\n      gettingHurdlrSubscriptionTier: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processGetHurdlrSubscriptionTierComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        gettingHurdlrSubscriptionTier: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    return update(state, {\n      gettingHurdlrSubscriptionTier: { $set: false },\n      actionError: { $set: 0 },\n      accountTier: { $set: data.accountTier },\n      errorTier: { $set: data.error }\n    });\n  },\n\n  processSetPlaidHurdlrLink = (state) => {\n    return update(state, {\n      gettingPlaidHurdlrResponse: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processSetPlaidHurdlrLinkComplete = (state, action) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        gettingPlaidHurdlrResponse: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    return update(state, {\n      gettingPlaidHurdlrResponse: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n\n  processGetPlaidLink = (state) => {\n    return update(state, {\n      gettingPlaidLinkToken: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processGetPlaidLinkComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        gettingPlaidLinkToken: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    return update(state, {\n      gettingPlaidLinkToken: { $set: false },\n      actionError: { $set: 0 },\n      plaidLinkToken: { $set: data.linkToken }\n    });\n  },\n  setPlaidPublicToken = (state, action, data) => {\n    const { publicTokens } = data;\n\n    return update(state, {\n      publicTokens: { $set: publicTokens }\n    });\n  },\n\n  processResetPlaidLink = (state) => {\n    return update(state, {\n      resettingPlaidLinkToken: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processResetPlaidLinkComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        resettingPlaidLinkToken: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    return update(state, {\n      resettingPlaidLinkToken: { $set: false },\n      actionError: { $set: 0 },\n      plaidLinkToken: {\n        link_token: { $set: data.link_token }\n      }\n    });\n  },\n\n  processPlaidRelinkLink = (state) => {\n    return update(state, {\n      relinkingPlaidAccount: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processPlaidRelinkLinkComplete = (state, action) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        relinkingPlaidAccount: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    return update(state, {\n      relinkingPlaidAccount: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.INIT]: processInit,\n\n    [ACTIONS.GET_HURDLR_SUBSCRIPTION_TIER]: processGetHurdlrSubscriptionTier,\n    [ACTIONS.GET_HURDLR_SUBSCRIPTION_TIER_COMPLETE]: processGetHurdlrSubscriptionTierComplete,\n\n    [ACTIONS.SET_PLAID_HURDLR_LINK]: processSetPlaidHurdlrLink,\n    [ACTIONS.SET_PLAID_HURDLR_LINK_COMPLETE]: processSetPlaidHurdlrLinkComplete,\n\n    [ACTIONS.SET_PLAID_PUBLIC_TOKENS]: setPlaidPublicToken,\n    [ACTIONS.GET_PLAID_LINK_TOKEN]: processGetPlaidLink,\n    [ACTIONS.GET_PLAID_LINK_TOKEN_COMPLETE]: processGetPlaidLinkComplete,\n\n    [ACTIONS.RESET_PLAID_LINK]: processResetPlaidLink,\n    [ACTIONS.RESET_PLAID_LINK_COMPLETE]: processResetPlaidLinkComplete,\n\n    [ACTIONS.PLAID_RELINK_LINK] : processPlaidRelinkLink,\n    [ACTIONS.PLAID_RELINK_LINK_COMPLETE]: processPlaidRelinkLinkComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import updateHelper from 'immutability-helper';\nimport _get from 'lodash/get';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/lead';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    leadUUID: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  switch (action.type) {\n    case ACCOUNT_ACTIONS.GET_ACCOUNT_COMPLETE:\n    case REG_BLR_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_CORA_PF_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_DBA_PF_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_EIN_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_NAMERES_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_NYPUB_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_WFG_ACTIONS.CREATE_LEAD_COMPLETE:\n    case ACTIONS.CREATE_LEAD_COMPLETE: {\n      if (action.error) {\n        return state;\n      }\n      const feedbackSource = _get(action.payload.data, 'lead.how_did_you_hear_about_us', null);\n      const leadUUID = action.payload.data.lead_uuid;\n      return update(state, {\n        feedbackSource: { $set: feedbackSource },\n        leadUUID: { $set: leadUUID }\n      });\n    }\n\n    default:\n      return state;\n  }\n}\n","import _cloneDeep from 'lodash/cloneDeep';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isString from 'lodash/isString';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/managers';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    managerType: '',\n    managerCount: 0,\n    managers: []\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processManagerCount = (state, action, data) => {\n    const { managerCount } = data;\n\n    return update(state, {\n      managerCount: { $set: managerCount }\n    });\n  },\n  processManagerList = (state, action, data) => {\n    const { managers } = data;\n    return update(state, {\n      managers: { $set: _map(managers, (manager) => {\n        return _reduce(manager, (collect, value, key) => {\n          collect[key] = _isString(value) ? _trim(value) : value;\n          return collect;\n        }, {});\n      }) }\n    });\n  },\n  processManagerOption = (state, action, data) => {\n    const { managerType } = data;\n    if (managerType === 'AllOwners' || managerType === 'SomeOwners') {\n      return update(state, {\n        managerType: { $set: managerType },\n        managerCount: { $set: 0 },\n        managers: { $set: [] }\n      });\n    }\n    return update(state, {\n      managerType: { $set: managerType }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const\n      { managers, members } = data;\n\n    if (!managers) {\n      return update(state, {\n        managers: { $set: [] },\n        managerType: { $set: '' }\n      });\n    }\n\n    const memberManagerCount = _reduce(members, (collect, member) => {\n      if (member.manager) {\n        return collect + 1;\n      }\n      return collect;\n    }, 0);\n    let managerType = '';\n    if (managers.length === 0) {\n      if (memberManagerCount === 0 || memberManagerCount === members.length) {\n        managerType = 'AllOwners';\n      } else {\n        managerType = 'SomeOwners';\n      }\n    } else if (memberManagerCount !== 0) {\n      managerType = 'SomeManagers';\n    } else {\n      managerType = 'AllManagers';\n    }\n    return update(state, {\n      managerType: { $set: managerType },\n      managers: { $set: _cloneDeep(managers) }\n    });\n  },\n  reverseManagerTypeMap = {\n    'All the owners (Member managed)': 'AllOwners',\n    'Only some of the owners (Manager managed)': 'SomeOwners',\n    'Some or all of the owners and other managers (Manager managed)': 'SomeManagers',\n    'None of the owners, only other managers (Manager managed)': 'AllManagers'\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const mgrs = _get(o, 'managers', null);\n\n        return mgrs !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      { managers = [], manager_type, manager_count: managerCount = null } = order,\n      convertedManagers = _map(managers, (manager) => {\n        const\n          { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = manager,\n          { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state: addrState = '', zip: zipCode = '', country = 'US', email = '', phone: phoneNumber = '', outstanding_judgments: outstandingJudgments = null } = manager;\n\n        return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country, email, phoneNumber, title, outstandingJudgments };\n      });\n\n    return update(state, {\n      managers: { $set: convertedManagers },\n      managerCount: { $set: managerCount === null ? managers.length : managerCount },\n      managerType: { $set: reverseManagerTypeMap[manager_type] || '' }\n    });\n  },\n  processUpdateManager = (state, action, data) => {\n    const { managers = [] } = state;\n    const { arrayIndex, email, phoneNumber } = data;\n    const updatedManagers = _cloneDeep(managers);\n    const { email: mEmail, phoneNumber: mPhoneNumber } = updatedManagers[arrayIndex];\n    if (phoneNumber !== mPhoneNumber || email !== mEmail ) {\n      updatedManagers[arrayIndex] = {\n        ...updatedManagers[arrayIndex],\n        phoneNumber,\n        email\n      };\n      return update(state, {\n        managers: { $set: updatedManagers }\n      });\n    }\n    return state;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [LLC_ACTIONS.MGR_COUNT]: processManagerCount,\n    [LLC_ACTIONS.SET_MGR_LIST]: processManagerList,\n    [LLC_ACTIONS.SET_MGR_OPT]: processManagerOption,\n    [LLC_ACTIONS.UPDATE_MGR]: processUpdateManager,\n\n    [COMP_BLR_ACTIONS.LLC_MGR_COUNT]: processManagerCount,\n    [COMP_BLR_ACTIONS.LLC_MGR_LIST]: processManagerList,\n    [COMP_BLR_ACTIONS.LLC_MGR_LIST_MODAL]: processManagerList,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n    [COMP_BLR_ACTIONS.UPDATE_MGR]: processUpdateManager,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_COUNT]: processManagerCount,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_LIST]: processManagerList,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_BUSINESS_ACTIONS.UPDATE_MGR]: processUpdateManager,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.LLC_MGR_COUNT]: processManagerCount,\n    [COMP_CORA_ACTIONS.LLC_MGR_LIST]: processManagerList,\n    [COMP_CORA_ACTIONS.LLC_MGR_LIST_MODAL]: processManagerList,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_NYPUB_ACTIONS.LLC_MGR_COUNT]: processManagerCount,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_LIST]: processManagerList,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_LIST_MODAL]: processManagerList,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n    [COMP_NYPUB_ACTIONS.UPDATE_MGR]: processUpdateManager,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.LLC_MGR_COUNT]: processManagerCount,\n    [COMP_WFG_ACTIONS.LLC_MGR_LIST]: processManagerList,\n    [COMP_WFG_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_WFG_ACTIONS.UPDATE_MGR]: processUpdateManager,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import updateHelper from 'immutability-helper';\nimport _forEach from 'lodash/forEach';\nimport _omit from 'lodash/omit';\n\nimport { ACTIONS } from '../../constants/initialization';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'initialization/fees';\n\nconst\n  omitKeys = [ 'status', 'errorMessage' ],\n  invalidateDate = new Date(2018, 6, 29, 0, 0, 0, 0).getTime(),\n  invalidateInterval = 60000 * 60 * 12, // Refresh every 12 hours to pick up any pricing changes\n  INITIAL_STATE_DEFAULT = {\n    filingFees: {},\n    expediteFees: {}\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT, invalidateDate, invalidateInterval),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  };\n\nINITIAL_STATE.expediteFees = INITIAL_STATE.expediteFees || {};\n\nexport default function (state = INITIAL_STATE, action) {\n  switch (action.type) {\n\n    case ACTIONS.SET_INITIALIZATION: {\n      if (!action.error) {\n        return update(state, {\n          filingFees: { $set: action.payload.data.stateFees },\n          expediteFees: { $set: action.payload.data.expediteFees }\n        });\n      }\n      return state;\n    }\n    case ACTIONS.GET_STATE_FEES_COMPLETE: {\n      const u = {\n        filingFees: {}\n      };\n\n      if (!action.error) {\n        _forEach(action.payload.data, (value, stateCode) => {\n          u.filingFees[stateCode] = { $set: _omit(value, omitKeys) };\n        });\n\n        return update(state, u);\n      }\n      return state;\n    }\n\n    case ACTIONS.GET_EXPEDITE_FEES_COMPLETE: {\n      const u = {\n        expediteFees: {}\n      };\n\n      if (!action.error) {\n        delete action.payload.data.status;\n        delete action.payload.data.errorMessage;\n\n        _forEach(action.payload.data, (value, stateCode) => {\n          u.expediteFees[stateCode] = { $set: _omit(value, omitKeys) };\n        });\n\n        if (!state.expediteFees) {\n          state.expediteFees = {};\n        }\n\n        return update(state, u);\n      }\n      return state;\n    }\n\n    default:\n      return state;\n  }\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_business_kit';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/businessKit';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    businessKit: null,\n    fromDashboard: false,\n    type: '',\n    name: '',\n    domesticJurisdiction: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId, name, domesticJurisdiction, type } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      name,\n      domesticJurisdiction,\n      type,\n      fromDashboard\n    } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type },\n      fromDashboard: { $set: fromDashboard },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { businessKit } = data;\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 },\n      businessKit: { $set: businessKit }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/register_smb_ecomm_addon';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/smbEcommAddon';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    alreadyPurchased: null,\n    websiteNotPurchased: false,\n\n    companyId: '',\n    jurisdiction: null,\n    chooseEcomm: null,\n    yearlyInterval: null,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n\n  processChoosePackage = (state, action, data) => {\n    const { chooseEcomm = null } = data;\n\n    return update(state, {\n      chooseEcomm: { $set: chooseEcomm }\n    });\n  },\n\n  processChooseInterval = (state, action, data) => {\n    const { yearlyInterval = null } = data;\n\n    return update(state, {\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processComplete = (state) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, { companyId: state.companyId }));\n  },\n  processInit = (state, action, data) => {\n    const {\n      alreadyPurchased,\n      websiteNotPurchased,\n      companyId,\n      jurisdiction\n    } = data;\n    return update(state, {\n      alreadyPurchased: { $set: alreadyPurchased },\n      websiteNotPurchased: { $set: websiteNotPurchased },\n      companyId: { $set: companyId },\n      inProgress: { $set: !alreadyPurchased },\n      jurisdiction: { $set: jurisdiction },\n      chooseEcomm: { $set: null },\n      yearlyInterval: { $set: null },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      smbEcommAddonOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'smb_ecomm_addon';\n      });\n\n    if (!smbEcommAddonOrder) {\n      return state;\n    }\n    const\n      {\n        jurisdiction,\n        service,\n        yearlyInterval\n      } = smbEcommAddonOrder;\n\n    return update(state, {\n      jurisdiction: { $set: jurisdiction },\n      chooseEcomm: { $set: service === 'smb_ecomm_addon' },\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processMap = {\n    [ACTIONS.CHOOSE_PACKAGE]: processChoosePackage,\n    [ACTIONS.CHOOSE_INTERVAL]: processChooseInterval,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/feedback';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    feedbackSource: '',\n    feedbackAdditional: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processFeedback = (state, action, data) => {\n    const { feedbackOther, feedbackSource } = data;\n    return update(state, {\n      feedbackSource: { $set: feedbackSource },\n      feedbackOther: { $set: feedbackOther }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.PURCHASE_FEEDBACK]: processFeedback,\n\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [REGISTRATION_ACTIONS.INIT]: resetAllData\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n"],"names":["storageKey","ADDRESS_COMPARE_FIELDS","EMPTY_ADDRESS","addressLine1","addressLine2","city","county","state","stateName","country","zipCode","lat","lng","addressIsGoogle","EMPTY_ADDRESS_COMPARE","address_1","address_2","zip","address_is_google","EMPTY_ADDRESS_SET","$set","INITIAL_STATE_DEFAULT","principal","_assign","mailing","physical","usePhysicalAsMailing","usePhysicalAsPrincipal","useMailingAsPrincipal","INITIAL_STATE","reducerStorage","initialize","getStateName","value","match","_find","DOM_JURS","option","label","update","info","newState","updateHelper","store","getAddressUpdate","data","addrState","_trim","getOrderAddressUpdate","compareAddresses","address1","address2","addr1","_pick","addr2","_isEqual","processPhysicalAddress","action","oldUsePhysicalAsMailing","oldUsePhysicalAsPrincipal","addressUpdate","stateUpdate","processPhysicalAddressInFlow","processPhysicalAddressModal","processMailingAddress","oldUseMailingAsPrincipal","processMailingAddressModal","processMailingAddressInFlow","processPrincipalAddress","processAllAddressModal","processAllAddressModalInFlow","physicalAddress","mailingAddress","processBusinessId","businessAddresses","resetAllData","clear","processMap","ACTIONS","RESET","BUS_ID","MAIL_ADDR","MAIL_ADDR_MODAL","PHYS_ADDR","PHYS_ADDR_MODAL","PRIN_ADDR","PRIN_ADDR_MODAL","PURCHASE_SUCCESS","LLC_ACTIONS","CORP_ACTIONS","REG_BLR_ACTIONS","COMP_BLR_ACTIONS","ADDR_MODAL","COMP_BUSINESS_ACTIONS","REG_CORA_PF_ACTIONS","COMP_CORA_ACTIONS","COMP_DBA_ACTIONS","REG_EIN_ACTIONS","COMP_EIN_ACTIONS","REG_NAMERES_ACTIONS","processNameResPhysicalAddress","processNameResPhysicalAddressModal","REG_NYPUB_ACTIONS","COMP_NYPUB_ACTIONS","REG_WFG_ACTIONS","COMP_WFG_ACTIONS","ORDER_ACTIONS","GET_ORDERS_COMPLETE","processOrdersComplete","error","orders","incompleteOrder","getIncompleteOrder","order_data","orderData","order","o","_get","address","principal_address","mailing_address","arguments","length","undefined","func","type","inProgress","companyId","product","cardId","cardNumber","cardToken","expMonth","expYear","cvc","brand","last4","cardCreated","actionError","REGISTRATION_ACTIONS","COMPLETE_RETURN_TO_DASH","processCompleteReturnToDash","PAYMENT","processPayment","INIT","processInit","isUpgrade","ACCOUNT_ACTIONS","ADD_PAYMENT_METHOD_COMPLETE","processAddPayment","id","companyCount","primary","alternates","domainNameSearch","domainNames","emailAddresses","verified","skip","emailUserName","emailSkip","emailInPlan","COMPLETE","processComplete","EMAILS","processDomainNames","domainName","domesticJurisdiction","status","isBusinessIncomplete","businessOrderType","isDAO","isSCorp","hasSCorp","hasSCorpWordUpdate","name","indicator","description","phoneNumber","domesticEntity","domesticJurisdictionName","requestedJurisdiction","requestedJurisdictionName","foreignJurisdictions","foreignJurisdictionNames","hasForeignJurisdictions","domesticFilingDate","stateId","authorizedShares","valuePerShare","hasMoreThanOneShare","businessActivity","hasExistingBusiness","createBusiness","creatingBusiness","updateBusiness","updatingBusiness","scorpAllUSOwners","scorpOutsideInvestors","scorpOperateLoss","scorpOperateProfit","scorpPaySalary","scorpPlanJurChosen","authorizedSignatory","isSimulated","formationCounty","daoMemberManaged","daoRestriction","daoSmartContractLink","processDomesticJurisdiction","processAccountOwnerContact","processBusinessDescription","processDBABusinessDescription","businessDescription","reset","forceEmptyId","oldId","business","_reduce","collect","foreignJurisdiction","foreignJurisdictionName","processBusinessName","processBusinessAlternates","_map","alternate","processBusinessType","origType","processBusinessModal","businessName","processAuthorizedSignatory","isPrincipal","title","firstName","middleName","lastName","suffix","companyName","email","contact","updates","processStart","fromDashboard","tp","dj","djName","processDashboardProduct","processStatus","processStatusComplete","processCreateOrderComplete","business_entity_uuid","ACCOWN_CONTACT","ACCOWN_MODAL","BUS_ACT","processBusinessActivity","BUS_NAME","BUS_NAME_MODAL","BUS_TYPE","BUS_TYPE_MODAL","CREATE_ORDER_COMPLETE","FORM_COUNTY","processFormationCounty","nyPubCounty","FORM_COUNTY_PF","processFormationCountyPF","DOM_JUR","DOM_JUR_MODAL","PURCH_PLAN","processPurchasePlan","PURCH_PRIV","SCORP_ALL_US_OWNERS","processSCorpAllUSOwners","SCORP_INVESTORS","processSCorpOutsideInvestors","SCORP_LOSS","processSCorpOperateLoss","SCORP_SALARY","processSCorpPaySalary","EDIT_CHECKOUT","checkoutEditBusiness","companyType","BUS_ALT","BUS_DESC","AUTH_SIG","COMPANY_ACTIONS","GET_COMPANIES_COMPLETE","processGetCompaniesComplete","companies","company","find","c","is_dao","CORP_STOCK","processCorpStock","HAS_MORE_THAN_ONE_SHARE","processHasMoreThanOneShare","REG_ACCOUNT_ACTIONS","HAS_EX_BUS","processHasExistingBusiness","REG_ANNUAL_REPORT_ACTIONS","SET_COMPANY","processAnnualReportJurisdiction","REG_BUSINESS_ACTIONS","processBusDomesticJurisdiction","CREATE_BUSINESS","CREATE_BUSINESS_COMPLETE","processCreateBusinessComplete","errorCode","BUS_MODAL","processBusBusinessData","DATA_CONFIRM","UPDATE_BUSINESS","UPDATE_BUSINESS_COMPLETE","processUpdateBusinessComplete","processStartBusinessComplete","REG_ACCOUNTING_ACTIONS","REG_STOCK_SETUP_ACTIONS","CHOOSE_COMPANY","REG_BUSINESSKIT_ACTIONS","REG_BASICEMAIL_ACTIONS","BUS_DATA_MODAL","processBLRBusinessData","BUS_DATA","AUTH_SIG_MODAL","REG_CD_ACTIONS","processPFCoRABusinessId","processPFCoRABusinessType","BUS_TYPE_NAME_CART","processPFBusinessTypeAndName","businessType","processPFCoRAInit","BUS_DESC_MODAL","REG_DBA_PF_ACTIONS","INIT_REQ_JUR","processDBAInitReqJurisdiction","isInitialJurSupported","REQ_JUR","processDBAReqJurisdiction","HOME_STATE","processDBAHomeState","homeState","domJur","domJurName","DOMESTIC_JUR","processDBADomesticJurisdiction","jur","jurName","DOM_ENTITY","processDomesticEntity","processTRUiCRADomesticJurisdiction","REG_MODAL","REG_DOMAINNAME_ACTIONS","REG_DOMAIN_V2_ACTIONS","REG_EMAIL_V2_ACTIONS","REG_DOMAINPRIVACY_ACTIONS","REG_ETNTF_ACTIONS","REG_GS_ACTIONS","REG_LOGOKIT_ACTIONS","ACC_OWN_INFO","processAccountOwnerInfo","BNG_ACTIONS","ACCOWN_DATA","REG_ONLINETOOLS_ACTIONS","REG_OPAGREEMENT_ACTIONS","REG_SMB_WEBSITE_ECOMM_ACTIONS","REG_SMB_ECOMM_ADDON_ACTIONS","REG_SMB_WEBSITE_OR_ECOMM_ACTIONS","REG_SMB_WEBSITE_ACTIONS","processWFGBusinessData","REG_WFGIR_ACTIONS","REG_VANITY_PRODUCT_ACTIONS","REG_ZBMPRO_ACTIONS","REG_ZBM_PLAID_ACTIONS","SET_PLAID_PUBLIC_TOKENS","REG_TAX_SERVICES_ACTIONS","POSTPURCHASE_ACTIONS","MARK_COMPLETE","postPurchaseEntityCheck","isPostPurchaseEntityCheckEnabled","order_items","orderItems","order_entity_name","orderEntityName","entity_type","orderEntityType","service","daoService","dataEntityType","jurisdiction","domestic_jurisdiction","domestic_entity","foreign_jurisdictions","has_existing_business","has_foreign_jurisdictions","business_purpose","business_order_type","phone","authorized_shares","par_value","activity","dataEntityName","orderItemWithCounty","oi","fullName","entityType","indicatorObj","CORP_INDICATORS","LLC_INDICATORS","_endsWith","substring","_isEmpty","authorized_signatory","err","Error","dataStr","JSON","stringify","reportError","metaData","nextAuthorizedShares","nextValuePerShare","dao_smart_contract_managed","dao_notice_approved","dao_smart_contract_link","addNextStep","_ref","nextStep","step","parentType","skipRequestedJurisdiction","dbaEntities","dbaName","hasDBAComnpliance","skipDBACompliance","dbaCompliance","skipEIN","skipStaticWebsite","spFirstName","spMiddleName","spLastName","spSuffix","businessIndustry","ownerCount","stateFilingDate","stateFilingNumber","hasEIN","ein","initCompanyId","startStep","initialJurisdiction","initialJurisdictionName","isTypeSupported","formWithZB","formInHomeState","saveData","businessIsRegistered","checkOtherDomJurs","loggedInBusSelection","registerDBAInSameState","price","loggedInUserNumberOfBusinesses","simulatedCompanyId","isRegisteringABusiness","skipInititialDomJur","useCompanyConfirmation","isCompanyStateSupported","companyHasForeignQualification","confirmCompanyUsage","confirmDomesticJurisdiction","processDBAName","processOwnerCount","processUser","key","REGISTER_DBA_PF_ACTIONS","STEPS","WELCOME","NEXT_STEP","processNextStep","DBA_NAME","processPreDomesticJurisdiction","DOMESTIC_JUR_CONFIRMATION","processPreDomesticJurConfirmation","processRequestedJurisdiction","processInitialJurisdiction","BUS_TYPE_NOT_FORMED","processFormWithZB","processHomeState","domesticJur","domesticJurName","FORM_IN_HOME_STATE","processFormInHomeState","forExistingBusiness","CHECKPOINT","processCheckpoint","BUS_REGISTERED","processBusRegistered","CHECK_OTHER_JURS","processCheckOtherDomJurs","PRICES","processPrice","processTypeAndBusinessName","createCompleteSuccess","BUS_SELECTION","processBusSelection","processCompanyId","DBA_IN_SAME_STATE","processDBAInSameState","RESET_DATA","processResetData","updateObj","Object","entries","forEach","entry","_has","BUS_HAS_FOREIGN_QUALIFICATION","processForeignQualification","BUS_USAGE_CONFIRM","procesBusUsageConfirmation","COMPLETE_ACTIONS","DBA_MODAL","EIN","processEIN","HAS_EIN","processHasEIN","OWNER_COUNT","OWNER_DATA","processRegistrationModal","STATE_FILING","processStateFiling","DATA_DBA_CONFIRM","parent_type","dba_name","business_industry","owner_count","jurisdiction_filing_date","jurisdiction_filing_number","has_ein","sole_proprietor","soleProprietor","first_name","middle_name","last_name","authSignatory","company_name","authCity","authCounty","is_principal","activeRoute","complianceEventUuid","didAddAmendment","didAddWFC","fieldInfo","filingJurisdiction","filingJurisdictionType","isFetchingJurisdiction","isPurchasingWFG","useCredit","hasWFG","hasARS","hasPurchasedWFC","creditUUID","jurisdictionRules","originalCompanyInfo","defaultTaxPreparer","updatedCompanyInfo","orderCompleteBusinessId","removeFieldFromUpdatedFields","currentUpdates","fieldName","updatedInfo","SKIP_FLOW","ADVANCE_IN_FLOW","newRouteName","SET_COMPLIANCE_EVENT_UUID","FETCH_JURISDICTION_REQ","FETCH_JURISDICTION_COMPLETE","FETCH_COMPLIANCE_EVENT_COMPLETE","complianceEventDueDate","SET_FLOW_CHANGE_FLAGS","flowChangeFlags","SET_ADD_AMENDMENT","SET_ADD_WFC","SET_FOREIGN_JURISDICTION","jurisdictionCode","SET_JURISDICTION_TYPE","jurisdictionType","SET_DEFAULT_TAX_PREPARER","taxPreparer","SET_FOREIGN_JURISDICTION_STATE_ID","RESET_FIELD","SET_FIELD","updatedFieldValue","SET_PURCHASE_WFG","isPurchasing","SET_HAS_WFG","SET_USE_CREDIT","SET_USE_ARS","payload","hasAsstSecretary","hasVicePresident","officers","genId","officer","newValue","parseInt","hasTitle","persons","person","split","indexOf","removeTitle","oldTitle","values","_without","join","addTitle","shift","titleIndex","TITLE_INDEXES","splice","push","updateChoice","_findIndex","idIndex","updateOfficer","newOfficer","$push","processAsstSecretary","ASST_SEC","processChooseAsstSecretary","processChoosePresident","PRES","processChooseSecretary","SEC","processChooseTreasurer","TRSR","processChooseVicePresident","VP","processHasAsstSecretary","processHasVicePresident","processPresident","processSecretary","processTreasurer","processVicePresident","processOfficialListModal","off","directors","hasPresident","hasSecretary","_cloneDeep","processUpdateOfficer","arrayIndex","updatedOfficers","mEmail","mPhoneNumber","CHOOSE_ASST_SEC","CHOOSE_PRES","CHOOSE_SEC","CHOOSE_TRSR","CHOOSE_VP","HAS_ASST_SEC","HAS_VP","UPDATE_OFC","CORP_ASST_SEC","CORP_CHOOSE_ASST_SEC","CORP_CHOOSE_PRES","CORP_CHOOSE_SEC","CORP_CHOOSE_TRSR","CORP_CHOOSE_VP","CORP_HAS_ASST_SEC","CORP_HAS_VP","CORP_OFF_LIST_MODAL","CORP_PRES","CORP_SEC","CORP_TRSR","CORP_VP","convertedOfficers","index","outstanding_judgments","outstandingJudgments","alreadyPurchased","yearlyInterval","CHOOSE_INTERVAL","processChooseInterval","order_status","smbWebsiteOrder","createOrder","creatingOrder","updateOrder","updatingOrder","isSubscription","postpurchaseId","totalPrice","stateFees","bofError","willMarkOrderCompleted","forceToPrivacy","processCreateOrder","processUpdateOrder","processUpdateOrderComplete","CREATE_ORDER","UPDATE_ORDER","UPDATE_ORDER_COMPLETE","REG_AMENDMENT","START","REG_CORP_TRANSPARENCY_ACT_ACTIONS","REG_BOF_MODIFICATIONS_ACTIONS","REG_INITIALCPASCREENING_ACTIONS","RESET_ACTION_ERROR","snapshot","getReducerSnapshot","storeLocal","REG_DBA_ENTITY_PF_ACTIONS","VANITY_PRODUCT_ACTIONS","REG_ZB_BANKING_PREFERRED","GET_PLAID_LINK_TOKEN","CREATE_HURDLR_ORDER","processCreateHurdlrOrder","REG_TAX_SERVICES","processPostpurchasePayment","purchaseBankOfAmericaOffer","purchaseBLR","purchaseRA","purchaseDBAEntity","purchaseFFD","purchaseBusinessKit","purchaseBOF","purchaseCD","purchaseTaxAdvice","purchaseTaxAdviceBizTaxPrep","purchaseWFGIR","purchaseVanityProduct","purchaseVBA","purchaseZbBankingPreferredOffer","purchaseZBMPro","isComplete","CREATE_ORDER_BOF_FAILED","processCreatePostPurchaseOrderBOFFailed","processCreatePostPurchaseOrderComplete","order_uuid","order_tracking","orderTracking","flowType","flow_type","WILL_MARK_ORDER_COMPLETED","hasDemoStore","chooseEcomm","CHOOSE_PACKAGE","processChoosePackage","smbWebsiteOrEcommOrder","citizenship","dateOfBirth","orderToken","password","identifyUser","processName","processContact","processAccountOwnerData","processEmail","processFirstName","processLastName","processPhone","processCleanUpCardData","processRemagineCart","isLoggedIn","defaultData","ACCOWN_NAME","processContactAndPassword","ACCOWN_EMAIL","ACCOWN_FIRST_NAME","ACCOWN_LAST_NAME","ACCOWN_MIDDLE_NAME","processMiddleName","ACCOWN_PHONE","ACCOWN_SUFFIX","processSuffix","CART","processOwnerInformation","GET_ACCOUNT_COMPLETE","processAccountComplete","account_uuid","account_email","account_phone","SET_LOGOUT","processLogout","orderArray","formation","addressTop","zbmProMonthly","accountant1800","accountant1800AddOn","accountant1800UpsellSkip","anonymity","anonymityAddOn","anonymityUpsellSkip","accountingGrowAndScale","accountingQuickStart","accountingUpAndRunning","annualReportService","banking","bankingAddOn","bankingUpsellSkip","bankingResolution","bankingResolutionAddOn","bankingResolutionUpsellSkip","bankOfAmericaOffer","basicEmail","basicEmailAddOn","basicEmailUpsellSkip","cpaConsult","cpaConsultAddOn","cpaConsultUpsellSkip","changeOfAgent","changeOfAgentAddOn","changeOfAgentUpsellSkip","corporateDocs","corporateDocsAddOn","corporateDocsUpsellSkip","domainNameAddOn","domainNameUpsellSkip","domainNamePrivacy","domainNamePrivacyAddOn","domainNamePrivacyUpsellSkip","einAddOn","einUpsellSkip","estimatedFormationDate","expedite","expediteAddOn","expediteUpsellSkip","expenseTrackerNTaxFiling","initialCPAScreening","initialCPAScreeningAddOn","initialCPAScreeningUpsellSkip","insurance","insuranceAddOn","insuranceUpsellSkip","logoKit","nameReservation","nyPublication","nyPublicationAddOn","nyPublicationUpsellSkip","operatingAgreement","operatingAgreementAddOn","operatingAgreementUpsellSkip","planLevel","privacy","privacyAddOn","privacyUpsellSkip","smbEcommAddon","smbWebsite","smbWebsiteEcomm","smbWebsiteOrEcomm","staticWebsite","staticWebsiteAddOn","staticWebsiteUpsellSkip","taxPreparation","taxPreparationAddOn","taxPreparationUpsellSkip","worryFree","worryFreeAddOn","worryFreeUpsellSkip","registeredAgentService","blr","zbTaxAdvice","zbBizTaxPrep","zbTaxAdviceBizTaxPrep","einBizDocsOaBundle","bizDocsBlrBundle","einBusinessDocsBundle","websiteToolsBundle","processBasicEmail","processDomainNamePrivacy","processExpedite","processEstimatedFormationDate","processProductConfirm","processStaticWebsite","customer","purchaseData","BOA_OFFER","processBankOfAmericaOffer","processBusinessData","purchase","PRODUCT_CONFIRM","PURCH_BANK","processBanking","PURCH_BANK_RES","processBankingResolution","PURCH_CORP_DOCS","processCorporateDocs","PURCH_DOMAIN","processDomainName","PURCH_DOMAIN_PRIV","PURCH_EIN","PURCH_EMAIL","PURCH_EXP","PURCH_EXPEDITE","PURCH_NYPUB","processNYPub","PURCH_NYPUB_PF","processNYPubPF","PURCH_OP_AGREE","processOperatingAgreement","processPrivacy","PURCH_WEBSITE","PURCH_WF","processWorryFree","PURCH_RAS","processRASPurchase","processSetPayment","processStartAccounting","processAnnualReportWFG","PLAN","EMAIL_ADDRESS","processEmailAddresses","START_EIN","processRegEINPurchase","processRegETNTFPurchase","PURCHASE","processETNTFPurchase","processRegNameReservationPurchase","processRegNYPubPurchase","processRegWFGPurchase","processWorryFreeAndARS","processRegSMBWebsitePurchase","processRegSMBWebsiteEcommPurchase","processRegSMBEcommAddonPurchase","processRegSMBWebsiteOrEcommPurchase","PURCH_REG_AGT","processRegisteredAgent","ra","EST_DATE","estimated_formation_date","item","priorityString","zbBankingPreferred","period","starterPlan","proPlan","premiumPlan","raStarterPlan","raProPlan","raPremiumPlan","subscriptionPlanWithRa","subscriptionPlan","directorCount","getNextId","director","fixupTitle","processDirectorCount","processDirectorList","nextId","_isString","processOfficerListModal","presidentId","vicePresidentId","treasurerId","secretaryId","asstSecretaryId","retVal","processDBAOwnerList","owners","processUpdateDirector","updatedDirectors","DIR_COUNT","DIR_LIST","UPDATE_DIR","CORP_DIR_COUNT","CORP_DIR_LIST","CORP_DIR_LIST_MODAL","OWNERS","OWNER_MODAL","dirs","Array","isArray","director_count","convertedDirectors","hasVariableFee","sharesCollected","feePaid","SET_CORP_STOCK_FLOW","processSetCorpStockFlow","raSelected","forceCompany","forcePerson","processRAData","privacySet","clearData","registeredAgentType","RA_DATA","REG_AGT","skipPlansPage","REG_AGT_MODAL","processPurchaseRegisteredAgent","SET_REG_AGENT","REG_AGENT","OTHER_PLAN","processNYPubStart","raType","processWFGBusinessId","registeredAgent","registered_agent","hasOngoingBof","DOMAIN_NAMES","busDetailsLocked","domJurNotReqJurs","electiveCEO","existingJurisdictions","fees","filingDates","foreignQualFiling","foreignRegistration","formationOnParam","formWithZen","hasElectiveCEO","hasFormation","idOnParam","jurisdictionOnParam","jurisdictionOrder","pendingStates","requestedJurisdictions","requestedJurisdictionNames","requestedJurisdictionCount","selfFile","skipHasFormation","skipRequestedJurisdictions","skipBusinessName","skipBusinessType","sopContact","startFromInit","stateIds","statePINs","typeOnParam","upsellDomJur","whoFilesPaperwork","needsPrincipals","needsContact","needsCoraContacts","needsBusinessData","needsBusinessIndustry","needsAddresses","needsDomesticJurisdictionData","STATE_NAMES","names","sortRequestedJurisdictions","_clone","sort","a","b","createJurisdictionOrder","_filter","reqJur","_indexOf","unshift","includeTitle","processBusinessIndustry","processElectiveCEO","processSOPContact","filingDate","statePIN","therest","keys","reduce","acc","processPFAccountOwnerEmail","processPFAccountOwnerFirstName","processPFAccountOwnerLastName","processPFAccountOwnerPhoneNumber","processPFBusinessId","cora","needsPrincipalAddress","processBusinessTypeAndName","processPFCheckpoint","CHOOSE_DOM_JUR","processPFChooseDomesticJurisdiction","newPendingStates","CHOOSE_HAS_FORMATION","processPFChooseHasFormation","processPFCreateOrderComplete","processPFDomesticEntity","processPFDomesticJurisdiction","FOREIGN_QUAL_FILING","processPFForeignQualFiling","FOREIGN_REG","processPFForeignRegistration","_isUndefined","FORM_WITH_ZEN","processPFFormWithZen","HAS_FORMATION","processPFHasFormation","foreignReg","HOW_TO_FILE","processPFHowToFile","newValues","reqJurs","count","processPFInit","processPFPlan","processPFPrices","REG_STATES_FROM_CART","processPFRegisteredStatesFromCart","registeredStates","newRequestedJurisdictions","hasDomJur","newUpsellDomJur","_forEach","REQ_JURS","processPFRequestedJurisdictions","UNREG_STATES_FROM_CART","processPFUnregisteredStatesFromCart","unregisteredStates","UPSELL_DOM_JUR","processPFUpsellDomJur","BUS_INFO_MODAL","CHOOSE_ELECTIVE_CEO","CHOOSE_SOP_CONTACT","ELECTIVE_CEO","ELECTIVE_CEO_MODAL","HAS_ELECTIVE_CEO","processHasElectiveCEO","SOP_CONTACT","SOP_CONTACT_MODAL","STATE_FILING_MODAL","ras","domestic_jurisdiction_filing_date","domJurFilingDate","domestic_jurisdiction_filing_number","domJurStateId","domestic_jurisdiction_state_info","domJurStateInfo","foreign_jurisdiction_objects","forJurObjects","is_primary","isPrimary","sop_contact","has_elective_ceo","jurisdiction_order","existing_jurisdictions","pending_states","needs_addresses","needs_business_data","needs_business_industry","needs_contact","needs_cora_contacts","needs_domestic_jurisdiction_data","needs_principal_address","needs_principals","jurisdiction_state_pin","domJurStatePIN","jurisdiction_elective_ceo","domJurElectiveCEO","fjo","jurisdiction_code","foJur","fojFilingDate","fojStateId","extra_state_info","extraStateInfo","state_pin","fojStatePIN","elective_ceo","fojElectiveCEO","jurOrder","reqJurNames","existingJurs","pendingJurs","existingJurMap","reqJurName","processChooseCompany","businessAddressLine1","businessAddressLine2","businessCity","businessState","businessZipCode","contactFirstName","contactMiddleName","contactLastName","contactSuffix","contactCompanyName","contactAddressLine1","contactAddressLine2","contactCity","contactState","contactZipCode","contactPhoneNumber","contactEmail","CHOOSE_STATE","processState","gsState","processUseCredit","ACTION_TO_URL_MAP","URLS","LOGIN_POST","PURCH_CORP_BYLAWS","PURCH_START","STATE_REQ","REG_BLR_URLS","BUS_EXIST","REG_CORA_PF_URLS","QUESTIONNAIRE","CONGRATS","REG_DBA_ENTITY_PF_URLS","REG_EIN_URLS","BUS_ADDR","BUS_ADDR_UNL","CORP_TAXED","NO_COMPANY","REG_NAMERES_URLS","SHARE","REG_NYPUB_URLS","REG_WFG_URLS","LLC_URLS","SET_BUS_RUN","BUS_RUN","CHOOSE_PRIM_CONTACT","DBA_ENTITIES","DOMAIN_NAME","MBR_COUNT","MGR_COUNT","PRIM_CONTACT","PURCHASE_DBA_COMPLIANCE","PURCHASE_DBA_ENTITY","SET_MBR_LIST","MBR_LIST","SET_MGR_LIST","MGR_LIST","SET_MGR_OPT","MGR_OPT","START_COMP","CORP_URLS","SHARE_NEW_CORP","COMP_BLR_URLS","BUS_INDUSTRY","BUS_AT_HOME","EMPL_COUNT","HAS_DBAS","HAS_EMPLOYEES","LLC_BUS_RUN","LLC_MGR_LIST","LLC_MGR_OPT","LLC_MBR_LIST","START_BUS_DATA","START_BLR_DATA","COMP_CORA_URLS","CHOOSE_OFF_STATE_CONTACT","OFF_STATE_CONTACT","COMP_DBA_URLS","IS_DOM_JUR","ATF","COMP_EIN_URLS","BUS_720","BUS_QUEST_START","CHOOSE_RESP","DBA_NAMES","HAS_EMPL_W2","EMPL_W2","GAMBLING","HAS_SSN","LLC_ARE_MARRIED","LLC_MARRIED_TAXED","NO_SSN","RESP_INFO","VEHICLE","VEHICLE_WEIGHT","COMP_BUSINESS_URLS","LLC_MBR_COUNT","LLC_MGR_COUNT","COMP_NYPUB_URLS","ACCOWN_ADDR","COMP_WFG_URLS","ACCOWN_ADDR_UNL","BLR_BUS_AT_HOME","POSTPURCHASE_URLS","BLR_BUS_INDUSTRY","BLR_DATA_CONFIRM","BLR_EMPL_COUNT","BLR_HAS_DBAS","BLR_HAS_EMPLOYEES","BLR_START","FUTURE_FILING_DATE","PURCHASE_BLR","PURCHASE_FFD","PURCHASE_CD","PURCHASE_TAX_ADVICE_BUNDLE","PURCHASE_WFGIR","BNG_URLS","RESULTS","REDIRECT","BUS_NAME_REDIRECT","ACTION_ORDER","CORP_INFO","PRODS_SOLD","PURCHASE_FEEDBACK","completedAction","completedUrl","completedActionIndex","isMigrated","skipNameCheck","skipToDomesticJurisdiction","forceToPayment","forceToDataConfirmation","forceToRegisteredAgent","forceToContact","forceToMembers","forceToManagers","forceToDirectors","forceToOfficers","startFromDashboard","registrationFlow","processPage","actionIndex","currentUrl","location","pathname","completeUrl","lastIndex","lastIndexOf","forceBusinessId","processPrePurchaseComplete","processPostPurchaseComplete","processSetForceNoPage","processSetForce","processClearForce","processRegisterEIN","processLogin","flow","noProcess","processRegistrationBusinessId","LOGIN","processRegistrationStart","fromBNG","processBusinessStart","processRegisterCoRAPF","FLOW_COMPLETE","processRegisterDBAEntityPF","SET_PAYMENT_FORCE","processRegisterWFG","PAYMENT_COMPLETE","completed_action","ca","completed_url","compUrl","completed_action_index","compActionIndex","reducerData","businessIndustryId","businessIndustryLabel","businessOutOfHome","employeesCount","existingCompany","hasDBAs","hasEmployees","skipBLR","processBusinessOutOfHome","processEmployeesCount","processHasDBAs","processHasEmployees","processLicenseData","LIC_DATA_MODAL","BLR_LIC_DATA_MODAL","processPostpurchaseStart","BLR_SKIP","processSkipBLR","formationBusLic","formationFull","some","includes","business_data","businessData","out_of_home","industry_id","industry_label","has_trade_names","has_employees","employees_count","existing_company","_isInteger","lastFour","orderId","orderTaskUuid","planDisplayName","plan","planData","processingMigration","term","termEndDate","MIGRATE_MONEY_PLAN","MIGRATE_MONEY_PLAN_COMPLETE","processMigrateMoneyPlanComplete","_ref2","displayName","opagreement","opagreCompliance","typebrand","llcMarried","llcSingleMember","taxedAsSCorp","corpCareOf","corpClosingMonth","dbas","responsibleParty","mailingAddressRequired","physicalAddressRequired","principalAddressRequired","gambling","atf","employeesW2","w2WagesPaidDate","w2AgriculturalEmployeeCount","w2OtherEmployeeCount","w2WagesLessThan1000","motorVehicle","motorVehicleWeight","businessForm720","businessActivity1","businessActivity2","businessActivity3","businessActivity4","businessActivity5","businessActivitySpecify","startDate","memberCount","reason","hasSSN","ssnItin","processDBABusinessActivity","businessActivitySpecial","processCorpTaxed","processATF","drugsFirearms","processBusinessForm720","required720Form","processChooseResponsible","ssn","legalName","previousEin","alternateLastNames","collectDataFromUser","hadSuffix","CORP_DATA","processCorpData","processCorpInfo","processDBAs","EIN_DATA","processEINData","EIN_REASON","processEINReason","processEmployeesW2","W2","processHasEmployeesW2","processGambling","processHasSSN","processLLCMarried","processLLCSingleMember","processLLCMemberCount","MBR_DATA","processMemberData","RESP_DATA","processResponsibleData","processResponsibleInfo","RESP_PARTY","processResponsibleParty","processStartEIN","processMotorVehicle","vehicle","processMotorVehicleWeight","taxableVehicle","SKIP_EIN","processSkipEIN","members","DBA_ACTIONS","formationEin","formationDBA","sCorpDesignation","dbaBusActivity","formBusinessActivity","setBusinessActivity","notLoaded","tax_info","taxInfo","responsible_party","user","trade_names","member_count","userAddressLine1","userAddressLine2","userCity","userCounty","userState","userZipCode","userCountry","userPhoneNumber","userEmail","legal_name","ein_number","einNumber","previous_ein","alternate_last_names","has_ssn","taxed_as_s_corp","responsiblePartyInfoLoaded","hasDBAsFromString","gambing","startDatePieces","start_date","members_are_married","taxed_as_single_member_llc","corp_care_of","corp_closing_month","alcohol_tobacco_firearms","employees_with_w2","w2_wages_paid_date","w2_agricultural_employees_count","w2_other_employees_count","w2_wages_lt_1000","highway_vehicle","highway_vehicle_over_55000","files_form_720","level_1","level_2","level_3","level_4","level_5","specify","stockSetup","SET_STOCK_FEE","processSetStockFee","stock_fee","stockFee","net_total","netTotal","stockTotalAdjusted","feeBreakdown","calculatorType","share_qty","newData","feesAdjusted","mapped","mappedFees","currentFee","feeType","fee_type","replace","amount","amount_fee_adjusted","endsWith","mapFeesToAdjusted","stockFees","fee","stockTotal","fields","shareQty","parValue","onlyOwner","processBusinessRunners","processManagerOption","managerType","member","manager","processMemberCount","processMemberList","processUpdateMember","updatedMembers","UPDATE_MBR","LLC_MBR_LIST_MODAL","LLC_MGR_OPT_MODAL","processStartBusiness","onlyOne","convertedMembers","processPrimary","EMAIL_ADDRESSES","EMAIL_ADDRESS_MODAL","SELECT_DOMAIN","processRegistrationInit","domainSearch","selectedDomainNames","selectedEmailAddresses","domainNameOrder","emailOrder","domain_verified","email_address","filingAction","futureFilingDate","bofOngoing","purchaseDBACompliance","purchaseExpenseTrackerAndTaxFiling","showZBMPro","taxAdviceMonthly","taxAdviceBizTaxPrepMonthly","showCD","processDBAEntities","processFutureFilingDate","processPurchaseRA","processPurchaseDBACompliance","processPurchaseDBAEntity","processPurchaseVBA","FFD_DATA_MODAL","processPurchaseBLR","PURCHASE_RA","PURCHASE_BUSINESSKIT","processPurchaseBusinessKit","PURCHASE_BOF","processPurchaseBOF","processPurchaseFFD","processPurchaseCD","processPurchaseWFGIR","processPurchaseTaxAdviceBundle","PURCHASE_ZBMPRO","processPurchaseZBMPro","PURCHASE_EXPENSE_TRACKING_AND_TAX_FILING","processPurchaseExpenseTrackerAndTaxFiling","PURCHASE_BOA_OFFER","PURCHASE_BANKING_PREFERRED_OFFER","processZbBankingPreferredOffer","GET_ACCOUNT_HAS_ZB_MONEY_PRO","processAccountHasZBMoneyProSubscription","hasZBMoneyProSubscription","PURCHASE_REGISTERED_AGENT","PURCHASE_VBA","VANITY_PRODUCT_OFFER","processVanityProduct","tempOrderTracking","tempOrder","to","purchase_zb_banking_preferred_offer","purchase_bank_of_america_offer","purchase_blr","purchase_business_kit","purchase_bof","bof_ongoing","purchase_dba_compliance","purchase_dba_entity","dba_entities","expense_tracking_with_tax_filing","purchase_ffd","purchase_cd","purchase_ra","purchase_tax_advice","tax_advice_monthly","purchase_tax_advice_biztax_prep","tax_advice_biztax_prep_monthly","purchase_vba","purchase_vanity_product","purchase_zbmpro","zbmpro_monthly","filing_action","future_filing_date","purchase_wfgir","isPF","smbWebsiteEcommOrder","kickstarter","convertDate","dateStr","Date","parse","e","GET_ACCOUNT","loading","loaded","processGetAccountComplete","account_name","account_status","account_type","created_datetime","createdDateStr","status_updated_datetime","statusUpdatedDateStr","international","self_declared_business_name","self_declared_business_type","jobType","self_declared_business_type_other_text","jobTypeDescription","lead","createdDate","statusUpdatedDate","ACCEPT_TOS_COMPLETE","tosAccept","adding","updating","deleting","settingDefault","ids","paymentMethods","isRecurly","defaultId","ADD_PAYMENT_METHOD","processAddPaymentMethodComplete","isDefault","DELETE_PAYMENT_METHOD","processDeletePaymentMethod","DELETE_PAYMENT_METHOD_COMPLETE","processDeletePaymentMethodComplete","$splice","$unset","SET_PAYMENT_METHOD_DEFAULT","processSetDefaultPaymentMethod","SET_PAYMENT_METHOD_DEFAULT_COMPLETE","processSetDefaultPaymentMethodComplete","UPDATE_PAYMENT_METHOD","processUpdatePaymentMethod","UPDATE_PAYMENT_METHOD_COMPLETE","processUpdatePaymentMethodComplete","GET_PAYMENT_METHODS","GET_PAYMENT_METHODS_COMPLETE","processGetPaymentMethodsComplete","sources","default_source","is_recurly","method","getPaymentMethodUpdates","exp_month","expMonthVal","exp_year","expYearVal","combineReducers","details","SET_ACTIVE_COMPANY","processSetActive","activeId","companyMap","lastActiveId","map","businessEntityId","business_entity_name","list","SIMULATED_ENTITY_NAME","convertAddress","address_line1","address_line2","convertUser","convertMember","convertCorpUser","business_entity_type","business_entity_data","entityData","business_entity_website_url","staticWebsiteUrl","naics_code","naicsCode","jurisdictions","jurs","domains","domain_names","domain_privacy","domainPrivacy","domestic_jurisdiction_code","domesticJurisdictionInEntity","credits","creds","topBusinessPurpose","formation_status","formationStatus","formed_by","formedBy","principalAddress","nestedBusinessPurpose","manager_type","managers","structure","isPhysicalAddressEmpty","isMailingAddressEmpty","convertedPrincipalAddress","convertedMailingAddress","convertedPhysicalAddress","filter","credit_balance_status","creditStatus","service_product_name_id","creditService","total_credits","totalCredits","credit_balance_uuid","uuid","worryFreeServiceAdvancedCredits","_ref3","_ref4","domestic_flag","isDomestic","officialStateContact","stockInfo","serviceMap","accounting","accounting_grow_and_scale","accounting_quick_start","accounting_up_and_running","annual_report_service","banking_resolution","basic_email","beneficial_ownership_filing","business_license_report","change_of_registered_agent","corp_amendment","corp_formation","corporate_docs","cpa_consult","dba_compliance","dba_entity","domain_name_privacy","domain_name_reg","ein_creation","entity_name_reservation","future_file_date","initial_cpa_screening","llc_amendment","llc_formation","logo_kit","ny_publication","ongoing_bof_compliance","operating_agreement","other","registered_agent_service","rush","s_corp_designation","smb_ecomm_addon","smb_website_ecomm_bundle","standard_good_standing","static_website","tax_preparation","wfg_initial_report","worry_free_service","zb_money_essential","zb_money_pro","getOrderUpdates","nonCancelledOrders","items","serv","isCanceled","accountingOld","amendment","beneficialOwnershipFiling","businessLicenseReport","corpFormation","dbaEntity","futureFileDate","goodStanding","llcFormation","ongoingBofCompliance","smbWebsiteEcommBundle","wfgInitialReport","zbmEssential","zbmPro","processGetOrdersComplete","up","GET_ORDER_COMPLETE","processGetOrderComplete","orderList","idMap","orderStatus","getBusinessType","getCompanyUpdates","hasKey","active_flag","isActive","companyData","refreshCompanies","needsRefresh","refreshCompaniesNoStatusCheck","GET_COMPANIES","GET_COMPANY_COMPLETE","processGetCompanyComplete","EIN_ACTIONS","BUSINESS_ACTIONS","GET_FILES_COMPLETE","processGetFilesComplete","files","file","getFileUpdates","document_uuid","documentId","category","meta_data","url","created","processDocuments","documents","normalizedDocuments","document","corporate_document_uuid","isOpAgree","isOpAgreeGeneric","isCorpBylaws","isVirtualGuide","isCorporateDoc","all","getTime","GET_FILES","processGetFiles","fileList","uploaded_date","entryPoint","getAppEntryPoint","plans","coupons","SET_APP_ENTRY_POINT","setAppEntryPoint","pricing","SET_INITIALIZATION","business_entity_address","corporation_type","has_bank_accounts","hasBankAccounts","bank_accounts","bankAccounts","has_credit_cards","hasCreditCards","credit_cards","creditCards","naics","naics_description","businessActivityOther","company_members","ownerList","business_entity_contact","owner","getOwner","ownership_percentage","percentFloat","date_of_birth","dob","role","percent","accountOwner","amendment_type","amendment_description","business_dba_name","bank_account_members","numOwners","access","entityProduct","getFormationProductUpdates","has_foriegn_jurisdictions","domestic_filing_date","state_id","ma","mailingAddressLine1","mailingAddressLine2","mailingCity","mailingCounty","mailingState","mailingZipCode","mailingCountry","getEntityProductUpdates","processGetOrderTasksComplete","orderTasks","task","order_task_uuid","order_task_type","orderTaskType","order_task_data","orderTaskData","orderItemUuid","order_item_uuid","order_task_jurisdiction","state_fees","GET_ORDER_TASKS","GET_ORDER_TASKS_COMPLETE","getAddress","getAddressSet","einProduct","mailAddr","prinAddr","physAddr","getEINProductUpdates","business_kit","businessKit","standalone","primaryContact","users","outstandingJudgment","emailItem","emailDomesticJurisdiction","productEIN","ssn_itin","collect_data_from_user","formation_jurisdiction","business_entity_mailing_address","insContact","has_website","hasWebsite","website","business_years","businessYears","business_income","businessIncome","has_insurance_claims","hasInsuranceClaims","has_workers_comp_claims","hasWorkersCompClaims","workers_comp_claims_description","workersCompClaimsDescription","has_property_liability_claims","hasPropertyLiabilityClaims","property_liability_claims_description","propertyLiabilityClaimsDescription","policy_start_type","policyStartType","policy_start_date","policyStartDate","liability_limit_type","liabilityLimitType","claim_liability_limit","claimLiabilityLimit","aggregate_liability_limit","aggregateLiabilityLimit","has_equipment_coverage","hasEquipmentCoverage","equipment_type","equipmentType","has_equipment_mobile","hasEquipmentMobile","equipment_value","equipmentValue","has_property_coverage","hasPropertyCoverage","building_year_built","buildingYearBuilt","building_materials","buildingMaterials","building_stories","buildingStories","has_building_sprinklers","hasBuildingSprinklers","has_building_fire_alarm","hasBuildingFireAlarm","has_building_burgler_alarm","hasBuildingBurglerAlarm","has_building_other_addresses","hasBuildingOtherAddresses","building_other_address_list","buildingOtherAddressList","has_workers_comp_coverage","hasWorkersCompCoverage","has_other_coverage","hasOtherCoverage","other_coverage_list","otherCoverageList","other_coverage_description","otherCoverageDescription","getContact","setOrderDataSentDuringRegistration","registeredAgents","raAddresses","is_cora","isCoRA","domesticJurisdictionFilingDate","domesticJurisdictionStateId","domesticJurisdictionStateInfo","foriegnJurisdictionObjects","domesticJurisdictionStatePIN","domesticJurisdictionElectiveCEO","isRequested","jurisdicion_filing_number","convertedManagers","ny_publication_county","is_generic","isGeneric","initManagers","initMembers","llc_business_address","initLLCBusinessAddress","llc_mailing_address","initLLCMailingAddress","businessEmail","preemptive_rights","preemptiveRights","right_of_first_refusal","rightOfFirstRefusal","financial_report_frequency","financialReportFrequency","internal_financial_audit","internalFinancialAudit","tax_advances","taxAdvances","day_to_day_majority","dayToDayMajority","meeting_of_members_majority","meetingOfMembersMajority","pass_action_without_meeting_majority","passActionWithoutMeetingMajority","amendment_majority","amendmentMajority","terminate_company_majority","terminateCompanyMajority","amend_oa_or_formation","amendOAorFormation","issue_additional_membership","issueAdditionalMembership","appoint_remove_auditors","appointRemoveAuditors","amend_related_party_agreement","amendRelatedPartyAgreement","enter_equity_transactions","enterEquityTransactions","enter_asset_transactions","enterAssetTransactions","establish_subsidiary","establishSubsidiary","offering_and_securities","offeringAndSecurities","fundamental_business_transaction","fundamentalBusinessTransaction","liquidate_or_terminate","liquidateOrTerminate","cancel_liquidate_or_terminate","cancelLiquidateOrTerminate","reinstate_after_termination","reinstateAfterTermination","change_manager","changeManager","members_remove_manager","membersRemoveManager","fill_manager_vacancy","fillManagerVacancy","capital_contribution_approval","capitalContributionApproval","capital_contribution_amount","capitalContributionAmount","make_investment_approval","makeInvestmentApproval","make_investment_amount","makeInvestmentAmount","incur_indebtedness_approval","incurIndebtednessApproval","incur_indebtedness_onetime_amount","incurIndebtednessOneTimeAmount","incur_indebtedness_total_amount","incurIndebtednessTotalAmount","settle_lawsuit_approval","settleLawsuitApproval","settle_lawsuit_amount","settleLawsuitAmount","mailingAddressType","llcBusinessAddress","llcMailingAddress","m","partnership_rep","partnershipRep","manager_notice","managerNotice","email_disabled","emailDisabled","phone_disabled","phoneNumberDisabled","membership_interest","membershipInterest","marital_status","maritalStatus","spouse_name","spouseName","primary_member","primaryMember","official_notice","officialNotice","service_description","planItem","raServices","registeredAgentFormation","isZen","isOther","phone_number","regAgt","itemOrders","createDateStr","updatedTimeStr","updatedDate","efd","refreshOrders","GET_ORDERS","WFG_ACTIONS","vanity_product","vanityProduct","contacts","createAccount","creatingAccount","hasZBMPro","CREATE_ACCOUNT","CREATE_ACCOUNT_COMPLETE","processCreateAccountComplete","didSelectOnlyAnnualReport","upcomingAnnualReportDueDate","changingOwnership","ACCOUNT_TYPE_MAP","checking","savings","inPlan","createdAccounting","createdEIN","hasExistingEIN","createdFormation","matchedBusinessActivity","accountType","routingNumber","accountNumber","fundingAmount","publicToken","accounts","plaidLinkToken","gettingFundingAccounts","gettingPlaidLinkToken","gettingActivities","naicsCodes","naicsSector","naicsSubsector","naicsIndustry","moreInfo","hasITIN","itin","itinInfo","hasW2","W_2","purchaseEIN","START_FROM_COMP_BUS","processStartFromCompleteBusiness","START_PLAN","PURCHASE_EIN","processPurchaseEIN","RESPONSIBLE_PARTY","HAS_ITIN","processHasITIN","ITIN","processITIN","DRUGS_FIREARMS","processDrugsFirearms","HAS_W2","processHasW2","processW2","processVehicle","TAXABLE_VEHICLE","processTaxableVehicle","FORM_720","processForm720","DBAS","BUS_YEARS","processBusinessYears","GET_NAICS_CODES_COMPLETE","proccessGetNaicsCodesComplete","SET_NAICS_SECTOR","processSetNaicsSector","SET_NAICS_SUBSECTOR","processSetNaicsSubsector","SET_NAICS_INDUSTRY","processSetNaicsIndustry","processOwners","OWNER_INFO","processOwnerInfo","FUNDING","processFunding","ACCOUNT_INFO","processAccountInfo","accountFullName","CHOOSE_ACCOUNT","processChooseAccount","GET_FUNDING_ACCOUNTS","GET_FUNDING_ACCOUNTS_COMPLETE","processGetFundingAccountsComplete","act","account_id","accountId","account_number","routing_number","subtype","accountTypeRaw","mask","balances","available","current","balance","GET_PLAID_LINK_TOKEN_COMPLETE","processGetPlaidLinkComplete","linkToken","formationBanking","resident_citizen_age_acknowledge","residentCitizenAgeAck","dobRaw","setBankOfAmericaOffer","careOf","processAccountOwnerName","PRIM_CONTACT_MODAL","OFF_STATE_CONTACT_MODAL","care_of","pubState","pubStateCounty","nyPubCountyCode","useAlbany","locked","processPubState","processPubCountyGeneric","processPubCounty","processRA","processRegBusinessId","NY_PUB_COUNTY_REVERSE_MAP","PUB_COUNTY","PUB_STATE","PUB_STATE_COUNTY","PUB_COUNTY_MODAL","syncUpPlan","goals","homeBased","industry","launchStatus","priorExperience","REG_ACTIONS","home_based","launch_status","prior_experience","currentStep","steps","activeFlow","searchKey","matched","matches","suggestions","selectedBusinessNameSuggestion","vanityUrlId","vanityKey","account","SET_SELECT_ONLY_ANNUAL_REPORT","SET_CHANGING_OWNERSHIP","ARS","FETCH_COMPLIANCE_EVENTS_COMPLETE","upcomingEventDate","annualReport","corpDocs","corpStockFlow","domainV2","emailV2","ettfRenewal","feedback","nypub","page","postpurchase","remagine","wfgir","progressBar","SET_PROGRESS_BAR","RESET_PROGRESS_BAR","businessNameGenerator","SEARCH_BUSINESS_NAMES","SEARCH_BUSINESS_NAMES_COMPLETE","SEL_BUS_NAME_SUGGES","zbmPlaid","taxServices","beneficialOwnershipModification","getPlanPricingDetails","pricingUtils","standaloneServices","expediteFees","setPLans","displayNameToLevel","planLevels","level","setStandaloneServicesByService","formatted","existingInterval","thisInterval","allReducers","initialization","registration","rawPlans","INITIALIZE_PRICING_DATA","productEnabledStatus","publicTokens","accountTier","gettingHurdlrSubscriptionTier","zbmMonthly","errorTier","relinkingPlaidAccount","GET_HURDLR_SUBSCRIPTION_TIER","GET_HURDLR_SUBSCRIPTION_TIER_COMPLETE","processGetHurdlrSubscriptionTierComplete","SET_PLAID_HURDLR_LINK","gettingPlaidHurdlrResponse","SET_PLAID_HURDLR_LINK_COMPLETE","processSetPlaidHurdlrLinkComplete","setPlaidPublicToken","RESET_PLAID_LINK","resettingPlaidLinkToken","RESET_PLAID_LINK_COMPLETE","processResetPlaidLinkComplete","link_token","PLAID_RELINK_LINK","PLAID_RELINK_LINK_COMPLETE","processPlaidRelinkLinkComplete","leadUUID","CREATE_LEAD_COMPLETE","feedbackSource","lead_uuid","managerCount","processManagerCount","processManagerList","memberManagerCount","reverseManagerTypeMap","processUpdateManager","updatedManagers","UPDATE_MGR","LLC_MGR_LIST_MODAL","manager_count","omitKeys","invalidateDate","filingFees","GET_STATE_FEES_COMPLETE","u","stateCode","_omit","GET_EXPEDITE_FEES_COMPLETE","errorMessage","websiteNotPurchased","smbEcommAddonOrder","feedbackAdditional","processFeedback","feedbackOther"],"sourceRoot":""}