@gusto/embedded-react-sdk 0.56.0 → 0.56.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +24 -18
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.js +39 -21
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +85 -82
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +52 -51
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +12 -12
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +40 -40
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +26 -25
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +13 -16
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +0 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +138 -110
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +149 -146
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +4 -0
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +22 -35
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlow.js +49 -36
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js +24 -47
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
- package/dist/components/Payroll/Transition/transitionStateMachine.js +35 -40
- package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
- package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js +48 -0
- package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js.map +1 -0
- package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js +35 -0
- package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js.map +1 -0
- package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js +23 -0
- package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js.map +1 -0
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +32 -0
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +1 -0
- package/dist/components/Payroll/index.js +7 -5
- package/dist/components/Payroll/index.js.map +1 -1
- package/dist/i18n/I18n.js +9 -4
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollBlocker.json.js +10 -8
- package/dist/i18n/en/Payroll.PayrollBlocker.json.js.map +1 -1
- package/dist/i18n/es_US/Company.StateTaxes.json.js +1 -1
- package/dist/i18n/es_US/Contractor.ContractorList.json.js +14 -12
- package/dist/i18n/es_US/Contractor.ContractorList.json.js.map +1 -1
- package/dist/i18n/es_US/Contractor.Management.Compensation.json.js +4 -4
- package/dist/i18n/es_US/Contractor.Management.Profile.json.js +4 -4
- package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js +40 -38
- package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js.map +1 -1
- package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js +18 -16
- package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js.map +1 -1
- package/dist/i18n/es_US/Contractor.Profile.json.js +5 -5
- package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js +11 -9
- package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js.map +1 -1
- package/dist/i18n/es_US/Payroll.OffCyclePayPeriodDateForm.json.js +2 -2
- package/dist/i18n/es_US/Payroll.OffCycleTaxWithholding.json.js +6 -6
- package/dist/i18n/es_US/Payroll.PayrollConfiguration.json.js +15 -15
- package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js +28 -26
- package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js.map +1 -1
- package/dist/i18n/es_US/Payroll.PayrollOverview.json.js +40 -38
- package/dist/i18n/es_US/Payroll.PayrollOverview.json.js.map +1 -1
- package/dist/i18n/es_US/Payroll.PrintChecksBanner.json.js +14 -0
- package/dist/i18n/es_US/Payroll.PrintChecksBanner.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PrintChecksFailure.json.js +12 -0
- package/dist/i18n/es_US/Payroll.PrintChecksFailure.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PrintChecksForm.json.js +26 -0
- package/dist/i18n/es_US/Payroll.PrintChecksForm.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PrintChecksSummary.json.js +14 -0
- package/dist/i18n/es_US/Payroll.PrintChecksSummary.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.UNSTABLE_PayrollEditEmployee.json.js +78 -0
- package/dist/i18n/es_US/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -0
- package/dist/i18n/es_US/common.json.js +1 -1
- package/dist/package.json.js +1 -1
- package/dist/shared/constants.js +21 -20
- package/dist/shared/constants.js.map +1 -1
- package/dist/src/components/Payroll/OffCycle/OffCycleFlow.d.ts +2 -0
- package/dist/src/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +2 -0
- package/dist/src/components/Payroll/OffCycle/offCycleStateMachine.d.ts +1 -0
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +1 -0
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +5 -0
- package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +18 -0
- package/dist/src/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +8 -0
- package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +6 -1
- package/dist/src/components/Payroll/Transition/TransitionFlow.d.ts +17 -15
- package/dist/src/components/Payroll/Transition/TransitionFlowComponents.d.ts +21 -12
- package/dist/src/components/Payroll/Transition/transitionStateMachine.d.ts +25 -4
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayroll.d.ts +55 -0
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollComponents.d.ts +24 -0
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollTypes.d.ts +23 -0
- package/dist/src/components/Payroll/TransitionPayroll/index.d.ts +2 -0
- package/dist/src/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.d.ts +15 -0
- package/dist/src/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.d.ts +28 -0
- package/dist/src/components/Payroll/index.d.ts +2 -0
- package/dist/src/i18n/types.d.ts +6 -0
- package/dist/src/shared/constants.d.ts +2 -0
- package/docs/guides/endpoint-inventory.json +14 -19
- package/package.json +4 -4
package/dist/i18n/I18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18n.js","sources":["../../src/i18n/I18n.ts"],"sourcesContent":["/// <reference types=\"vite/client\" />\nimport { useTranslation } from 'react-i18next'\nimport type { CustomTypeOptions } from 'i18next'\nimport type { Resources } from './types'\nimport { LRUCache } from '@/helpers/LRUCache'\nimport type { ResourceDictionary } from '@/types/Helpers'\n\n/** @internal */\nexport const defaultNS = 'common'\n\nconst translationLoaders = import.meta.glob<Record<string, string>>('./*/*.json', {\n import: 'default',\n})\n\nfunction resolveTranslationLoader(lng: string | undefined, ns: string) {\n const language = lng ?? 'en'\n const primaryPath = `./${language}/${ns}.json`\n const load =\n translationLoaders[primaryPath as keyof typeof translationLoaders] ??\n translationLoaders[`./en/${ns}.json` as keyof typeof translationLoaders]\n return load\n}\n\n//LRU cache holding requested resources\nconst resourceCache = new LRUCache(50)\n/**\n * Dynamic loading of translation resources - works with Suspence to prevent early access to loadable strings\n *\n * @param lng - resource language\n * @param ns - Namespace/name of the component/resource\n * @returns translation resource\n */\nconst loadResource = ({ lng = 'en', ns }: { ns: string; lng?: string }) => {\n let isLoading = true\n let isError = false\n let resource: Record<string, string>\n\n const importResources = async () => {\n try {\n const load = resolveTranslationLoader(lng, ns)\n if (!load) {\n isError = true\n isLoading = false\n return\n }\n resource = await load()\n isLoading = false\n } catch {\n isError = true\n isLoading = false\n }\n }\n const promise = importResources()\n return () => {\n if (isLoading) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw promise // Throw the promise to indicate Suspense should suspend.\n } else if (isError) {\n throw new Error(`Error loading translation for component: ${ns}`) // Handle error\n } else {\n return resource // Return the resource when loading is complete\n }\n }\n}\n\n/**\n * Hook that allows component to load custom dictionary\n *\n * @param ns - Namespace - should match component name exactly - not exposed to consumers\n * @internal\n */\nexport const useI18n = (\n namespaces:\n keyof CustomTypeOptions['resources'] | Array<keyof CustomTypeOptions['resources']> | null,\n) => {\n //Getting our instance of i18n -> supplied by the provider set in GustoProvider\n const { i18n: i18nInstance } = useTranslation()\n //Abort when namespace is not provided\n if (!namespaces) return\n const nsMap = Array.isArray(namespaces) ? namespaces : [namespaces]\n for (const ns of nsMap) {\n // `language` (the requested language) rather than `resolvedLanguage` (the language i18next has\n // already loaded translations for) - resolvedLanguage stays pinned to whatever language already\n // has resources (typically 'en', preloaded in SDKI18next) until a resource bundle is registered\n // under the newly requested language, which is exactly what this loop is trying to do.\n const key = `${i18nInstance.language}:${ns}`\n //Skip loading default resource if it is already in cache\n if (resourceCache.get(key) === null) {\n //If resource not in cache, initiate loading and add getter to cache\n resourceCache.put(key, loadResource({ lng: i18nInstance.language, ns: ns }))\n }\n //Get resourceGetter from cache\n const resourceGetter = resourceCache.get(key)\n if (resourceGetter) {\n const resource = resourceGetter()\n i18nInstance.addResourceBundle(i18nInstance.language, ns, resource, true, false) //Last argument is set to false to prevent override of keys provided by partners on GustoProvider level through dictionary prop\n }\n }\n}\n\n/**\n * Used by individual components to override their dictionaries with partner provided resources\n *\n * @internal\n */\nexport const useComponentDictionary = <K extends keyof Resources>(\n ns: K,\n resource?: ResourceDictionary<K> | null,\n) => {\n const { i18n: i18nInstance } = useTranslation()\n if (resource) {\n for (const lang in resource) {\n i18nInstance.addResourceBundle(lang, ns, resource[lang], true, true)\n }\n }\n}\n"],"names":["defaultNS","translationLoaders","m","resolveTranslationLoader","lng","ns","primaryPath","resourceCache","LRUCache","loadResource","isLoading","isError","resource","promise","load","useI18n","namespaces","i18nInstance","useTranslation","nsMap","key","resourceGetter","useComponentDictionary","lang"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"I18n.js","sources":["../../src/i18n/I18n.ts"],"sourcesContent":["/// <reference types=\"vite/client\" />\nimport { useTranslation } from 'react-i18next'\nimport type { CustomTypeOptions } from 'i18next'\nimport type { Resources } from './types'\nimport { LRUCache } from '@/helpers/LRUCache'\nimport type { ResourceDictionary } from '@/types/Helpers'\n\n/** @internal */\nexport const defaultNS = 'common'\n\nconst translationLoaders = import.meta.glob<Record<string, string>>('./*/*.json', {\n import: 'default',\n})\n\nfunction resolveTranslationLoader(lng: string | undefined, ns: string) {\n const language = lng ?? 'en'\n const primaryPath = `./${language}/${ns}.json`\n const load =\n translationLoaders[primaryPath as keyof typeof translationLoaders] ??\n translationLoaders[`./en/${ns}.json` as keyof typeof translationLoaders]\n return load\n}\n\n//LRU cache holding requested resources\nconst resourceCache = new LRUCache(50)\n/**\n * Dynamic loading of translation resources - works with Suspence to prevent early access to loadable strings\n *\n * @param lng - resource language\n * @param ns - Namespace/name of the component/resource\n * @returns translation resource\n */\nconst loadResource = ({ lng = 'en', ns }: { ns: string; lng?: string }) => {\n let isLoading = true\n let isError = false\n let resource: Record<string, string>\n\n const importResources = async () => {\n try {\n const load = resolveTranslationLoader(lng, ns)\n if (!load) {\n isError = true\n isLoading = false\n return\n }\n resource = await load()\n isLoading = false\n } catch {\n isError = true\n isLoading = false\n }\n }\n const promise = importResources()\n return () => {\n if (isLoading) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw promise // Throw the promise to indicate Suspense should suspend.\n } else if (isError) {\n throw new Error(`Error loading translation for component: ${ns}`) // Handle error\n } else {\n return resource // Return the resource when loading is complete\n }\n }\n}\n\n/**\n * Hook that allows component to load custom dictionary\n *\n * @param ns - Namespace - should match component name exactly - not exposed to consumers\n * @internal\n */\nexport const useI18n = (\n namespaces:\n keyof CustomTypeOptions['resources'] | Array<keyof CustomTypeOptions['resources']> | null,\n) => {\n //Getting our instance of i18n -> supplied by the provider set in GustoProvider\n const { i18n: i18nInstance } = useTranslation()\n //Abort when namespace is not provided\n if (!namespaces) return\n const nsMap = Array.isArray(namespaces) ? namespaces : [namespaces]\n for (const ns of nsMap) {\n // `language` (the requested language) rather than `resolvedLanguage` (the language i18next has\n // already loaded translations for) - resolvedLanguage stays pinned to whatever language already\n // has resources (typically 'en', preloaded in SDKI18next) until a resource bundle is registered\n // under the newly requested language, which is exactly what this loop is trying to do.\n const key = `${i18nInstance.language}:${ns}`\n //Skip loading default resource if it is already in cache\n if (resourceCache.get(key) === null) {\n //If resource not in cache, initiate loading and add getter to cache\n resourceCache.put(key, loadResource({ lng: i18nInstance.language, ns: ns }))\n }\n //Get resourceGetter from cache\n const resourceGetter = resourceCache.get(key)\n if (resourceGetter) {\n const resource = resourceGetter()\n i18nInstance.addResourceBundle(i18nInstance.language, ns, resource, true, false) //Last argument is set to false to prevent override of keys provided by partners on GustoProvider level through dictionary prop\n }\n }\n}\n\n/**\n * Used by individual components to override their dictionaries with partner provided resources\n *\n * @internal\n */\nexport const useComponentDictionary = <K extends keyof Resources>(\n ns: K,\n resource?: ResourceDictionary<K> | null,\n) => {\n const { i18n: i18nInstance } = useTranslation()\n if (resource) {\n for (const lang in resource) {\n i18nInstance.addResourceBundle(lang, ns, resource[lang], true, true)\n }\n }\n}\n"],"names":["defaultNS","translationLoaders","m","resolveTranslationLoader","lng","ns","primaryPath","resourceCache","LRUCache","loadResource","isLoading","isError","resource","promise","load","useI18n","namespaces","i18nInstance","useTranslation","nsMap","key","resourceGetter","useComponentDictionary","lang"],"mappings":";;AAQO,MAAMA,IAAY,UAEnBC,IAAqB,uBAAA,OAAA;AAAA,EAAA,+BAAA,MAAA,OAAA,gCAAA,EAAA,KAAA,CAAAC,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iCAAA,MAAA,OAAA,kCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kCAAA,MAAA,OAAA,mCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kCAAA,MAAA,OAAA,mCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8BAAA,MAAA,OAAA,+BAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+BAAA,MAAA,OAAA,gCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iCAAA,MAAA,OAAA,kCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gCAAA,MAAA,OAAA,iCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iDAAA,MAAA,OAAA,kDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0CAAA,MAAA,OAAA,2CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8CAAA,MAAA,OAAA,+CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kDAAA,MAAA,OAAA,mDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gCAAA,MAAA,OAAA,iCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0CAAA,MAAA,OAAA,2CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uCAAA,MAAA,OAAA,wCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kCAAA,MAAA,OAAA,mCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gCAAA,MAAA,OAAA,iCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gDAAA,MAAA,OAAA,iDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iDAAA,MAAA,OAAA,kDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iDAAA,MAAA,OAAA,kDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0CAAA,MAAA,OAAA,2CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yDAAA,MAAA,OAAA,0DAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+CAAA,MAAA,OAAA,gDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0DAAA,MAAA,OAAA,2DAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gDAAA,MAAA,OAAA,iDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kDAAA,MAAA,OAAA,mDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gDAAA,MAAA,OAAA,iDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8CAAA,MAAA,OAAA,+CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gCAAA,MAAA,OAAA,iCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0CAAA,MAAA,OAAA,2CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+BAAA,MAAA,OAAA,gCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kCAAA,MAAA,OAAA,mCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gCAAA,MAAA,OAAA,iCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iCAAA,MAAA,OAAA,kCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,4CAAA,MAAA,OAAA,6CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uCAAA,MAAA,OAAA,wCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kCAAA,MAAA,OAAA,mCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8BAAA,MAAA,OAAA,+BAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8CAAA,MAAA,OAAA,+CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,4CAAA,MAAA,OAAA,6CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8CAAA,MAAA,OAAA,+CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+CAAA,MAAA,OAAA,gDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uDAAA,MAAA,OAAA,wDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wDAAA,MAAA,OAAA,yDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0CAAA,MAAA,OAAA,2CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yCAAA,MAAA,OAAA,0CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,4CAAA,MAAA,OAAA,6CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oCAAA,MAAA,OAAA,qCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8BAAA,MAAA,OAAA,+BAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oCAAA,MAAA,OAAA,qCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,4CAAA,MAAA,OAAA,6CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iCAAA,MAAA,OAAA,kCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qDAAA,MAAA,OAAA,sDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mDAAA,MAAA,OAAA,oDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sDAAA,MAAA,OAAA,uDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wDAAA,MAAA,OAAA,yDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wDAAA,MAAA,OAAA,yDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iCAAA,MAAA,OAAA,kCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,4BAAA,MAAA,OAAA,6BAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8CAAA,MAAA,OAAA,+CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,4CAAA,MAAA,OAAA,6CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+BAAA,MAAA,OAAA,gCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uCAAA,MAAA,OAAA,wCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kCAAA,MAAA,OAAA,mCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8BAAA,MAAA,OAAA,+BAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+CAAA,MAAA,OAAA,gDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+CAAA,MAAA,OAAA,gDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,4CAAA,MAAA,OAAA,6CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oCAAA,MAAA,OAAA,qCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0CAAA,MAAA,OAAA,2CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yCAAA,MAAA,OAAA,0CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iCAAA,MAAA,OAAA,kCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oCAAA,MAAA,OAAA,qCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oCAAA,MAAA,OAAA,qCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iCAAA,MAAA,OAAA,kCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uCAAA,MAAA,OAAA,wCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uCAAA,MAAA,OAAA,wCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gCAAA,MAAA,OAAA,iCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,4CAAA,MAAA,OAAA,6CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kDAAA,MAAA,OAAA,mDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oBAAA,MAAA,OAAA,qBAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kCAAA,MAAA,OAAA,mCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oCAAA,MAAA,OAAA,qCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iCAAA,MAAA,OAAA,kCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kCAAA,MAAA,OAAA,mCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oCAAA,MAAA,OAAA,qCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oDAAA,MAAA,OAAA,qDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8CAAA,MAAA,OAAA,+CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8CAAA,MAAA,OAAA,+CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gDAAA,MAAA,OAAA,iDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iDAAA,MAAA,OAAA,kDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gDAAA,MAAA,OAAA,iDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qDAAA,MAAA,OAAA,sDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gDAAA,MAAA,OAAA,iDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0CAAA,MAAA,OAAA,2CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yCAAA,MAAA,OAAA,0CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8CAAA,MAAA,OAAA,+CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mDAAA,MAAA,OAAA,oDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gDAAA,MAAA,OAAA,iDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oDAAA,MAAA,OAAA,qDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8CAAA,MAAA,OAAA,+CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oDAAA,MAAA,OAAA,qDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yCAAA,MAAA,OAAA,0CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yCAAA,MAAA,OAAA,0CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,4DAAA,MAAA,OAAA,6DAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kDAAA,MAAA,OAAA,mDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6DAAA,MAAA,OAAA,8DAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mDAAA,MAAA,OAAA,oDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qDAAA,MAAA,OAAA,sDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mDAAA,MAAA,OAAA,oDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iDAAA,MAAA,OAAA,kDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yCAAA,MAAA,OAAA,0CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kCAAA,MAAA,OAAA,mCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oCAAA,MAAA,OAAA,qCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yCAAA,MAAA,OAAA,0CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+CAAA,MAAA,OAAA,gDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0CAAA,MAAA,OAAA,2CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yCAAA,MAAA,OAAA,0CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iCAAA,MAAA,OAAA,kCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iDAAA,MAAA,OAAA,kDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+CAAA,MAAA,OAAA,gDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8CAAA,MAAA,OAAA,+CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iDAAA,MAAA,OAAA,kDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gDAAA,MAAA,OAAA,iDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kDAAA,MAAA,OAAA,mDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0DAAA,MAAA,OAAA,2DAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2DAAA,MAAA,OAAA,4DAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,4CAAA,MAAA,OAAA,6CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+CAAA,MAAA,OAAA,gDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gDAAA,MAAA,OAAA,iDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gDAAA,MAAA,OAAA,iDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sCAAA,MAAA,OAAA,uCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uCAAA,MAAA,OAAA,wCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iCAAA,MAAA,OAAA,kCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uCAAA,MAAA,OAAA,wCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+CAAA,MAAA,OAAA,gDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oCAAA,MAAA,OAAA,qCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wDAAA,MAAA,OAAA,yDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,sDAAA,MAAA,OAAA,uDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yDAAA,MAAA,OAAA,0DAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2DAAA,MAAA,OAAA,4DAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2DAAA,MAAA,OAAA,4DAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oCAAA,MAAA,OAAA,qCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+BAAA,MAAA,OAAA,gCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iDAAA,MAAA,OAAA,kDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+CAAA,MAAA,OAAA,gDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kCAAA,MAAA,OAAA,mCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0CAAA,MAAA,OAAA,2CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qCAAA,MAAA,OAAA,sCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,iCAAA,MAAA,OAAA,kCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yCAAA,MAAA,OAAA,0CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kDAAA,MAAA,OAAA,mDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,kDAAA,MAAA,OAAA,mDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,gDAAA,MAAA,OAAA,iDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+CAAA,MAAA,OAAA,gDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uCAAA,MAAA,OAAA,wCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,6CAAA,MAAA,OAAA,8CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,4CAAA,MAAA,OAAA,6CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uCAAA,MAAA,OAAA,wCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uCAAA,MAAA,OAAA,wCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,oCAAA,MAAA,OAAA,qCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0CAAA,MAAA,OAAA,2CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,wCAAA,MAAA,OAAA,yCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,0CAAA,MAAA,OAAA,2CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,8CAAA,MAAA,OAAA,+CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,mCAAA,MAAA,OAAA,oCAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,2CAAA,MAAA,OAAA,4CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,+CAAA,MAAA,OAAA,gDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,qDAAA,MAAA,OAAA,sDAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,yCAAA,MAAA,OAAA,0CAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,EAAA,uBAAA,MAAA,OAAA,wBAAA,EAAA,KAAA,CAAAA,MAAAA,EAAA,OAAA;AAAA,CAAA;AAI3B,SAASC,EAAyBC,GAAyBC,GAAY;AAErE,QAAMC,IAAc,KADHF,KAAO,IACS,IAAIC,CAAE;AAIvC,SAFEJ,EAAmBK,CAA8C,KACjEL,EAAmB,QAAQI,CAAE,OAA0C;AAE3E;AAGA,MAAME,IAAgB,IAAIC,EAAS,EAAE,GAQ/BC,IAAe,CAAC,EAAE,KAAAL,IAAM,MAAM,IAAAC,QAAuC;AACzE,MAAIK,IAAY,IACZC,IAAU,IACVC;AAiBJ,QAAMC,KAfkB,YAAY;AAClC,QAAI;AACF,YAAMC,IAAOX,EAAyBC,GAAKC,CAAE;AAC7C,UAAI,CAACS,GAAM;AACT,QAAAH,IAAU,IACVD,IAAY;AACZ;AAAA,MACF;AACA,MAAAE,IAAW,MAAME,EAAA,GACjBJ,IAAY;AAAA,IACd,QAAQ;AACN,MAAAC,IAAU,IACVD,IAAY;AAAA,IACd;AAAA,EACF,GACgB;AAChB,SAAO,MAAM;AACX,QAAIA;AAEF,YAAMG;QACGF;AACT,YAAM,IAAI,MAAM,4CAA4CN,CAAE,EAAE;AAEhE,WAAOO;AAAA,EAEX;AACF,GAQaG,IAAU,CACrBC,MAEG;AAEH,QAAM,EAAE,MAAMC,EAAA,IAAiBC,EAAA;AAE/B,MAAI,CAACF,EAAY;AACjB,QAAMG,IAAQ,MAAM,QAAQH,CAAU,IAAIA,IAAa,CAACA,CAAU;AAClE,aAAWX,KAAMc,GAAO;AAKtB,UAAMC,IAAM,GAAGH,EAAa,QAAQ,IAAIZ,CAAE;AAE1C,IAAIE,EAAc,IAAIa,CAAG,MAAM,QAE7Bb,EAAc,IAAIa,GAAKX,EAAa,EAAE,KAAKQ,EAAa,UAAU,IAAAZ,EAAA,CAAQ,CAAC;AAG7E,UAAMgB,IAAiBd,EAAc,IAAIa,CAAG;AAC5C,QAAIC,GAAgB;AAClB,YAAMT,IAAWS,EAAA;AACjB,MAAAJ,EAAa,kBAAkBA,EAAa,UAAUZ,GAAIO,GAAU,IAAM,EAAK;AAAA,IACjF;AAAA,EACF;AACF,GAOaU,IAAyB,CACpCjB,GACAO,MACG;AACH,QAAM,EAAE,MAAMK,EAAA,IAAiBC,EAAA;AAC/B,MAAIN;AACF,eAAWW,KAAQX;AACjB,MAAAK,EAAa,kBAAkBM,GAAMlB,GAAIO,EAASW,CAAI,GAAG,IAAM,EAAI;AAGzE;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e = "Payroll Blockers", o = { recoveryCaseResubmitted: { title: "Payment resubmitted", description: "We are reviewing your submission and will reach out if we need any additional information." }, informationRequestResponded: { title: "We've received your response", description: "We are reviewing your submission and will reach out if we need any additional information." } }, t = "Exit", n = "{{count}} issues are preventing you from running payroll", i = "View All Blockers", r = "View Blocker", a = "Payroll blockers", s = "Blocker", l = "The following issues must be resolved before you can run payroll:", p = "No payroll blockers at this time.",
|
|
1
|
+
const e = "Payroll Blockers", o = { recoveryCaseResubmitted: { title: "Payment resubmitted", description: "We are reviewing your submission and will reach out if we need any additional information." }, informationRequestResponded: { title: "We've received your response", description: "We are reviewing your submission and will reach out if we need any additional information." } }, t = "Exit", n = "{{count}} issues are preventing you from running payroll", i = "View All Blockers", r = "View Blocker", a = "Payroll blockers", s = "Blocker", l = "The following issues must be resolved before you can run payroll:", p = "No payroll blockers at this time.", c = "Estimated time", d = "Unknown blocker", u = "Please contact support.", m = "Payroll blocker", y = { partner_tos_not_accepted: { title: "Terms of Service Required" }, geocode_error: { title: "Address Verification Failed", description: "Company or employee address could not be verified.", help: "Please ensure all addresses are valid and complete." }, geocode_needed: { title: "Address Verification Missing", description: "Company or employee address verification is missing.", help: "Please ensure all addresses are entered correctly." }, missing_signatory: { title: "Signatory Required", description: "A signatory who is authorized to sign documents on behalf of your company is required.", help: "Designate an authorized company signatory to continue.", defaultAction: "Set Up Signatory" }, invalid_signatory: { title: "Signatory Verification Failed", description: "Please ensure that the identity verification of the company signatory is successful.", help: "The signatory must complete identity verification." }, suspended: { title: "Company Suspended", description: "Company is suspended and cannot run payroll.", help: "Contact support if you believe this is an error.", defaultAction: "Contact Support" }, needs_onboarding: { title: "Onboarding Incomplete", description: "Company must complete all onboarding requirements in order to run payroll.", help: "Complete all required onboarding steps.", defaultAction: "Complete Onboarding" }, missing_bank_info: { title: "Bank Account Required", description: "Company must have a bank account in order to run payroll.", help: "Add and verify a company bank account.", defaultAction: "Add Bank Account" }, missing_bank_verification: { title: "Bank Account Verification Required", description: "Company bank account must be verified in order to run payroll.", help: "Complete bank account verification process.", defaultAction: "Verify Account" }, missing_employee_setup: { title: "Employees Required", description: "Company must add employees in order to run payroll.", help: "Add at least one employee to continue." }, missing_pay_schedule: { title: "Pay Schedule Required", description: "Company must have a pay schedule in order to run payroll.", help: "Set up a pay schedule for your employees." }, pay_schedule_setup_not_complete: { title: "Employee Pay Schedule Missing", description: "Some employees don't have a pay schedule set up yet.", help: "Assign all employees to a pay schedule." }, missing_forms: { title: "Forms Require Signature", description: "Company forms must be signed in order to run payroll.", help: "Complete and sign all required forms." }, needs_approval: { title: "Pending Approval", description: "Company needs to be approved to run payroll.", help: "Your account is under review. Please wait for approval." }, pending_payroll_review: { title: "Payroll Under Review", description: "Payroll is blocked. We are reviewing payroll information in your account.", help: "Contact support if you believe this is an error.", defaultAction: "Contact Support" }, contractor_only_company: { title: "Contractor-Only Company", description: "Company is set to contractor_only and cannot run payroll.", help: "Update company type and complete additional onboarding." }, eftps_ic_error: { title: "Electronic Federal Tax Payment System Error", description: "We could not make payments to the Electronic Federal Tax Payment System.", help: "Please contact support.", defaultAction: "Contact Support" }, wc_pending_approval: { title: "Worker's Compensation Pending Approval", description: "Worker's compensation policy needs to be approved.", help: "The worker's compensation process has not been completed and may require more information. Please contact support.", defaultAction: "Contact Support" }, pending_recovery_case: { title: "Recovery Case Pending", description: "Company has an open recovery case that must be resolved in order to unblock payroll.", help: "Please contact support.", defaultAction: "Contact Support" }, pending_information_request: { title: "Information Request Pending", description: "Company has an open information request that must be submitted and approved in order to unblock payroll.", help: "Please contact support.", defaultAction: "Contact Support" }, missing_addresses: { title: "Company Addresses Missing", description: "Company must add addresses in order to run payroll.", help: "Missing company onboarding requirement. Confirm that company addresses have been added.", defaultAction: "Add Addresses" }, missing_federal_tax_setup: { title: "Federal Tax Setup Missing", description: "Company must complete federal tax setup in order to run payroll.", help: "Missing company onboarding requirement. Confirm that company federal tax setup has been completed.", defaultAction: "Complete Federal Tax Setup" }, missing_industry_selection: { title: "Industry Selection Missing", description: "Company must complete industry selection in order to run payroll.", help: "Missing company onboarding requirement. Confirm that a company industry has been selected.", defaultAction: "Select Industry" }, missing_state_tax_setup: { title: "State Tax Setup Missing", description: "Company must complete state tax setup in order to run payroll.", help: "Missing company onboarding requirement. Confirm that the company has completed state tax setup.", defaultAction: "Complete State Tax Setup" } }, f = {
|
|
2
2
|
breadcrumbLabel: e,
|
|
3
3
|
alerts: o,
|
|
4
4
|
exitFlowCta: t,
|
|
@@ -9,23 +9,25 @@ const e = "Payroll Blockers", o = { recoveryCaseResubmitted: { title: "Payment r
|
|
|
9
9
|
blockerSectionLabel: s,
|
|
10
10
|
blockersListDescription: l,
|
|
11
11
|
noBlockersMessage: p,
|
|
12
|
-
estimatedTime:
|
|
13
|
-
defaultBlockerDescription:
|
|
12
|
+
estimatedTime: c,
|
|
13
|
+
defaultBlockerDescription: d,
|
|
14
14
|
defaultBlockerHelp: u,
|
|
15
|
-
|
|
15
|
+
genericBlockerTitle: m,
|
|
16
|
+
blockers: y
|
|
16
17
|
};
|
|
17
18
|
export {
|
|
18
19
|
o as alerts,
|
|
19
20
|
s as blockerSectionLabel,
|
|
20
|
-
|
|
21
|
+
y as blockers,
|
|
21
22
|
l as blockersListDescription,
|
|
22
23
|
a as blockersListTitle,
|
|
23
24
|
e as breadcrumbLabel,
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
f as default,
|
|
26
|
+
d as defaultBlockerDescription,
|
|
26
27
|
u as defaultBlockerHelp,
|
|
27
|
-
|
|
28
|
+
c as estimatedTime,
|
|
28
29
|
t as exitFlowCta,
|
|
30
|
+
m as genericBlockerTitle,
|
|
29
31
|
n as multipleIssuesTitle,
|
|
30
32
|
p as noBlockersMessage,
|
|
31
33
|
i as viewAllBlockers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Payroll.PayrollBlocker.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Payroll.PayrollBlocker.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e = { cancelCta: "Cancelar", effectiveFromLabel: "Válido desde: {{date}}", saveCta: "Guardar", title: "Requisitos de impuestos de {{state}}", validations: { maxValue: "El valor máximo es {{max}}%", minValue: "El valor mínimo es {{min}}%", oneOf: "El valor debe ser uno de los siguientes: {{values}}", required: "Este campo es obligatorio" } }, a = { completeBadge: "Completar", continueCta: "Continuar", continueStateTaxSetupCta: "Seguir con la configuración", defaultRatesAppliedText: "Se aplicaron las tasas de impuestos predeterminadas", editStateTaxCta: "Editar configuraciones de impuestos", emptyTableDescription: "Agrega la ubicación de la empresa o un empleado para comenzar.", emptyTableTitle: "Sin requisitos de impuestos estatales", hamburgerTitle: "Acciones para {{state}}", inProgressBadge: "En progreso", incompleteBadge: "Información faltante", manageRatesCta: "Administrar tasas de impuestos", notStartedBadge: "No iniciado", readyToRunPayrollBadge: "Listo para procesar la nómina", requirementsListCol1: "Estado", requirementsListCol2: "Estado", requirementsListLabel: "Requisitos de impuestos estatales", selfOnboardingWarningDescription: "Si tus empleados realizan la integración por cuenta propia e introducen detalles que modifiquen los requisitos impositivos estatales de tu empresa (por ejemplo, el domicilio en un nuevo estado), puede que debas efectuar nuevamente la configuración de impuestos estatales.", selfOnboardingWarningLabel: "Los empleados que realizan la integración por cuenta propia pueden cambiar los requisitos fiscales de tu empresa", startStateTaxSetupCta: "Comenzar configuración" }, t = { addRateCta: "Agregar tasa de impuesto", addRateDialogDescription: "Programa una nueva configuración de impuestos para que entre en vigor en una fecha futura.", addRateDialogTitle: "Agregar tasa de impuesto para {{state}}", backCta: "Volver a estados", cancelCta: "Cancelar", currentBadge: "Actual", effectiveDateColumnLabel: "Fecha de vigencia", effectiveDateLabel: "Fecha de vigencia", effectiveDatePlaceholder: "Selecciona una fecha de vigencia", emptyHistoryDescription: "Agrega una tasa de impuesto para programar una configuración con fecha futura.", emptyHistoryTitle: "Aún no hay tasas con fecha de vigencia", historicalBadge: "Histórico", noEditableFieldsDescription: "Este estado no muestra requisitos de impuestos editables con fecha de vigencia.", noEditableFieldsTitle: "No hay campos editables", rateScheduledSuccess: "La tasa de impuesto está programada para entrar en vigor el {{date}}.", saveRateCta: "Guardar tasa de impuesto", scheduledBadge: "Programado", statusColumnLabel: "Estado", subtitle: "Historial de tasas de impuestos por fecha de vigencia y tasas programadas a futuro.", title: "Tasas de impuestos para {{state}}" }, i = {
|
|
1
|
+
const e = { cancelCta: "Cancelar", effectiveFromLabel: "Válido desde: {{date}}", noEditableRequirementsDescription: "Este estado no tiene requisitos fiscales editables.", noEditableRequirementsTitle: "No hay requisitos editables", saveCta: "Guardar", title: "Requisitos de impuestos de {{state}}", validations: { maxValue: "El valor máximo es {{max}}%", minValue: "El valor mínimo es {{min}}%", oneOf: "El valor debe ser uno de los siguientes: {{values}}", required: "Este campo es obligatorio" } }, a = { completeBadge: "Completar", continueCta: "Continuar", continueStateTaxSetupCta: "Seguir con la configuración", defaultRatesAppliedText: "Se aplicaron las tasas de impuestos predeterminadas", editStateTaxCta: "Editar configuraciones de impuestos", emptyTableDescription: "Agrega la ubicación de la empresa o un empleado para comenzar.", emptyTableTitle: "Sin requisitos de impuestos estatales", hamburgerTitle: "Acciones para {{state}}", inProgressBadge: "En progreso", incompleteBadge: "Información faltante", manageRatesCta: "Administrar tasas de impuestos", notStartedBadge: "No iniciado", readyToRunPayrollBadge: "Listo para procesar la nómina", requirementsListCol1: "Estado", requirementsListCol2: "Estado", requirementsListLabel: "Requisitos de impuestos estatales", selfOnboardingWarningDescription: "Si tus empleados realizan la integración por cuenta propia e introducen detalles que modifiquen los requisitos impositivos estatales de tu empresa (por ejemplo, el domicilio en un nuevo estado), puede que debas efectuar nuevamente la configuración de impuestos estatales.", selfOnboardingWarningLabel: "Los empleados que realizan la integración por cuenta propia pueden cambiar los requisitos fiscales de tu empresa", startStateTaxSetupCta: "Comenzar configuración" }, t = { addRateCta: "Agregar tasa de impuesto", addRateDialogDescription: "Programa una nueva configuración de impuestos para que entre en vigor en una fecha futura.", addRateDialogTitle: "Agregar tasa de impuesto para {{state}}", backCta: "Volver a estados", cancelCta: "Cancelar", currentBadge: "Actual", effectiveDateColumnLabel: "Fecha de vigencia", effectiveDateLabel: "Fecha de vigencia", effectiveDatePlaceholder: "Selecciona una fecha de vigencia", emptyHistoryDescription: "Agrega una tasa de impuesto para programar una configuración con fecha futura.", emptyHistoryTitle: "Aún no hay tasas con fecha de vigencia", historicalBadge: "Histórico", noEditableFieldsDescription: "Este estado no muestra requisitos de impuestos editables con fecha de vigencia.", noEditableFieldsTitle: "No hay campos editables", rateScheduledSuccess: "La tasa de impuesto está programada para entrar en vigor el {{date}}.", saveRateCta: "Guardar tasa de impuesto", scheduledBadge: "Programado", statusColumnLabel: "Estado", subtitle: "Historial de tasas de impuestos por fecha de vigencia y tasas programadas a futuro.", title: "Tasas de impuestos para {{state}}" }, i = {
|
|
2
2
|
form: e,
|
|
3
3
|
list: a,
|
|
4
4
|
manageRates: t
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
const t = "+ Agregar otro contratista", a = "Agregar un contratista", n = "Una lista de contratistas", r = { confirmCta: "Eliminar contratista", description: "Esto eliminará permanentemente a este contratista de tu cuenta. Esta acción no se puede deshacer.", title: "¿Eliminar al contratista?" },
|
|
1
|
+
const t = "+ Agregar otro contratista", a = "Agregar un contratista", n = "Una lista de contratistas", r = { confirmCta: "Eliminar contratista", description: "Esto eliminará permanentemente a este contratista de tu cuenta. Esta acción no se puede deshacer.", title: "¿Eliminar al contratista?" }, e = "Agrega contratistas para configurarlos para la nómina.", o = "Aún no has agregado ningún contratista", s = "Acciones para {{name}}", i = "Regresar a contratistas", c = "Revisar", l = "Contratistas", g = {
|
|
2
2
|
addAnotherCta: t,
|
|
3
3
|
addContractorCta: a,
|
|
4
4
|
contractorListLabel: n,
|
|
5
5
|
deleteDialog: r,
|
|
6
|
-
emptyTableDescription:
|
|
7
|
-
emptyTableTitle:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
emptyTableDescription: e,
|
|
7
|
+
emptyTableTitle: o,
|
|
8
|
+
hamburgerTitle: s,
|
|
9
|
+
progressBarCta: i,
|
|
10
|
+
reviewCta: c,
|
|
11
|
+
title: l
|
|
11
12
|
};
|
|
12
13
|
export {
|
|
13
14
|
t as addAnotherCta,
|
|
14
15
|
a as addContractorCta,
|
|
15
16
|
n as contractorListLabel,
|
|
16
|
-
|
|
17
|
+
g as default,
|
|
17
18
|
r as deleteDialog,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
s as
|
|
21
|
-
i as
|
|
22
|
-
c as
|
|
19
|
+
e as emptyTableDescription,
|
|
20
|
+
o as emptyTableTitle,
|
|
21
|
+
s as hamburgerTitle,
|
|
22
|
+
i as progressBarCta,
|
|
23
|
+
c as reviewCta,
|
|
24
|
+
l as title
|
|
23
25
|
};
|
|
24
26
|
//# sourceMappingURL=Contractor.ContractorList.json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contractor.ContractorList.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Contractor.ContractorList.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
const a = { compensationUpdated: "Compensación actualizada" }, e = "–", o = "Fijo", t = { description: "Actualiza el tipo y la tarifa de compensación del contratista.", fixedDescription: "Paga una cantidad fija en cada período de pago.", hourlyDescription: "Paga según las horas trabajadas.", successAlert: "Compensación actualizada", title: "Editar compensación", validations: { hourlyRate: "Ingresa una tarifa por hora válida" }, wageTypeLabel: "Tipo de compensación" }, n = "Por hora", i = "${{rate}}/h",
|
|
1
|
+
const a = { compensationUpdated: "Compensación actualizada" }, e = "–", o = "Fijo", t = { description: "Actualiza el tipo y la tarifa de compensación del contratista.", fixedDescription: "Paga una cantidad fija en cada período de pago.", hourlyDescription: "Paga según las horas trabajadas.", successAlert: "Compensación actualizada", title: "Editar compensación", validations: { hourlyRate: "Ingresa una tarifa por hora válida", hourlyRateMax: "La tarifa por hora no puede superar los $1,000,000,000,000.00" }, wageTypeLabel: "Tipo de compensación" }, n = "Por hora", i = "${{rate}}/h", r = "Compensación", s = "Salario", c = {
|
|
2
2
|
alerts: a,
|
|
3
3
|
emptyPlaceholder: e,
|
|
4
4
|
fixedLabel: o,
|
|
5
5
|
form: t,
|
|
6
6
|
hourlyLabel: n,
|
|
7
7
|
hourlyRateValue: i,
|
|
8
|
-
title:
|
|
8
|
+
title: r,
|
|
9
9
|
wageLabel: s
|
|
10
10
|
};
|
|
11
11
|
export {
|
|
12
12
|
a as alerts,
|
|
13
|
-
|
|
13
|
+
c as default,
|
|
14
14
|
e as emptyPlaceholder,
|
|
15
15
|
o as fixedLabel,
|
|
16
16
|
t as form,
|
|
17
17
|
n as hourlyLabel,
|
|
18
18
|
i as hourlyRateValue,
|
|
19
|
-
|
|
19
|
+
r as title,
|
|
20
20
|
s as wageLabel
|
|
21
21
|
};
|
|
22
22
|
//# sourceMappingURL=Contractor.Management.Compensation.json.js.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
const e = { profileUpdated: "Perfil actualizado" }, a = "Correo electrónico", i = "Número de identificación del empleador (EIN)", o = { businessName: "Nombre comercial", changeCta: "Cambiar", einLabel: "Número de identificación del empleador (EIN)", einMask: "••-•••••••", emailDescription: "Se utiliza para enviar notificaciones de incorporación y de pago.", firstName: "Nombre", lastName: "Apellido", middleInitial: "Inicial del segundo nombre", onFileHint: "Ya está en el archivo.", ssnMask: "•••-••-••••", successAlert: "Perfil actualizado", title: "Detalles básicos", validations: { businessName: "El nombre de la empresa es obligatorio", ein: "El EIN debe tener exactamente 9 dígitos.", email: "Ingresa una dirección de correo electrónico válida",
|
|
1
|
+
const e = { profileUpdated: "Perfil actualizado" }, a = "Correo electrónico", i = "Número de identificación del empleador (EIN)", o = { businessName: "Nombre comercial", changeCta: "Cambiar", einLabel: "Número de identificación del empleador (EIN)", einMask: "••-•••••••", emailDescription: "Se utiliza para enviar notificaciones de incorporación y de pago.", firstName: "Nombre", lastName: "Apellido", middleInitial: "Inicial del segundo nombre", onFileHint: "Ya está en el archivo.", ssnMask: "•••-••-••••", successAlert: "Perfil actualizado", title: "Detalles básicos", validations: { businessName: "El nombre de la empresa es obligatorio", ein: "El EIN debe tener exactamente 9 dígitos.", email: "Ingresa una dirección de correo electrónico válida", ssn: 'El SSN debe tener exactamente 9 dígitos, no puede contener solo ceros en ningún grupo y los primeros tres dígitos no pueden ser "666" ni estar en el rango de 900 a 999.', startDate: "La fecha de inicio es obligatoria" } }, n = "Nombre legal", t = "Ningún valor registrado", r = "Detalles básicos", l = {
|
|
2
2
|
alerts: e,
|
|
3
3
|
email: a,
|
|
4
4
|
employerIdentificationNumber: i,
|
|
5
5
|
form: o,
|
|
6
6
|
legalName: n,
|
|
7
7
|
listEmptyPlaceholder: t,
|
|
8
|
-
title:
|
|
8
|
+
title: r
|
|
9
9
|
};
|
|
10
10
|
export {
|
|
11
11
|
e as alerts,
|
|
12
|
-
|
|
12
|
+
l as default,
|
|
13
13
|
a as email,
|
|
14
14
|
i as employerIdentificationNumber,
|
|
15
15
|
o as form,
|
|
16
16
|
n as legalName,
|
|
17
17
|
t as listEmptyPlaceholder,
|
|
18
|
-
|
|
18
|
+
r as title
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=Contractor.Management.Profile.json.js.map
|
|
@@ -1,48 +1,50 @@
|
|
|
1
|
-
const a = "Agregar contratista", t = { cancelCta: "No, regresar", confirmCta: "Sí, cancelar despido", description: "El despido programado de este contratista se cancelará y permanecerá activo.", title: "¿Cancelar despido?" },
|
|
1
|
+
const a = "Agregar contratista", t = "Volver a contratistas", e = { cancelCta: "No, regresar", confirmCta: "Sí, cancelar despido", description: "El despido programado de este contratista se cancelará y permanecerá activo.", title: "¿Cancelar despido?" }, o = "Cancelar recontratación", s = { cancelCta: "No, regresar", confirmCta: "Sí, cancelar recontratación", description: "La recontratación programada de este contratista será eliminada.", title: "¿Cancelar recontratación?" }, n = "Lista de contratistas", r = "Despedir contratista", c = "Fecha de despido", i = { active: { description: "Los contratistas que hayan completado la incorporación aparecerán aquí", title: "No hay contratistas activos" }, dismissed: { description: "Los contratistas despedidos aparecerán aquí", title: "No hay contratistas despedidos" }, onboarding: { description: "Los contratistas que están en proceso de incorporación aparecerán aquí", title: "No hay contratistas en incorporación" } }, d = "Menú de acciones del contratista", l = "Último día: {{date}}", p = "Nombre del contratista", m = "Estado de incorporación", C = "Por hora: {{rate}}/h", g = "Volver a contratar contratista", b = { confirmCta: "Eliminar contratista", description: "Esto eliminará permanentemente a este contratista de tu cuenta. Esta acción no se puede deshacer.", title: "¿Eliminar contratista?" }, L = "Revisar", h = "Comienza el {{date}}", u = { active: "Activo", dismissed: "Despedido", onboarding: "Incorporación" }, v = "Pestañas de estado del contratista", D = "Contratistas", y = "Ver detalles", E = {
|
|
2
2
|
addContractorCta: a,
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
3
|
+
backToListCta: t,
|
|
4
|
+
cancelDismissalDialog: e,
|
|
5
|
+
cancelRehireCta: o,
|
|
6
|
+
cancelRehireDialog: s,
|
|
7
|
+
contractorListLabel: n,
|
|
8
|
+
dismissCta: r,
|
|
9
|
+
dismissalDateLabel: c,
|
|
10
|
+
emptyState: i,
|
|
11
|
+
hamburgerTitle: d,
|
|
12
|
+
lastDayBadge: l,
|
|
13
|
+
nameLabel: p,
|
|
14
|
+
onboardingStatusLabel: m,
|
|
15
|
+
rateHourly: C,
|
|
16
|
+
rehireCta: g,
|
|
17
|
+
removeDialog: b,
|
|
18
|
+
reviewCta: L,
|
|
18
19
|
startsBadge: h,
|
|
19
20
|
tabs: u,
|
|
20
|
-
tabsLabel:
|
|
21
|
-
title:
|
|
22
|
-
viewDetailsCta:
|
|
21
|
+
tabsLabel: v,
|
|
22
|
+
title: D,
|
|
23
|
+
viewDetailsCta: y
|
|
23
24
|
};
|
|
24
25
|
export {
|
|
25
26
|
a as addContractorCta,
|
|
26
|
-
t as
|
|
27
|
-
e as
|
|
28
|
-
o as
|
|
29
|
-
s as
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
r as
|
|
33
|
-
c as
|
|
34
|
-
i as
|
|
35
|
-
d as
|
|
36
|
-
l as
|
|
37
|
-
p as
|
|
38
|
-
m as
|
|
39
|
-
C as
|
|
40
|
-
g as
|
|
41
|
-
b as
|
|
27
|
+
t as backToListCta,
|
|
28
|
+
e as cancelDismissalDialog,
|
|
29
|
+
o as cancelRehireCta,
|
|
30
|
+
s as cancelRehireDialog,
|
|
31
|
+
n as contractorListLabel,
|
|
32
|
+
E as default,
|
|
33
|
+
r as dismissCta,
|
|
34
|
+
c as dismissalDateLabel,
|
|
35
|
+
i as emptyState,
|
|
36
|
+
d as hamburgerTitle,
|
|
37
|
+
l as lastDayBadge,
|
|
38
|
+
p as nameLabel,
|
|
39
|
+
m as onboardingStatusLabel,
|
|
40
|
+
C as rateHourly,
|
|
41
|
+
g as rehireCta,
|
|
42
|
+
b as removeDialog,
|
|
43
|
+
L as reviewCta,
|
|
42
44
|
h as startsBadge,
|
|
43
45
|
u as tabs,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
v as tabsLabel,
|
|
47
|
+
D as title,
|
|
48
|
+
y as viewDetailsCta
|
|
47
49
|
};
|
|
48
50
|
//# sourceMappingURL=Contractor.ManagementContractorList.json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contractor.ManagementContractorList.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Contractor.ManagementContractorList.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,32 +1,34 @@
|
|
|
1
|
-
const e = "Acciones", o = { paymentCancelledSuccessfully: "Pago del contratista cancelado correctamente", paymentCreatedSuccessfully_one: "Se creó correctamente {{count}} pago a contratistas.", paymentCreatedSuccessfully_other: "Se crearon correctamente {{count}} pagos a contratistas.", rfiPendingResponseDescription: "Necesitamos un poco más de información sobre tu negocio. Responde lo antes posible para poder procesar los pagos a tiempo.", rfiPendingResponseTitle: "Los pagos pueden ser bloqueados: Proporciona más información para poder procesar los pagos", rfiPendingReviewDescription: "Estamos revisando información sobre su negocio. Es posible que se bloqueen los pagos hasta que se complete la revisión.", rfiPendingReviewTitle: "Es posible que se bloqueen los pagos", rfiRespondCta: "Responder", wireDetailsSubmitted: "Detalles de la transferencia enviados" },
|
|
1
|
+
const e = "Acciones", o = { paymentCancelledSuccessfully: "Pago del contratista cancelado correctamente", paymentCreatedSuccessfully_one: "Se creó correctamente {{count}} pago a contratistas.", paymentCreatedSuccessfully_other: "Se crearon correctamente {{count}} pagos a contratistas.", rfiPendingResponseDescription: "Necesitamos un poco más de información sobre tu negocio. Responde lo antes posible para poder procesar los pagos a tiempo.", rfiPendingResponseTitle: "Los pagos pueden ser bloqueados: Proporciona más información para poder procesar los pagos", rfiPendingReviewDescription: "Estamos revisando información sobre su negocio. Es posible que se bloqueen los pagos hasta que se complete la revisión.", rfiPendingReviewTitle: "Es posible que se bloqueen los pagos", rfiRespondCta: "Responder", wireDetailsSubmitted: "Detalles de la transferencia enviados" }, a = "Fecha de aplicación", s = "Pagos a contratistas", t = "Nuevo pago", n = { last12Months: "Últimos 12 meses", last3Months: "Últimos 3 meses", last6Months: "Últimos 6 meses" }, r = { button: "Registra un pago histórico", description: "Agrega un pago a un contratista que se realizó fuera de Gusto para mantener tus registros completos.", title: "Registra un pago histórico" }, i = "Todavía no se han creado pagos a contratistas. Crea tu primer pago para comenzar.", c = "No se encontraron pagos", l = "Total de reembolsos", p = "Pagos próximos y pasados", m = "Pagos a contratistas", u = "Ver pago", d = "Total de salarios", g = {
|
|
2
2
|
actionColumnLabel: e,
|
|
3
3
|
alerts: o,
|
|
4
|
-
applyDate:
|
|
5
|
-
breadcrumbLabel:
|
|
4
|
+
applyDate: a,
|
|
5
|
+
breadcrumbLabel: s,
|
|
6
6
|
createPaymentCta: t,
|
|
7
7
|
dateRanges: n,
|
|
8
|
-
|
|
8
|
+
historicalPaymentCta: r,
|
|
9
|
+
noPaymentsDescription: i,
|
|
9
10
|
noPaymentsFound: c,
|
|
10
|
-
reimbursementTotalColumnLabel:
|
|
11
|
-
subtitle:
|
|
12
|
-
title:
|
|
13
|
-
viewPaymentCta:
|
|
11
|
+
reimbursementTotalColumnLabel: l,
|
|
12
|
+
subtitle: p,
|
|
13
|
+
title: m,
|
|
14
|
+
viewPaymentCta: u,
|
|
14
15
|
wageTotalColumnLabel: d
|
|
15
16
|
};
|
|
16
17
|
export {
|
|
17
18
|
e as actionColumnLabel,
|
|
18
19
|
o as alerts,
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
a as applyDate,
|
|
21
|
+
s as breadcrumbLabel,
|
|
21
22
|
t as createPaymentCta,
|
|
22
23
|
n as dateRanges,
|
|
23
|
-
|
|
24
|
-
r as
|
|
24
|
+
g as default,
|
|
25
|
+
r as historicalPaymentCta,
|
|
26
|
+
i as noPaymentsDescription,
|
|
25
27
|
c as noPaymentsFound,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
l as reimbursementTotalColumnLabel,
|
|
29
|
+
p as subtitle,
|
|
30
|
+
m as title,
|
|
31
|
+
u as viewPaymentCta,
|
|
30
32
|
d as wageTotalColumnLabel
|
|
31
33
|
};
|
|
32
34
|
//# sourceMappingURL=Contractor.Payments.PaymentsList.json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contractor.Payments.PaymentsList.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Contractor.Payments.PaymentsList.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const a = { create: "Crear contratista", creating: "Creando…", updating: "Guardando…" }, e = { businessName: { label: "Nombre del negocio" }, ein: { label: "EIN" }, email: { label: "Correo electrónico del contratista" }, firstName: { label: "Nombre" }, hourlyRate: { label: "Tarifa por hora" }, lastName: { label: "Apellido" }, middleInitial: { label: "Inicial del segundo nombre" }, selfOnboarding: { description: "Su contratista recibirá una invitación para ingresar su información cuando tenga tiempo.", label: "Invite a este contratista a ingresar algunos de sus propios datos en línea" }, ssn: { label: "Número de Seguro Social" }, startDate: { description: "Primer día de trabajo de su contratista en su empresa", label: "Fecha de inicio" }, wageType: { label: "Tipo de salario" } },
|
|
1
|
+
const a = { create: "Crear contratista", creating: "Creando…", updating: "Guardando…" }, e = { businessName: { label: "Nombre del negocio" }, ein: { label: "EIN" }, email: { label: "Correo electrónico del contratista" }, firstName: { label: "Nombre" }, hourlyRate: { label: "Tarifa por hora" }, lastName: { label: "Apellido" }, middleInitial: { label: "Inicial del segundo nombre" }, selfOnboarding: { description: "Su contratista recibirá una invitación para ingresar su información cuando tenga tiempo.", label: "Invite a este contratista a ingresar algunos de sus propios datos en línea" }, ssn: { label: "Número de Seguro Social" }, startDate: { description: "Primer día de trabajo de su contratista en su empresa", label: "Fecha de inicio" }, wageType: { label: "Tipo de salario" } }, o = { businessDescription: "Verifique el nombre de su negocio y proporcione su EIN.", individualDescription: "Verifique su nombre y proporcione su número de Seguro Social.", submitting: "Guardando…", title: "Complete su perfil" }, i = "Perfil del contratista", r = { businessName: "El nombre del negocio es obligatorio para contratistas comerciales", ein: "Se requiere EIN para los contratistas comerciales", einFormat: "El EIN debe tener un formato válido (XX-XXXXXXX)", email: "El correo electrónico es obligatorio para invitar a un contratista", emailFormat: "El correo electrónico debe ser una dirección válida", firstName: "El nombre es obligatorio para contratistas individuales", firstNameFormat: "El nombre no es válido", hourlyRate: "La tarifa por hora es obligatoria para contratistas por hora", hourlyRateMax: "La tarifa por hora no puede superar los $1,000,000,000,000.00", lastName: "El apellido es obligatorio para contratistas individuales", lastNameFormat: "El apellido no es válido", ssn: "El SSN es obligatorio para contratistas individuales", ssnFormat: "El SSN debe tener un formato válido", startDate: "La fecha de inicio es obligatoria" }, t = { body: "Este contratista ya firmó un Formulario W-9. Si está haciendo correcciones, también debe actualizar y conservar una nueva versión firmada del Formulario W-9 que refleje la información corregida.", label: "Los cambios requerirán un Formulario W-9 actualizado" }, n = {
|
|
2
2
|
buttons: a,
|
|
3
3
|
fields: e,
|
|
4
|
-
selfOnboarding:
|
|
5
|
-
title:
|
|
4
|
+
selfOnboarding: o,
|
|
5
|
+
title: i,
|
|
6
6
|
validations: r,
|
|
7
7
|
w9EditWarning: t
|
|
8
8
|
};
|
|
@@ -10,8 +10,8 @@ export {
|
|
|
10
10
|
a as buttons,
|
|
11
11
|
n as default,
|
|
12
12
|
e as fields,
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
o as selfOnboarding,
|
|
14
|
+
i as title,
|
|
15
15
|
r as validations,
|
|
16
16
|
t as w9EditWarning
|
|
17
17
|
};
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
const e = { missingPayrollId: "La nómina fuera de ciclo se creó, pero no se devolvió ningún ID de nómina", noEmployeesSelected: "Se debe seleccionar al menos un empleado" },
|
|
1
|
+
const e = { missingPayrollId: "La nómina fuera de ciclo se creó, pero no se devolvió ningún ID de nómina", noEmployeesSelected: "Se debe seleccionar al menos un empleado" }, a = "Incluir a todos los empleados en esta nómina", o = "Configura los detalles de tu nómina fuera de ciclo a continuación.", n = "Nueva nómina fuera de ciclo", s = "Periodo de pago y fecha de pago", l = "Nota: Las nóminas fuera de ciclo están diseñadas para complementar el calendario de nómina estándar, no para reemplazarlo. Dado que los impuestos sobre la nómina dependen de los salarios, las horas trabajadas <bold>y la frecuencia de pago,</bold> usar exclusivamente nóminas fuera de ciclo para pagar a tu equipo puede provocar que se omitan impuestos.", i = {
|
|
2
2
|
errors: e,
|
|
3
|
-
includeAllEmployeesLabel:
|
|
4
|
-
pageDescription:
|
|
5
|
-
pageTitle:
|
|
6
|
-
payPeriodSectionTitle:
|
|
3
|
+
includeAllEmployeesLabel: a,
|
|
4
|
+
pageDescription: o,
|
|
5
|
+
pageTitle: n,
|
|
6
|
+
payPeriodSectionTitle: s,
|
|
7
|
+
taxWithholdingDisclaimer: l
|
|
7
8
|
};
|
|
8
9
|
export {
|
|
9
10
|
i as default,
|
|
10
11
|
e as errors,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
a as includeAllEmployeesLabel,
|
|
13
|
+
o as pageDescription,
|
|
14
|
+
n as pageTitle,
|
|
15
|
+
s as payPeriodSectionTitle,
|
|
16
|
+
l as taxWithholdingDisclaimer
|
|
15
17
|
};
|
|
16
18
|
//# sourceMappingURL=Payroll.OffCycleCreation.json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Payroll.OffCycleCreation.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Payroll.OffCycleCreation.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e = "Selecciona esta opción si todos los empleados serán pagados solo con cheque. Esto te permite establecer la fecha del cheque para hoy o cualquier fecha futura.", a = "Nómina solo para cheques", o = "Fecha de finalización", c = { checkDateAchLeadTime_one: "La fecha de pago debe ser al menos {{count}} día hábil a partir de hoy para el depósito directo", checkDateAchLeadTime_other: "La fecha de pago debe ser al menos {{count}} días hábiles a partir de hoy para el depósito directo", checkDateNotPast: "La fecha de pago debe ser hoy o una fecha futura", checkDateRequired: "Se requiere la fecha de pago", endDateAfterStart: "La fecha de finalización debe ser igual o posterior a la fecha de inicio", endDateRequired: "Se requiere la fecha de finalización",
|
|
1
|
+
const e = "Selecciona esta opción si todos los empleados serán pagados solo con cheque. Esto te permite establecer la fecha del cheque para hoy o cualquier fecha futura.", a = "Nómina solo para cheques", o = "Fecha de finalización", c = { checkDateAchLeadTime_one: "La fecha de pago debe ser al menos {{count}} día hábil a partir de hoy para el depósito directo", checkDateAchLeadTime_other: "La fecha de pago debe ser al menos {{count}} días hábiles a partir de hoy para el depósito directo", checkDateNotPast: "La fecha de pago debe ser hoy o una fecha futura", checkDateRequired: "Se requiere la fecha de pago", endDateAfterStart: "La fecha de finalización debe ser igual o posterior a la fecha de inicio", endDateRequired: "Se requiere la fecha de finalización", startDateRequired: "La fecha de inicio es obligatoria" }, i = {
|
|
2
2
|
checkOnlyDescription: e,
|
|
3
3
|
checkOnlyLabel: a,
|
|
4
4
|
endDateLabel: o,
|
|
@@ -7,7 +7,7 @@ const e = "Selecciona esta opción si todos los empleados serán pagados solo co
|
|
|
7
7
|
export {
|
|
8
8
|
e as checkOnlyDescription,
|
|
9
9
|
a as checkOnlyLabel,
|
|
10
|
-
|
|
10
|
+
i as default,
|
|
11
11
|
o as endDateLabel,
|
|
12
12
|
c as validations
|
|
13
13
|
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
const e = { doneButton: "Listo", regularSection: { rateDescription: "Los salarios regulares deben gravarse a una tasa que coincida con el calendario de pago regular de tus empleados. Selecciona el calendario de pago más preciso.", ratePlaceholder: "Selecciona el calendario de pago...", subtitle: "Incluye horas regulares, salarios regulares y propinas", title: "Tasa para salarios y ganancias regulares" }, supplementalSection: { title: "Tasa para salarios y ganancias suplementarias", useRegularRate: "Usar la tasa para salarios regulares (según el calendario de pago de {{frequency}})", useSupplementalRate: "Usar la tasa de impuesto suplementaria" }, title: "Tasas de retención de impuestos" }, a = { annually: "Anual", everyOtherWeek: "Cada dos semanas", everyWeek: "Cada semana", monthly: "Mensual", quarterly: "Trimestralmente", semiannually: "Semestralmente", twicePerMonth: "Dos veces al mes" }, s = { headers: { taxedAs: "Gravado como", wageTypes: "Tipos de salario" }, taxedAsNotTaxed: "No gravado", taxedAsRegular: "Salarios regulares, pagados {{frequency}}", taxedAsSupplemental: "22 % suplementario para los impuestos federales sobre los ingresos y a la tasa impositiva suplementaria del estado para los impuestos estatales sobre los ingresos." },
|
|
1
|
+
const e = { doneButton: "Listo", regularSection: { rateDescription: "Los salarios regulares deben gravarse a una tasa que coincida con el calendario de pago regular de tus empleados. Selecciona el calendario de pago más preciso.", ratePlaceholder: "Selecciona el calendario de pago...", subtitle: "Incluye horas regulares, salarios regulares y propinas", title: "Tasa para salarios y ganancias regulares" }, supplementalSection: { title: "Tasa para salarios y ganancias suplementarias", useRegularRate: "Usar la tasa para salarios regulares (según el calendario de pago de {{frequency}})", useSupplementalRate: "Usar la tasa de impuesto suplementaria" }, title: "Tasas de retención de impuestos" }, a = { annually: "Anual", everyOtherWeek: "Cada dos semanas", everyWeek: "Cada semana", monthly: "Mensual", quarterly: "Trimestralmente", semiannually: "Semestralmente", twicePerMonth: "Dos veces al mes" }, s = { headers: { taxedAs: "Gravado como", wageTypes: "Tipos de salario" }, taxedAsNotTaxed: "No gravado", taxedAsRegular: "Salarios regulares, pagados {{frequency}}", taxedAsSupplemental: "22 % suplementario para los impuestos federales sobre los ingresos y a la tasa impositiva suplementaria del estado para los impuestos estatales sobre los ingresos." }, o = "Tasas de retención de impuestos", r = { regular: { description: "Estas ganancias deben gravarse a una tasa que coincida con el calendario de pago regular de sus empleados.", label: "Horas regulares, salarios regulares y propinas", taxedAsDescription: "Los impuestos federales y estatales sobre los ingresos se retienen según las tablas de impuestos estándar para esta frecuencia de pago." }, reimbursement: { label: "Reembolsos", taxedAsDescription: "Los reembolsos por gastos de negocio no son salarios sujetos a impuestos, por lo que no se retienen impuestos federales ni estatales sobre los ingresos." }, supplemental: { description: "Por lo general, se gravan a la tasa requerida por el IRS para los impuestos federales sobre el ingreso y por el estado para los impuestos estatales sobre el ingreso.", label: "Salarios suplementarios, bonificaciones, comisiones", taxedAsDescription: "Se grava con la tasa suplementaria fija del 22 % del IRS o según tu calendario de pago regular, dependiendo de la tasa que selecciones arriba." } }, l = {
|
|
2
2
|
modal: e,
|
|
3
3
|
payPeriodFrequency: a,
|
|
4
4
|
table: s,
|
|
5
|
-
title:
|
|
6
|
-
wageTypeGroups:
|
|
5
|
+
title: o,
|
|
6
|
+
wageTypeGroups: r
|
|
7
7
|
};
|
|
8
8
|
export {
|
|
9
|
-
|
|
9
|
+
l as default,
|
|
10
10
|
e as modal,
|
|
11
11
|
a as payPeriodFrequency,
|
|
12
12
|
s as table,
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
o as title,
|
|
14
|
+
r as wageTypeGroups
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=Payroll.OffCycleTaxWithholding.json.js.map
|