{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-create-network-project-mpls-network-configuration-91c1d2d3abc40061cfd8.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bindings/ReactGeoSuggest.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-network-project-mpls-network-configuration/CreateNetworkProjectMplsNetworkConfiguration.scss?ad3f","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-network-project-mpls-network-configuration/CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-network-project-mpls-network-configuration/CreateNetworkProjectMplsNetworkConfiguration.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-network-project-mpls-network-configuration/CreateNetworkProjectMplsNetworkConfigurationData.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-network-project-mpls-network-configuration/CreateNetworkProjectMplsNetworkConfiguration__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-network-project-mpls-network-configuration/index.js","webpack://datacenters/./client/app/rescript/libs/Char.res.js","webpack://datacenters/./client/app/rescript/libs/ReactForm.res.js","webpack://datacenters/./client/app/rescript/models/ContractLength.res.js","webpack://datacenters/./client/app/rescript/styleguide/forms/ReactGeoSuggestField/ReactGeoSuggestFieldCss.res.js","webpack://datacenters/./client/app/rescript/styleguide/forms/ReactGeoSuggestField/ReactGeoSuggestField.res.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              long_name: field.required(\"long_name\", Json_Decode$JsonCombinators.string),\n              short_name: field.required(\"short_name\", Json_Decode$JsonCombinators.string),\n              types: field.required(\"types\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string))\n            };\n    });\n\nfunction fromJson(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nvar Address = {\n  decoder: decoder,\n  fromJson: fromJson\n};\n\nvar decoder$1 = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              name: field.required(\"name\", Json_Decode$JsonCombinators.string),\n              address_components: field.required(\"address_components\", Json_Decode$JsonCombinators.array(decoder))\n            };\n    });\n\nfunction fromJson$1(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder$1));\n}\n\nvar Gmaps = {\n  decoder: decoder$1,\n  fromJson: fromJson$1\n};\n\nvar decoder$2 = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              lat: field.required(\"lat\", Json_Decode$JsonCombinators.$$float),\n              lng: field.required(\"lng\", Json_Decode$JsonCombinators.$$float)\n            };\n    });\n\nfunction fromJson$2(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder$2));\n}\n\nvar $$Location = {\n  decoder: decoder$2,\n  fromJson: fromJson$2\n};\n\nvar decoder$3 = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              description: field.required(\"description\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string)),\n              label: field.required(\"label\", Json_Decode$JsonCombinators.string),\n              location: field.required(\"location\", decoder$2),\n              gmaps: field.required(\"gmaps\", Json_Decode$JsonCombinators.option(decoder$1))\n            };\n    });\n\nfunction fromJson$3(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder$3));\n}\n\nvar ReactGeoSuggestData = {\n  decoder: decoder$3,\n  fromJson: fromJson$3\n};\n\nexport {\n  Address ,\n  Gmaps ,\n  $$Location ,\n  ReactGeoSuggestData ,\n}\n/* decoder Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var checkbox = \"CreateNetworkProjectMplsNetworkConfiguration__checkbox__ipLiR\";\nexport var checkboxRightMargin = \"CreateNetworkProjectMplsNetworkConfiguration__checkboxRightMargin__HRAuE\";\nexport var checkboxRow = \"CreateNetworkProjectMplsNetworkConfiguration__checkboxRow__JKnNZ\";\nexport var column = \"CreateNetworkProjectMplsNetworkConfiguration__column__IEJDv\";\nexport var docUploadDescription = \"CreateNetworkProjectMplsNetworkConfiguration__docUploadDescription__idYXY\";\nexport var docUploadSection = \"CreateNetworkProjectMplsNetworkConfiguration__docUploadSection__yRRRv\";\nexport var docUploadTitle = \"CreateNetworkProjectMplsNetworkConfiguration__docUploadTitle__aRFpi\";\nexport var documentRow = \"CreateNetworkProjectMplsNetworkConfiguration__documentRow__axg4_\";\nexport var elongated = \"CreateNetworkProjectMplsNetworkConfiguration__elongated__rlwnW\";\nexport var errorLabel = \"CreateNetworkProjectMplsNetworkConfiguration__errorLabel__pPRIV\";\nexport var errorMessage = \"CreateNetworkProjectMplsNetworkConfiguration__errorMessage__IN3mi\";\nexport var expanded = \"CreateNetworkProjectMplsNetworkConfiguration__expanded__tv1W8\";\nexport var field = \"CreateNetworkProjectMplsNetworkConfiguration__field__eJSWD\";\nexport var fieldRow = \"CreateNetworkProjectMplsNetworkConfiguration__fieldRow__CUEoA\";\nexport var fieldWithUnit = \"CreateNetworkProjectMplsNetworkConfiguration__fieldWithUnit__s9ahf\";\nexport var fileInfoContainer = \"CreateNetworkProjectMplsNetworkConfiguration__fileInfoContainer__M6Zp2\";\nexport var fileNameText = \"CreateNetworkProjectMplsNetworkConfiguration__fileNameText__g9bnk\";\nexport var fileSizeText = \"CreateNetworkProjectMplsNetworkConfiguration__fileSizeText__cxkTr\";\nexport var flex = \"CreateNetworkProjectMplsNetworkConfiguration__flex__g6kze\";\nexport var flexColumn = \"CreateNetworkProjectMplsNetworkConfiguration__flexColumn__r14KW\";\nexport var flexContainerDoc = \"CreateNetworkProjectMplsNetworkConfiguration__flexContainerDoc__CA9T7\";\nexport var gap1 = \"CreateNetworkProjectMplsNetworkConfiguration__gap1__myKRZ\";\nexport var gap2 = \"CreateNetworkProjectMplsNetworkConfiguration__gap2__f3FTZ\";\nexport var gap3 = \"CreateNetworkProjectMplsNetworkConfiguration__gap3__QWGRY\";\nexport var gap4 = \"CreateNetworkProjectMplsNetworkConfiguration__gap4__WGVXG\";\nexport var gap5 = \"CreateNetworkProjectMplsNetworkConfiguration__gap5__XNwWN\";\nexport var geographicalRegionsDescription = \"CreateNetworkProjectMplsNetworkConfiguration__geographicalRegionsDescription__XEC4r\";\nexport var geographicalRegionsSection = \"CreateNetworkProjectMplsNetworkConfiguration__geographicalRegionsSection__z9eGz\";\nexport var geographicalRegionsTitle = \"CreateNetworkProjectMplsNetworkConfiguration__geographicalRegionsTitle__gKQ8R\";\nexport var howItWorksTooltip = \"CreateNetworkProjectMplsNetworkConfiguration__howItWorksTooltip__mRVSP\";\nexport var iconView = \"CreateNetworkProjectMplsNetworkConfiguration__iconView__KbDMS\";\nexport var input = \"CreateNetworkProjectMplsNetworkConfiguration__input__GLqpr\";\nexport var inputWithUnitUnit = \"CreateNetworkProjectMplsNetworkConfiguration__inputWithUnitUnit__oj8Ni\";\nexport var inputWithUnitUnitContainer = \"CreateNetworkProjectMplsNetworkConfiguration__inputWithUnitUnitContainer__ifObz\";\nexport var inputWithUnitValue = \"CreateNetworkProjectMplsNetworkConfiguration__inputWithUnitValue__cGjJW\";\nexport var inputWithUnitValueContainer = \"CreateNetworkProjectMplsNetworkConfiguration__inputWithUnitValueContainer__HhlKR\";\nexport var justified = \"CreateNetworkProjectMplsNetworkConfiguration__justified__Jjx8W\";\nexport var label = \"CreateNetworkProjectMplsNetworkConfiguration__label__XtTq5\";\nexport var moderate = \"CreateNetworkProjectMplsNetworkConfiguration__moderate__DLvvY\";\nexport var radioButton = \"CreateNetworkProjectMplsNetworkConfiguration__radioButton__QnXKg\";\nexport var radioButtonLabel = \"CreateNetworkProjectMplsNetworkConfiguration__radioButtonLabel__BdBhu\";\nexport var radioButtonsRow = \"CreateNetworkProjectMplsNetworkConfiguration__radioButtonsRow__croW_\";\nexport var requiredLabel = \"CreateNetworkProjectMplsNetworkConfiguration__requiredLabel__tm0df\";\nexport var row = \"CreateNetworkProjectMplsNetworkConfiguration__row__y035B\";\nexport var selectWrapper = \"CreateNetworkProjectMplsNetworkConfiguration__selectWrapper__XKs4q\";\nexport var subHeading = \"CreateNetworkProjectMplsNetworkConfiguration__subHeading__qV7hU\";\nexport var textarea = \"CreateNetworkProjectMplsNetworkConfiguration__textarea__Q7JxJ\";\nexport var title = \"CreateNetworkProjectMplsNetworkConfiguration__title__JpmdP\";\nexport var tooltipAndHeadingWrapper = \"CreateNetworkProjectMplsNetworkConfiguration__tooltipAndHeadingWrapper__traqf\";\nexport var tooltipDescription = \"CreateNetworkProjectMplsNetworkConfiguration__tooltipDescription__LilDW\";\nexport var unfilled = \"CreateNetworkProjectMplsNetworkConfiguration__unfilled__YBN9I\";\nexport var unitSelectWrapper = \"CreateNetworkProjectMplsNetworkConfiguration__unitSelectWrapper__aEKv7\";\nexport var uploadButtonIcon = \"CreateNetworkProjectMplsNetworkConfiguration__uploadButtonIcon__pM4NW\";\nexport var uploadDocumentButton = \"CreateNetworkProjectMplsNetworkConfiguration__uploadDocumentButton__A6hMm\";\nexport var uploader = \"CreateNetworkProjectMplsNetworkConfiguration__uploader__yaE4J\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as IconFile from \"../../../../styleguide/icons/IconFile.res.js\";\nimport * as IconView from \"../../../../styleguide/icons/IconView.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as IconDelete from \"../../../../styleguide/icons/IconDelete.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as CreateNetworkProjectMplsNetworkConfigurationScss from \"./CreateNetworkProjectMplsNetworkConfiguration.scss\";\n\nvar css = CreateNetworkProjectMplsNetworkConfigurationScss;\n\nfunction CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails$DocumentRow(props) {\n  var onDelete = props.onDelete;\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(IconFile.make, {\n                              size: \"LG\",\n                              color: \"DarkGray\"\n                            }),\n                        JsxRuntime.jsxs(\"div\", {\n                              children: [\n                                JsxRuntime.jsx(\"p\", {\n                                      children: props.fileName,\n                                      className: css.fileNameText\n                                    }),\n                                JsxRuntime.jsx(\"p\", {\n                                      children: Project.$$Document.sizeText(props.byteSize),\n                                      className: css.fileSizeText\n                                    })\n                              ],\n                              className: css.fileInfoContainer\n                            })\n                      ],\n                      className: css.flexContainerDoc\n                    }),\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(IconView.make, {\n                              size: \"LG\",\n                              color: \"DarkGray\",\n                              className: css.iconView\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(IconDelete.make, {\n                                    size: \"LG\",\n                                    color: \"DarkGray\",\n                                    viewBoxSize: \"20\"\n                                  }),\n                              onClick: (function (param) {\n                                  onDelete();\n                                })\n                            })\n                      ],\n                      className: css.flexContainerDoc\n                    })\n              ],\n              className: css.documentRow\n            });\n}\n\nvar DocumentRow = {\n  make: CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails$DocumentRow\n};\n\nfunction CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails(props) {\n  var removeDocument = props.removeDocument;\n  var removeAlreadyUploadedDocument = props.removeAlreadyUploadedDocument;\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(\"h4\", {\n                      children: \"Upload Multiple Locations and Requirements\",\n                      className: css.docUploadTitle\n                    }),\n                JsxRuntime.jsx(\"p\", {\n                      children: \"Upload documents with the list of locations and requirements to them. Accepted file formats: Excel, CSV, Word, PDF or Visio.\",\n                      className: css.docUploadDescription\n                    }),\n                Belt_Array.map(props.alreadyUploadedDocuments, (function ($$document) {\n                        return JsxRuntime.jsx(CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails$DocumentRow, {\n                                    fileName: $$document.fileName,\n                                    byteSize: $$document.byteSize,\n                                    onDelete: (function () {\n                                        removeAlreadyUploadedDocument($$document);\n                                      })\n                                  }, \"already-uploaded-document-\" + $$document.fileName);\n                      })),\n                Belt_Array.map(props.documents, (function ($$document) {\n                        return JsxRuntime.jsx(CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails$DocumentRow, {\n                                    fileName: $$document.name,\n                                    byteSize: $$document.size | 0,\n                                    onDelete: (function () {\n                                        removeDocument($$document);\n                                      })\n                                  }, \"recently-uploaded-document-\" + $$document.name);\n                      }))\n              ],\n              className: css.docUploadSection\n            });\n}\n\nvar make = CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails;\n\nexport {\n  css ,\n  DocumentRow ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Api from \"../../../../api/Api.res.js\";\nimport * as Url from \"../../../../utils/Url.res.js\";\nimport * as Char from \"../../../../libs/Char.res.js\";\nimport * as Hooks from \"../../../../libs/Hooks.res.js\";\nimport * as Label from \"../../../../styleguide/forms/Label/Label.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as Select from \"../../../../styleguide/forms/Select/Select.res.js\";\nimport * as $$Promise from \"../../../../bindings/Promise.res.js\";\nimport * as Belt_Int from \"rescript/lib/es6/belt_Int.js\";\nimport * as Checkbox from \"../../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Debounce from \"rescript-debounce/src/Debounce.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Textarea from \"../../../../styleguide/forms/Textarea/Textarea.res.js\";\nimport * as Uploader from \"../../../../styleguide/forms/Uploader/Uploader.res.js\";\nimport * as ReactForm from \"../../../../libs/ReactForm.res.js\";\nimport * as TextField from \"../../../../styleguide/forms/TextField/TextField.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as DatePicker from \"../../../../styleguide/forms/DatePicker/DatePicker.res.js\";\nimport * as IconUpload from \"../../../../styleguide/icons/IconUpload.res.js\";\nimport * as Visibility from \"../../../../libs/Visibility.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as $$Notification from \"../../../../bindings/Notification.res.js\";\nimport * as SentryLogger from \"../../../../loggers/SentryLogger.res.js\";\nimport * as ProjectWizard from \"../_components/ProjectWizard/ProjectWizard.res.js\";\nimport * as Belt_SetString from \"rescript/lib/es6/belt_SetString.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport * as ReactGeoSuggest from \"../../../../bindings/ReactGeoSuggest.res.js\";\nimport AddDays from \"date-fns/addDays\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardPanel from \"../_components/ProjectWizardPanel/ProjectWizardPanel.res.js\";\nimport * as ReactNotifications from \"react-notifications\";\nimport * as ReactGeoSuggestField from \"../../../../styleguide/forms/ReactGeoSuggestField/ReactGeoSuggestField.res.js\";\nimport * as SignInModalContainer from \"../../../../styleguide/modals/SignInModal/SignInModalContainer.res.js\";\nimport * as ProjectWizardNavigation from \"../_components/ProjectWizardNavigation/ProjectWizardNavigation.res.js\";\nimport * as CreateNetworkProjectMplsNetworkConfigurationForm from \"./CreateNetworkProjectMplsNetworkConfigurationForm.res.js\";\nimport * as CreateNetworkProjectMplsNetworkConfigurationScss from \"./CreateNetworkProjectMplsNetworkConfiguration.scss\";\nimport * as CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails from \"./CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails.res.js\";\n\nvar css = CreateNetworkProjectMplsNetworkConfigurationScss;\n\nfunction domId(field, at) {\n  return \"network-project-mpls-network-configuration-\" + (field + (\"-\" + String(at)));\n}\n\nfunction configurationTitle(at) {\n  return \"#\" + (String(at + 1 | 0) + (Char.mdash + \"MPLS Network Service\"));\n}\n\nfunction add(x, status) {\n  return Belt_Array.concat(x, [status]);\n}\n\nfunction remove(x, index) {\n  return Belt_Array.keepWithIndex(x, (function (param, idx) {\n                return index !== idx;\n              }));\n}\n\nfunction toggle(x, index) {\n  return Belt_Array.mapWithIndex(x, (function (idx, visibility) {\n                if (index === idx) {\n                  return Visibility.toggle(visibility);\n                } else {\n                  return visibility;\n                }\n              }));\n}\n\nfunction expandAll(x) {\n  return Belt_Array.map(x, (function (param) {\n                return \"Shown\";\n              }));\n}\n\nvar Visibilities = {\n  add: add,\n  remove: remove,\n  toggle: toggle,\n  expandAll: expandAll\n};\n\nfunction validate(form) {\n  Belt_Array.forEachWithIndex(form.input.configurations, (function (ix, param) {\n          form.blurConfigurationStartDate(ix);\n        }));\n}\n\nfunction results(form) {\n  return Belt_Array.mapWithIndex(form.input.configurations, (function (ix, param) {\n                return form.configurationStartDateResult(ix);\n              }));\n}\n\nfunction isValid(results) {\n  return Belt_Array.every(results, (function (result) {\n                if (result !== undefined && result.TAG === \"Ok\") {\n                  return true;\n                } else {\n                  return false;\n                }\n              }));\n}\n\nvar ValidateSaveAndContinueLaterForm = {\n  validate: validate,\n  results: results,\n  isValid: isValid\n};\n\nvar persistDraft = Debounce.make(900, (function (param) {\n        if (param[1].TAG === \"Draft\") {\n          return $$Promise.wait(Api.saveNetworkProjectMplsNetworkConfigurationDraft(param[0]), (function (x) {\n                        if (x.TAG === \"Ok\") {\n                          return $$Notification.NotificationManager.success(\"Draft saved!\", \"\", 1000);\n                        }\n                        SentryLogger.error1({\n                              rootModule: \"CreateNetworkProjectMplsNetworkConfiguration\",\n                              subModulePath: {\n                                hd: \"Api\",\n                                tl: /* [] */0\n                              },\n                              value: \"persistDraft\",\n                              fullPath: \"CreateNetworkProjectMplsNetworkConfiguration.Api.persistDraft\"\n                            }, \"SaveNetworkProjectMplsConfigurationDraft::Error\", [\n                              \"Error\",\n                              x._0\n                            ]);\n                        $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n                      }));\n        }\n        \n      }));\n\nfunction submitForm(data, context, onFailure) {\n  if (context.TAG === \"Draft\") {\n    return $$Promise.wait(Api.saveNetworkProjectMplsNetworkConfiguration(data), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Project.Network.Provider.newSelector(\"Mpls\"));\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"CreateNetworkProjectMplsNetworkConfiguration\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"submitForm\",\n                        fullPath: \"CreateNetworkProjectMplsNetworkConfiguration.Api.submitForm\"\n                      }, \"SaveNetworkProjectMplsNetworkConfiguration::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n                  onFailure();\n                  $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n                }));\n  }\n  var projectId = context.projectId;\n  $$Promise.wait(Api.updateNetworkProjectMplsNetworkConfiguration(projectId, data), (function (x) {\n          if (x.TAG === \"Ok\") {\n            return Url.visit(Routes_Project.Network.Provider.editSelector(projectId, \"Mpls\"));\n          }\n          SentryLogger.error1({\n                rootModule: \"CreateNetworkProjectMplsNetworkConfiguration\",\n                subModulePath: {\n                  hd: \"Api\",\n                  tl: /* [] */0\n                },\n                value: \"submitForm\",\n                fullPath: \"CreateNetworkProjectMplsNetworkConfiguration.Api.submitForm\"\n              }, \"UpdateNetworkProjectMplsNetworkConfiguration::Error\", [\n                \"Error\",\n                x._0\n              ]);\n          onFailure();\n          $$Notification.NotificationManager.error(\"Something went wrong trying to update the project\", \"\", 1000);\n        }));\n}\n\nfunction saveDraftProjectAndContinueLater(form, context) {\n  if (context.TAG !== \"Draft\") {\n    return $$Promise.wait(Api.updateNetworkMplsDraftProjectAndContinueLater(context.projectId, form.input), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Project.index);\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"CreateNetworkProjectMplsNetworkConfiguration\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"saveDraftProjectAndContinueLater\",\n                        fullPath: \"CreateNetworkProjectMplsNetworkConfiguration.Api.saveDraftProjectAndContinueLater\"\n                      }, \"UpdateNetworkProjectMplsNetworkConfiguration::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n                  $$Notification.NotificationManager.error(\"Something went wrong trying to update the project\", \"\", 1000);\n                }));\n  }\n  validate(form);\n  if (isValid(results(form))) {\n    return $$Promise.wait(Api.saveNetworkProjectDraftWithDocumentsAndContinueLater(form.input.documents, form.input.geographicalRegion), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Project.index);\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"CreateNetworkProjectMplsNetworkConfiguration\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"saveDraftProjectAndContinueLater\",\n                        fullPath: \"CreateNetworkProjectMplsNetworkConfiguration.Api.saveDraftProjectAndContinueLater\"\n                      }, \"saveDraftProjectAndContinueLater::saveProjectDraft::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n                  $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n                }));\n  }\n  \n}\n\nfunction cancelCreation() {\n  $$Promise.wait(Api.cancelProjectCreation(), (function (x) {\n          if (x.TAG === \"Ok\") {\n            return Url.visit(Routes_Project.index);\n          } else {\n            return SentryLogger.error1({\n                        rootModule: \"CreateNetworkProjectMplsNetworkConfiguration\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"cancelCreation\",\n                        fullPath: \"CreateNetworkProjectMplsNetworkConfiguration.Api.cancelCreation\"\n                      }, \"CancelProjectCreation::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n          }\n        }));\n}\n\nvar Api$1 = {\n  persistDraft: persistDraft,\n  submitForm: submitForm,\n  saveDraftProjectAndContinueLater: saveDraftProjectAndContinueLater,\n  cancelCreation: cancelCreation\n};\n\nfunction isAlreadyDocumentsAvailable(alreadyUploadedDocuments) {\n  return alreadyUploadedDocuments.length !== 0;\n}\n\nfunction isRegionFieldVisible(documents, alreadyUploadedDocuments, deletedDocumentIds) {\n  var remainingUploadedDocuments = Belt_Array.keep(alreadyUploadedDocuments, (function ($$document) {\n          if (alreadyUploadedDocuments.length !== 0) {\n            return !Js_array.includes($$document.id, deletedDocumentIds);\n          } else {\n            return false;\n          }\n        }));\n  if (documents.length !== 0) {\n    return true;\n  } else {\n    return remainingUploadedDocuments.length !== 0;\n  }\n}\n\nfunction CreateNetworkProjectMplsNetworkConfiguration(props) {\n  var alreadyUploadedDocuments = props.alreadyUploadedDocuments;\n  var userLoginStatus = props.userLoginStatus;\n  var mobile = props.mobile;\n  var options = props.options;\n  var context = props.context;\n  var initialInput = React.useMemo((function () {\n          var geographicalRegion;\n          var data;\n          if (context.TAG === \"Draft\") {\n            var data$1 = context.data;\n            var geographicalRegion$1 = context.geographicalRegion;\n            if (data$1 === undefined) {\n              return {\n                      configurations: [CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.empty()],\n                      documents: [],\n                      deletedDocumentIds: [],\n                      geographicalRegion: geographicalRegion$1,\n                      validateRegion: true\n                    };\n            }\n            geographicalRegion = geographicalRegion$1;\n            data = data$1;\n          } else {\n            geographicalRegion = context.geographicalRegion;\n            data = context.data;\n          }\n          return {\n                  configurations: data,\n                  documents: [],\n                  deletedDocumentIds: [],\n                  geographicalRegion: geographicalRegion,\n                  validateRegion: alreadyUploadedDocuments.length === 0\n                };\n        }), []);\n  var match = React.useState(function () {\n        return \"Hidden\";\n      });\n  var toggleSignInModal = match[1];\n  var signInModal = match[0];\n  var form = CreateNetworkProjectMplsNetworkConfigurationForm.useForm(initialInput, (function (output, form) {\n          submitForm(output, context, form.notifyOnFailure);\n        }));\n  var initialState = React.useMemo((function () {\n          var data;\n          if (context.TAG === \"Draft\") {\n            var data$1 = context.data;\n            if (data$1 !== undefined) {\n              data = data$1;\n            } else {\n              var shown = [\"Shown\"];\n              var hidden = [\"Hidden\"];\n              return {\n                      panelsVisibility: shown,\n                      additionalRequirementsVisibility: hidden,\n                      userLoginStatus: userLoginStatus\n                    };\n            }\n          } else {\n            data = context.data;\n          }\n          var shown$1 = Belt_Array.map(data, (function (param) {\n                  return \"Shown\";\n                }));\n          var hidden$1 = Belt_Array.map(data, (function (param) {\n                  return \"Hidden\";\n                }));\n          return {\n                  panelsVisibility: shown$1,\n                  additionalRequirementsVisibility: hidden$1,\n                  userLoginStatus: userLoginStatus\n                };\n        }), []);\n  var match$1 = Hooks.useReducer(initialState, (function (state, action) {\n          if (typeof action !== \"object\") {\n            if (action === \"AddPanel\") {\n              return {\n                      TAG: \"UpdateWithSideEffects\",\n                      _0: {\n                        panelsVisibility: Belt_Array.concat(state.panelsVisibility, [\"Shown\"]),\n                        additionalRequirementsVisibility: Belt_Array.concat(state.additionalRequirementsVisibility, [\"Hidden\"]),\n                        userLoginStatus: state.userLoginStatus\n                      },\n                      _1: (function (param) {\n                          form.addConfiguration(CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.empty());\n                        })\n                    };\n            } else {\n              return {\n                      TAG: \"Update\",\n                      _0: {\n                        panelsVisibility: Belt_Array.map(state.panelsVisibility, (function (param) {\n                                return \"Shown\";\n                              })),\n                        additionalRequirementsVisibility: Belt_Array.map(state.additionalRequirementsVisibility, (function (param) {\n                                return \"Shown\";\n                              })),\n                        userLoginStatus: state.userLoginStatus\n                      }\n                    };\n            }\n          }\n          switch (action.TAG) {\n            case \"RemovePanel\" :\n                var at = action.at;\n                return {\n                        TAG: \"Update\",\n                        _0: {\n                          panelsVisibility: remove(state.panelsVisibility, at),\n                          additionalRequirementsVisibility: remove(state.additionalRequirementsVisibility, at),\n                          userLoginStatus: state.userLoginStatus\n                        }\n                      };\n            case \"TogglePanelVisibility\" :\n                return {\n                        TAG: \"Update\",\n                        _0: {\n                          panelsVisibility: toggle(state.panelsVisibility, action.at),\n                          additionalRequirementsVisibility: state.additionalRequirementsVisibility,\n                          userLoginStatus: state.userLoginStatus\n                        }\n                      };\n            case \"ToggleAdditionalRequirementsVisibility\" :\n                return {\n                        TAG: \"Update\",\n                        _0: {\n                          panelsVisibility: state.panelsVisibility,\n                          additionalRequirementsVisibility: toggle(state.additionalRequirementsVisibility, action.at),\n                          userLoginStatus: state.userLoginStatus\n                        }\n                      };\n            case \"AddDocument\" :\n                var v = Belt_Array.concat(form.input.documents, [action._0]);\n                return {\n                        TAG: \"SideEffects\",\n                        _0: (function (param) {\n                            form.updateDocuments((function (input, v) {\n                                    return {\n                                            configurations: input.configurations,\n                                            documents: v,\n                                            deletedDocumentIds: input.deletedDocumentIds,\n                                            geographicalRegion: input.geographicalRegion,\n                                            validateRegion: input.validateRegion\n                                          };\n                                  }), v);\n                          })\n                      };\n            case \"RemoveDocument\" :\n                var $$document = action._0;\n                var v$1 = Js_array.filter((function (formDoc) {\n                        return formDoc.name !== $$document.name;\n                      }), form.input.documents);\n                var isRegionEmpty = !isRegionFieldVisible(v$1, alreadyUploadedDocuments, form.input.deletedDocumentIds);\n                return {\n                        TAG: \"SideEffects\",\n                        _0: (function (param) {\n                            form.updateDocuments((function (input, v) {\n                                    return {\n                                            configurations: input.configurations,\n                                            documents: v,\n                                            deletedDocumentIds: input.deletedDocumentIds,\n                                            geographicalRegion: input.geographicalRegion,\n                                            validateRegion: input.validateRegion\n                                          };\n                                  }), v$1);\n                            if (isRegionEmpty) {\n                              return form.updateValidateRegion((function (input, validateRegionValue) {\n                                            return {\n                                                    configurations: input.configurations,\n                                                    documents: input.documents,\n                                                    deletedDocumentIds: input.deletedDocumentIds,\n                                                    geographicalRegion: input.geographicalRegion,\n                                                    validateRegion: validateRegionValue\n                                                  };\n                                          }), true);\n                            }\n                            \n                          })\n                      };\n            case \"RemoveAlreadUploadedDocument\" :\n                var v$2 = Belt_Array.concat(form.input.deletedDocumentIds, [action._0.id]);\n                var isRegionEmpty$1 = !isRegionFieldVisible(form.input.documents, alreadyUploadedDocuments, v$2);\n                return {\n                        TAG: \"SideEffects\",\n                        _0: (function (param) {\n                            form.updateDeletedDocumentIds((function (input, v) {\n                                    return {\n                                            configurations: input.configurations,\n                                            documents: input.documents,\n                                            deletedDocumentIds: v,\n                                            geographicalRegion: input.geographicalRegion,\n                                            validateRegion: input.validateRegion\n                                          };\n                                  }), v$2);\n                            if (isRegionEmpty$1) {\n                              return form.updateValidateRegion((function (input, validateRegionValue) {\n                                            return {\n                                                    configurations: input.configurations,\n                                                    documents: input.documents,\n                                                    deletedDocumentIds: input.deletedDocumentIds,\n                                                    geographicalRegion: input.geographicalRegion,\n                                                    validateRegion: validateRegionValue\n                                                  };\n                                          }), true);\n                            }\n                            \n                          })\n                      };\n            case \"ToggleLoginStatus\" :\n                return {\n                        TAG: \"UpdateWithSideEffects\",\n                        _0: {\n                          panelsVisibility: state.panelsVisibility,\n                          additionalRequirementsVisibility: state.additionalRequirementsVisibility,\n                          userLoginStatus: action._0\n                        },\n                        _1: (function (param) {\n                            saveDraftProjectAndContinueLater(form, context);\n                          })\n                      };\n            \n          }\n        }));\n  var dispatch = match$1[1];\n  var state = match$1[0];\n  var tmp;\n  if (isRegionFieldVisible(form.input.documents, alreadyUploadedDocuments, form.input.deletedDocumentIds)) {\n    var domId$1 = domId(\"geographical-region\", 0);\n    var result = form.geographicalRegionResult;\n    var tmp$1;\n    tmp$1 = result !== undefined && result.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n            children: result._0,\n            className: css.errorMessage\n          }) : null;\n    tmp = JsxRuntime.jsxs(\"div\", {\n          children: [\n            JsxRuntime.jsx(\"h4\", {\n                  children: \"Geographical region\",\n                  className: css.geographicalRegionsTitle\n                }),\n            JsxRuntime.jsx(\"p\", {\n                  children: \"Please, select whether locations in the document are USA only or global? it will help us to match proper providers\",\n                  className: css.geographicalRegionsDescription\n                }),\n            JsxRuntime.jsxs(\"div\", {\n                  children: [\n                    JsxRuntime.jsxs(Select.make, {\n                          id: domId$1,\n                          value: form.input.geographicalRegion,\n                          status: Belt_Option.map(form.geographicalRegionResult, (function (x) {\n                                  if (x.TAG === \"Ok\") {\n                                    return \"Valid\";\n                                  } else {\n                                    return \"Error\";\n                                  }\n                                })),\n                          className: css.input,\n                          wrapperClassName: css.selectWrapper,\n                          iconSize: \"XXS\",\n                          iconColor: \"GrayText\",\n                          onChange: (function ($$event) {\n                              var value = Belt_Option.getWithDefault(Belt_Array.getBy(options.geographicalRegions, (function (x) {\n                                          return ReactForm.value($$event) === x;\n                                        })), \"\");\n                              form.updateGeographicalRegion((function (input, value) {\n                                      return {\n                                              configurations: input.configurations,\n                                              documents: input.documents,\n                                              deletedDocumentIds: input.deletedDocumentIds,\n                                              geographicalRegion: value,\n                                              validateRegion: input.validateRegion\n                                            };\n                                    }), value);\n                            }),\n                          onBlur: (function (param) {\n                              form.blurGeographicalRegion();\n                            }),\n                          children: [\n                            JsxRuntime.jsx(Select.DefaultOption.make, {\n                                  children: \"Select...\"\n                                }),\n                            Belt_Array.map(options.geographicalRegions, (function (x) {\n                                    return JsxRuntime.jsx(Select.$$Option.make, {\n                                                value: x,\n                                                children: x\n                                              }, x);\n                                  }))\n                          ]\n                        }),\n                    tmp$1\n                  ],\n                  className: css.field\n                })\n          ],\n          className: css.geographicalRegionsSection\n        });\n  } else {\n    tmp = null;\n  }\n  var match$2 = state.userLoginStatus;\n  var tmp$2;\n  if (match$2 === \"LoggedIn\") {\n    var tmp$3;\n    tmp$3 = context.TAG === \"Draft\" ? \"Next\" : \"Save and Next\";\n    var match$3 = form.status;\n    var tmp$4;\n    tmp$4 = typeof match$3 !== \"object\" || match$3.TAG !== \"Submitting\" ? \"Enabled\" : \"Busy\";\n    tmp$2 = [\n      tmp$3,\n      (function () {\n          var isRegionEmpty = !isRegionFieldVisible(form.input.documents, alreadyUploadedDocuments, form.input.deletedDocumentIds);\n          if (isRegionEmpty) {\n            form.updateGeographicalRegion((function (input, param) {\n                    return {\n                            configurations: input.configurations,\n                            documents: input.documents,\n                            deletedDocumentIds: input.deletedDocumentIds,\n                            geographicalRegion: \"\",\n                            validateRegion: input.validateRegion\n                          };\n                  }), \"\");\n          }\n          form.submit();\n        }),\n      tmp$4\n    ];\n  } else {\n    tmp$2 = [\n      \"Next\",\n      (function () {\n          toggleSignInModal(function (param) {\n                return Visibility.toggle(signInModal);\n              });\n        }),\n      \"Enabled\"\n    ];\n  }\n  var match$4 = state.userLoginStatus;\n  var tmp$5;\n  tmp$5 = match$4 === \"LoggedIn\" && props.projectStatus === \"Draft\" ? [\n      \"Save and Continue Later\",\n      (function () {\n          saveDraftProjectAndContinueLater(form, context);\n        })\n    ] : undefined;\n  var tmp$6;\n  tmp$6 = signInModal === \"Shown\" ? JsxRuntime.jsx(SignInModalContainer.make, {\n          close: (function () {\n              toggleSignInModal(function (param) {\n                    return Visibility.toggle(signInModal);\n                  });\n            }),\n          callback: (function () {\n              dispatch({\n                    TAG: \"ToggleLoginStatus\",\n                    _0: \"LoggedIn\"\n                  });\n              Url.visit(Routes_Project.Network.Mpls.$$new);\n            }),\n          setUserData: props.setUserData,\n          subTitle: \"Sign In to save the project detail and continue later\"\n        }) : null;\n  return JsxRuntime.jsxs(ProjectWizard.Container.make, {\n              children: [\n                JsxRuntime.jsxs(ProjectWizard.Content.make, {\n                      children: [\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(\"h1\", {\n                                    children: \"Step 1: Configure Your MPLS Network\",\n                                    className: css.title\n                                  }),\n                              className: css.tooltipAndHeadingWrapper\n                            }),\n                        JsxRuntime.jsx(ProjectWizard.H2.make, {\n                              children: \"Add Your Locations, Connections, and Features\"\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: \"Please, add at least one location. If you have many locations, there is a 'Bulk Upload' button at the bottom where you can upload multiple documents about your MPLS network at once.\",\n                              className: css.subHeading\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: Belt_Array.mapWithIndex(form.input.configurations, (function (configurationIndex, configuration) {\n                                      var visibility = state.panelsVisibility[configurationIndex];\n                                      var match = form.input.configurations;\n                                      var tmp;\n                                      if (visibility === \"Shown\") {\n                                        var domId$2 = domId(\"start-date\", configurationIndex);\n                                        var result = form.configurationStartDateResult(configurationIndex);\n                                        var tmp$1;\n                                        tmp$1 = result !== undefined && result.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$2;\n                                        tmp$2 = result !== undefined && result.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$3 = domId(\"contract-length\", configurationIndex);\n                                        var result$1 = form.configurationContractLengthResult(configurationIndex);\n                                        var tmp$3;\n                                        tmp$3 = result$1 !== undefined && result$1.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$4;\n                                        tmp$4 = result$1 !== undefined && result$1.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$1._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$4 = domId(\"street-address\", configurationIndex);\n                                        var result$2 = form.configurationStreetAddressResult(configurationIndex);\n                                        var tmp$5;\n                                        tmp$5 = result$2 !== undefined && result$2.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$6;\n                                        tmp$6 = result$2 !== undefined && result$2.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$2._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$5 = domId(\"building-or-floor\", configurationIndex);\n                                        var result$3 = form.configurationBuildingOrFloorResult(configurationIndex);\n                                        var tmp$7;\n                                        tmp$7 = result$3 !== undefined && result$3.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$8;\n                                        tmp$8 = result$3 !== undefined && result$3.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$3._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$6 = domId(\"suite\", configurationIndex);\n                                        var result$4 = form.configurationSuiteResult(configurationIndex);\n                                        var tmp$9;\n                                        tmp$9 = result$4 !== undefined && result$4.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$10;\n                                        tmp$10 = result$4 !== undefined && result$4.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$4._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$7 = domId(\"city-or-town\", configurationIndex);\n                                        var result$5 = form.configurationCityOrTownResult(configurationIndex);\n                                        var tmp$11;\n                                        tmp$11 = result$5 !== undefined && result$5.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$12;\n                                        tmp$12 = result$5 !== undefined && result$5.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$5._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$8 = domId(\"sub-locality\", configurationIndex);\n                                        var result$6 = form.configurationSubLocalityResult(configurationIndex);\n                                        var tmp$13;\n                                        tmp$13 = result$6 !== undefined && result$6.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$14;\n                                        tmp$14 = result$6 !== undefined && result$6.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$6._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$9 = domId(\"state-or-province\", configurationIndex);\n                                        var result$7 = form.configurationStateOrProvinceResult(configurationIndex);\n                                        var tmp$15;\n                                        tmp$15 = result$7 !== undefined && result$7.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$16;\n                                        tmp$16 = result$7 !== undefined && result$7.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$7._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$10 = domId(\"country\", configurationIndex);\n                                        var result$8 = form.configurationCountryResult(configurationIndex);\n                                        var tmp$17;\n                                        tmp$17 = result$8 !== undefined && result$8.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$18;\n                                        tmp$18 = result$8 !== undefined && result$8.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$8._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$11 = domId(\"postal-code\", configurationIndex);\n                                        var result$9 = form.configurationPostalCodeResult(configurationIndex);\n                                        var tmp$19;\n                                        tmp$19 = result$9 !== undefined && result$9.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$20;\n                                        tmp$20 = result$9 !== undefined && result$9.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$9._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$12 = domId(\"prefix\", configurationIndex);\n                                        var result$10 = form.configurationPrefixResult(configurationIndex);\n                                        var tmp$21;\n                                        tmp$21 = result$10 !== undefined && result$10.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$22;\n                                        tmp$22 = result$10 !== undefined && result$10.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$10._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$13 = domId(\"access-type\", configurationIndex);\n                                        var result$11 = form.configurationAccessTypeResult(configurationIndex);\n                                        var tmp$23;\n                                        tmp$23 = result$11 !== undefined && result$11.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$24;\n                                        tmp$24 = result$11 !== undefined && result$11.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$11._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$14 = domId(\"port-speed\", configurationIndex);\n                                        var result$12 = form.configurationPortSpeedResult(configurationIndex);\n                                        var tmp$25;\n                                        tmp$25 = result$12 !== undefined && result$12.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$26;\n                                        tmp$26 = result$12 !== undefined && result$12.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$12._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$15 = domId(\"class-of-service\", configurationIndex);\n                                        var result$13 = form.configurationClassOfServiceResult(configurationIndex);\n                                        var tmp$27;\n                                        tmp$27 = result$13 !== undefined && result$13.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$28;\n                                        tmp$28 = result$13 !== undefined && result$13.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$13._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var visibility$1 = state.additionalRequirementsVisibility[configurationIndex];\n                                        var tmp$29;\n                                        if (visibility$1 === \"Shown\") {\n                                          var domId$16 = domId(\"additional-requirements\", configurationIndex);\n                                          var result$14 = form.configurationAdditionalRequirementsResult(configurationIndex);\n                                          var tmp$30;\n                                          tmp$30 = result$14 !== undefined && result$14.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                  children: result$14._0,\n                                                  className: css.errorMessage\n                                                }) : null;\n                                          tmp$29 = JsxRuntime.jsxs(\"div\", {\n                                                children: [\n                                                  JsxRuntime.jsx(Textarea.make, {\n                                                        id: domId$16,\n                                                        value: configuration.additionalRequirements,\n                                                        status: Belt_Option.flatMap(result$14, (function (x) {\n                                                                if (x.TAG === \"Ok\") {\n                                                                  if (x._0 !== undefined) {\n                                                                    return \"Valid\";\n                                                                  } else {\n                                                                    return ;\n                                                                  }\n                                                                } else {\n                                                                  return \"Error\";\n                                                                }\n                                                              })),\n                                                        wrapperClassName: css.textarea,\n                                                        onBlur: (function (param) {\n                                                            form.blurConfigurationAdditionalRequirements(configurationIndex);\n                                                          }),\n                                                        onChange: (function ($$event) {\n                                                            var value = ReactForm.value($$event);\n                                                            form.updateConfigurationAdditionalRequirements(configurationIndex, (function (input, value) {\n                                                                    return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                  return {\n                                                                                          key: configuration.key,\n                                                                                          startDate: configuration.startDate,\n                                                                                          contractLength: configuration.contractLength,\n                                                                                          streetAddress: configuration.streetAddress,\n                                                                                          buildingOrFloor: configuration.buildingOrFloor,\n                                                                                          suite: configuration.suite,\n                                                                                          cityOrTown: configuration.cityOrTown,\n                                                                                          subLocality: configuration.subLocality,\n                                                                                          stateOrProvince: configuration.stateOrProvince,\n                                                                                          country: configuration.country,\n                                                                                          postalCode: configuration.postalCode,\n                                                                                          prefix: configuration.prefix,\n                                                                                          accessType: configuration.accessType,\n                                                                                          portSpeed: configuration.portSpeed,\n                                                                                          classOfService: configuration.classOfService,\n                                                                                          mplsServices: configuration.mplsServices,\n                                                                                          additionalRequirements: value\n                                                                                        };\n                                                                                }));\n                                                                  }), value);\n                                                            persistDraft([\n                                                                  CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                          return {\n                                                                                  key: configuration.key,\n                                                                                  startDate: configuration.startDate,\n                                                                                  contractLength: configuration.contractLength,\n                                                                                  streetAddress: configuration.streetAddress,\n                                                                                  buildingOrFloor: configuration.buildingOrFloor,\n                                                                                  suite: configuration.suite,\n                                                                                  cityOrTown: configuration.cityOrTown,\n                                                                                  subLocality: configuration.subLocality,\n                                                                                  stateOrProvince: configuration.stateOrProvince,\n                                                                                  country: configuration.country,\n                                                                                  postalCode: configuration.postalCode,\n                                                                                  prefix: configuration.prefix,\n                                                                                  accessType: configuration.accessType,\n                                                                                  portSpeed: configuration.portSpeed,\n                                                                                  classOfService: configuration.classOfService,\n                                                                                  mplsServices: configuration.mplsServices,\n                                                                                  additionalRequirements: value\n                                                                                };\n                                                                        })),\n                                                                  context\n                                                                ]);\n                                                          })\n                                                      }),\n                                                  tmp$30\n                                                ],\n                                                className: Cx.cx([\n                                                      css.fieldRow,\n                                                      css.justified\n                                                    ])\n                                              });\n                                        } else {\n                                          tmp$29 = null;\n                                        }\n                                        tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n                                              children: [\n                                                JsxRuntime.jsx(ProjectWizardPanel.HeadlessSection.make, {\n                                                      children: JsxRuntime.jsxs(\"div\", {\n                                                            children: [\n                                                              JsxRuntime.jsxs(\"div\", {\n                                                                    children: [\n                                                                      JsxRuntime.jsx(Label.make, {\n                                                                            forId: domId$2,\n                                                                            status: result,\n                                                                            className: Cx.cx([\n                                                                                  css.label,\n                                                                                  css.requiredLabel,\n                                                                                  tmp$1\n                                                                                ]),\n                                                                            children: \"Service Start Date\"\n                                                                          }),\n                                                                      JsxRuntime.jsx(DatePicker.make, {\n                                                                            id: domId$2,\n                                                                            value: Belt_Option.map(configuration.startDate, (function (prim) {\n                                                                                    return prim;\n                                                                                  })),\n                                                                            fromMonth: Caml_option.some(AddDays(new Date(), 1)),\n                                                                            disabledDays: [{\n                                                                                from: new Date(0, 0),\n                                                                                to: new Date()\n                                                                              }],\n                                                                            status: Belt_Option.map(result, (function (x) {\n                                                                                    if (x.TAG === \"Ok\") {\n                                                                                      return \"Valid\";\n                                                                                    } else {\n                                                                                      return \"Error\";\n                                                                                    }\n                                                                                  })),\n                                                                            onDayChange: (function (date, param, param$1) {\n                                                                                form.updateConfigurationStartDate(configurationIndex, (function (input, value) {\n                                                                                        return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                      return {\n                                                                                                              key: configuration.key,\n                                                                                                              startDate: value,\n                                                                                                              contractLength: configuration.contractLength,\n                                                                                                              streetAddress: configuration.streetAddress,\n                                                                                                              buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                              suite: configuration.suite,\n                                                                                                              cityOrTown: configuration.cityOrTown,\n                                                                                                              subLocality: configuration.subLocality,\n                                                                                                              stateOrProvince: configuration.stateOrProvince,\n                                                                                                              country: configuration.country,\n                                                                                                              postalCode: configuration.postalCode,\n                                                                                                              prefix: configuration.prefix,\n                                                                                                              accessType: configuration.accessType,\n                                                                                                              portSpeed: configuration.portSpeed,\n                                                                                                              classOfService: configuration.classOfService,\n                                                                                                              mplsServices: configuration.mplsServices,\n                                                                                                              additionalRequirements: configuration.additionalRequirements\n                                                                                                            };\n                                                                                                    }));\n                                                                                      }), Caml_option.some(date));\n                                                                                persistDraft([\n                                                                                      CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                              return {\n                                                                                                      key: configuration.key,\n                                                                                                      startDate: Caml_option.some(date),\n                                                                                                      contractLength: configuration.contractLength,\n                                                                                                      streetAddress: configuration.streetAddress,\n                                                                                                      buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                      suite: configuration.suite,\n                                                                                                      cityOrTown: configuration.cityOrTown,\n                                                                                                      subLocality: configuration.subLocality,\n                                                                                                      stateOrProvince: configuration.stateOrProvince,\n                                                                                                      country: configuration.country,\n                                                                                                      postalCode: configuration.postalCode,\n                                                                                                      prefix: configuration.prefix,\n                                                                                                      accessType: configuration.accessType,\n                                                                                                      portSpeed: configuration.portSpeed,\n                                                                                                      classOfService: configuration.classOfService,\n                                                                                                      mplsServices: configuration.mplsServices,\n                                                                                                      additionalRequirements: configuration.additionalRequirements\n                                                                                                    };\n                                                                                            })),\n                                                                                      context\n                                                                                    ]);\n                                                                              }),\n                                                                            onHide: (function () {\n                                                                                form.blurConfigurationStartDate(configurationIndex);\n                                                                              }),\n                                                                            className: css.input\n                                                                          }),\n                                                                      tmp$2\n                                                                    ],\n                                                                    className: css.field\n                                                                  }),\n                                                              JsxRuntime.jsxs(\"div\", {\n                                                                    children: [\n                                                                      JsxRuntime.jsx(Label.make, {\n                                                                            forId: domId$3,\n                                                                            status: result$1,\n                                                                            className: Cx.cx([\n                                                                                  css.label,\n                                                                                  css.requiredLabel,\n                                                                                  tmp$3\n                                                                                ]),\n                                                                            children: \"Contract Length\"\n                                                                          }),\n                                                                      JsxRuntime.jsxs(Select.make, {\n                                                                            id: domId$3,\n                                                                            value: Belt_Option.mapWithDefault(configuration.contractLength, \"\", (function (cl) {\n                                                                                    return String(cl.value);\n                                                                                  })),\n                                                                            status: Belt_Option.map(result$1, (function (x) {\n                                                                                    if (x.TAG === \"Ok\") {\n                                                                                      return \"Valid\";\n                                                                                    } else {\n                                                                                      return \"Error\";\n                                                                                    }\n                                                                                  })),\n                                                                            className: css.input,\n                                                                            wrapperClassName: css.selectWrapper,\n                                                                            iconSize: \"XXS\",\n                                                                            iconColor: \"GrayText\",\n                                                                            onChange: (function ($$event) {\n                                                                                var value = Belt_Array.getBy(options.contractLengths, (function (cl) {\n                                                                                        return Belt_Option.mapWithDefault(Belt_Int.fromString(ReactForm.value($$event)), false, (function (value) {\n                                                                                                      return value === cl.value;\n                                                                                                    }));\n                                                                                      }));\n                                                                                form.updateConfigurationContractLength(configurationIndex, (function (input, value) {\n                                                                                        return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                      return {\n                                                                                                              key: configuration.key,\n                                                                                                              startDate: configuration.startDate,\n                                                                                                              contractLength: value,\n                                                                                                              streetAddress: configuration.streetAddress,\n                                                                                                              buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                              suite: configuration.suite,\n                                                                                                              cityOrTown: configuration.cityOrTown,\n                                                                                                              subLocality: configuration.subLocality,\n                                                                                                              stateOrProvince: configuration.stateOrProvince,\n                                                                                                              country: configuration.country,\n                                                                                                              postalCode: configuration.postalCode,\n                                                                                                              prefix: configuration.prefix,\n                                                                                                              accessType: configuration.accessType,\n                                                                                                              portSpeed: configuration.portSpeed,\n                                                                                                              classOfService: configuration.classOfService,\n                                                                                                              mplsServices: configuration.mplsServices,\n                                                                                                              additionalRequirements: configuration.additionalRequirements\n                                                                                                            };\n                                                                                                    }));\n                                                                                      }), value);\n                                                                                persistDraft([\n                                                                                      CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                              return {\n                                                                                                      key: configuration.key,\n                                                                                                      startDate: configuration.startDate,\n                                                                                                      contractLength: value,\n                                                                                                      streetAddress: configuration.streetAddress,\n                                                                                                      buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                      suite: configuration.suite,\n                                                                                                      cityOrTown: configuration.cityOrTown,\n                                                                                                      subLocality: configuration.subLocality,\n                                                                                                      stateOrProvince: configuration.stateOrProvince,\n                                                                                                      country: configuration.country,\n                                                                                                      postalCode: configuration.postalCode,\n                                                                                                      prefix: configuration.prefix,\n                                                                                                      accessType: configuration.accessType,\n                                                                                                      portSpeed: configuration.portSpeed,\n                                                                                                      classOfService: configuration.classOfService,\n                                                                                                      mplsServices: configuration.mplsServices,\n                                                                                                      additionalRequirements: configuration.additionalRequirements\n                                                                                                    };\n                                                                                            })),\n                                                                                      context\n                                                                                    ]);\n                                                                              }),\n                                                                            onBlur: (function (param) {\n                                                                                form.blurConfigurationContractLength(configurationIndex);\n                                                                              }),\n                                                                            children: [\n                                                                              JsxRuntime.jsx(Select.DefaultOption.make, {\n                                                                                    children: \"Select...\"\n                                                                                  }),\n                                                                              Belt_Array.map(options.contractLengths, (function (cl) {\n                                                                                      return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                                                  value: String(cl.value),\n                                                                                                  children: cl.label\n                                                                                                }, String(cl.value));\n                                                                                    }))\n                                                                            ]\n                                                                          }),\n                                                                      tmp$4\n                                                                    ],\n                                                                    className: css.field\n                                                                  })\n                                                            ],\n                                                            className: Cx.cx([\n                                                                  css.fieldRow,\n                                                                  css.unfilled\n                                                                ])\n                                                          })\n                                                    }),\n                                                JsxRuntime.jsxs(ProjectWizardPanel.Section.make, {\n                                                      title: \"Location\",\n                                                      children: [\n                                                        JsxRuntime.jsxs(\"div\", {\n                                                              children: [\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$4,\n                                                                              status: result$2,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    css.requiredLabel,\n                                                                                    tmp$5\n                                                                                  ]),\n                                                                              children: \"Street Address:\"\n                                                                            }),\n                                                                        JsxRuntime.jsx(ReactGeoSuggestField.make, {\n                                                                              id: domId$4,\n                                                                              value: configuration.streetAddress,\n                                                                              radius: \"20\",\n                                                                              status: Belt_Option.map(result$2, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              location: new (google.maps.LatLng)(53.558572, 9.9278215),\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationStreetAddress(configurationIndex);\n                                                                                }),\n                                                                              onChange: (function (value) {\n                                                                                  form.updateConfigurationStreetAddress(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: value,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: value,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: configuration.cityOrTown,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: configuration.stateOrProvince,\n                                                                                                        country: configuration.country,\n                                                                                                        postalCode: configuration.postalCode,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                }),\n                                                                              onSuggestSelect: (function (suggest) {\n                                                                                  var result = ReactGeoSuggest.ReactGeoSuggestData.fromJson(suggest);\n                                                                                  var gmaps = result.gmaps;\n                                                                                  if (gmaps === undefined) {\n                                                                                    return ;\n                                                                                  }\n                                                                                  var addresses = gmaps.address_components;\n                                                                                  var cityOrTown = {\n                                                                                    contents: configuration.cityOrTown\n                                                                                  };\n                                                                                  var stateOrProvince = {\n                                                                                    contents: configuration.stateOrProvince\n                                                                                  };\n                                                                                  var country = {\n                                                                                    contents: configuration.country\n                                                                                  };\n                                                                                  var postalCode = {\n                                                                                    contents: configuration.postalCode\n                                                                                  };\n                                                                                  Belt_Array.forEach(addresses, (function (address) {\n                                                                                          var addressType = Belt_Array.get(address.types, 0);\n                                                                                          if (addressType !== undefined) {\n                                                                                            if (addressType === \"locality\" || addressType === \"postal_town\") {\n                                                                                              cityOrTown.contents = address.long_name;\n                                                                                            }\n                                                                                            if (addressType === \"administrative_area_level_1\") {\n                                                                                              stateOrProvince.contents = address.long_name;\n                                                                                            }\n                                                                                            if (addressType === \"country\") {\n                                                                                              country.contents = address.long_name;\n                                                                                            }\n                                                                                            if (addressType === \"postal_code\") {\n                                                                                              postalCode.contents = address.long_name;\n                                                                                              return ;\n                                                                                            } else {\n                                                                                              return ;\n                                                                                            }\n                                                                                          }\n                                                                                          \n                                                                                        }));\n                                                                                  form.updateConfigurationStreetAddress(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: value,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), gmaps.name);\n                                                                                  form.updateConfigurationCityOrTown(configurationIndex, (function (input, cityOrTown) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), cityOrTown.contents);\n                                                                                  form.updateConfigurationStateOrProvince(configurationIndex, (function (input, stateOrProvince) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), stateOrProvince.contents);\n                                                                                  form.updateConfigurationCountry(configurationIndex, (function (input, country) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), country.contents);\n                                                                                  form.updateConfigurationPostalCode(configurationIndex, (function (input, postalCode) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), postalCode.contents);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: gmaps.name,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: cityOrTown.contents,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: stateOrProvince.contents,\n                                                                                                        country: country.contents,\n                                                                                                        postalCode: postalCode.contents,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                })\n                                                                            }),\n                                                                        tmp$6\n                                                                      ],\n                                                                      className: Cx.cx([\n                                                                            css.field,\n                                                                            css.elongated\n                                                                          ])\n                                                                    }),\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$5,\n                                                                              status: result$3,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    tmp$7\n                                                                                  ]),\n                                                                              children: \"Building/Floor:\"\n                                                                            }),\n                                                                        JsxRuntime.jsx(TextField.make, {\n                                                                              id: domId$5,\n                                                                              value: configuration.buildingOrFloor,\n                                                                              status: Belt_Option.flatMap(result$3, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        if (x._0 !== undefined) {\n                                                                                          return \"Valid\";\n                                                                                        } else {\n                                                                                          return ;\n                                                                                        }\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationBuildingOrFloor(configurationIndex);\n                                                                                }),\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = ReactForm.value($$event);\n                                                                                  form.updateConfigurationBuildingOrFloor(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: value,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: configuration.streetAddress,\n                                                                                                        buildingOrFloor: value,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: configuration.cityOrTown,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: configuration.stateOrProvince,\n                                                                                                        country: configuration.country,\n                                                                                                        postalCode: configuration.postalCode,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                })\n                                                                            }),\n                                                                        tmp$8\n                                                                      ],\n                                                                      className: css.field\n                                                                    }),\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$6,\n                                                                              status: result$4,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    tmp$9\n                                                                                  ]),\n                                                                              children: \"Suite:\"\n                                                                            }),\n                                                                        JsxRuntime.jsx(TextField.make, {\n                                                                              id: domId$6,\n                                                                              value: configuration.suite,\n                                                                              status: Belt_Option.flatMap(result$4, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        if (x._0 !== undefined) {\n                                                                                          return \"Valid\";\n                                                                                        } else {\n                                                                                          return ;\n                                                                                        }\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationSuite(configurationIndex);\n                                                                                }),\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = ReactForm.value($$event);\n                                                                                  form.updateConfigurationSuite(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: value,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: configuration.streetAddress,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: value,\n                                                                                                        cityOrTown: configuration.cityOrTown,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: configuration.stateOrProvince,\n                                                                                                        country: configuration.country,\n                                                                                                        postalCode: configuration.postalCode,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                })\n                                                                            }),\n                                                                        tmp$10\n                                                                      ],\n                                                                      className: css.field\n                                                                    })\n                                                              ],\n                                                              className: Cx.cx([\n                                                                    css.fieldRow,\n                                                                    css.justified\n                                                                  ])\n                                                            }),\n                                                        JsxRuntime.jsxs(\"div\", {\n                                                              children: [\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$7,\n                                                                              status: result$5,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    css.requiredLabel,\n                                                                                    tmp$11\n                                                                                  ]),\n                                                                              children: \"City/Town:\"\n                                                                            }),\n                                                                        JsxRuntime.jsx(TextField.make, {\n                                                                              id: domId$7,\n                                                                              value: configuration.cityOrTown,\n                                                                              status: Belt_Option.map(result$5, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationCityOrTown(configurationIndex);\n                                                                                }),\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = ReactForm.value($$event);\n                                                                                  form.updateConfigurationCityOrTown(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: value,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: configuration.streetAddress,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: value,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: configuration.stateOrProvince,\n                                                                                                        country: configuration.country,\n                                                                                                        postalCode: configuration.postalCode,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                })\n                                                                            }),\n                                                                        tmp$12\n                                                                      ],\n                                                                      className: Cx.cx([\n                                                                            css.field,\n                                                                            css.moderate\n                                                                          ])\n                                                                    }),\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$8,\n                                                                              status: result$6,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    tmp$13\n                                                                                  ]),\n                                                                              children: \"Sub-Locality:\"\n                                                                            }),\n                                                                        JsxRuntime.jsx(TextField.make, {\n                                                                              id: domId$8,\n                                                                              value: configuration.subLocality,\n                                                                              status: Belt_Option.flatMap(result$6, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        if (x._0 !== undefined) {\n                                                                                          return \"Valid\";\n                                                                                        } else {\n                                                                                          return ;\n                                                                                        }\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationSubLocality(configurationIndex);\n                                                                                }),\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = ReactForm.value($$event);\n                                                                                  form.updateConfigurationSubLocality(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: value,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: configuration.streetAddress,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: configuration.cityOrTown,\n                                                                                                        subLocality: value,\n                                                                                                        stateOrProvince: configuration.stateOrProvince,\n                                                                                                        country: configuration.country,\n                                                                                                        postalCode: configuration.postalCode,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                })\n                                                                            }),\n                                                                        tmp$14\n                                                                      ],\n                                                                      className: Cx.cx([\n                                                                            css.field,\n                                                                            css.moderate\n                                                                          ])\n                                                                    }),\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$9,\n                                                                              status: result$7,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    css.requiredLabel,\n                                                                                    tmp$15\n                                                                                  ]),\n                                                                              children: \"State/Province:\"\n                                                                            }),\n                                                                        JsxRuntime.jsx(TextField.make, {\n                                                                              id: domId$9,\n                                                                              value: configuration.stateOrProvince,\n                                                                              status: Belt_Option.map(result$7, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationStateOrProvince(configurationIndex);\n                                                                                }),\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = ReactForm.value($$event);\n                                                                                  form.updateConfigurationStateOrProvince(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: value,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: configuration.streetAddress,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: configuration.cityOrTown,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: value,\n                                                                                                        country: configuration.country,\n                                                                                                        postalCode: configuration.postalCode,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                })\n                                                                            }),\n                                                                        tmp$16\n                                                                      ],\n                                                                      className: css.field\n                                                                    })\n                                                              ],\n                                                              className: Cx.cx([\n                                                                    css.fieldRow,\n                                                                    css.justified\n                                                                  ])\n                                                            }),\n                                                        JsxRuntime.jsxs(\"div\", {\n                                                              children: [\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$10,\n                                                                              status: result$8,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    css.requiredLabel,\n                                                                                    tmp$17\n                                                                                  ]),\n                                                                              children: \"Country:\"\n                                                                            }),\n                                                                        JsxRuntime.jsx(TextField.make, {\n                                                                              id: domId$10,\n                                                                              value: configuration.country,\n                                                                              status: Belt_Option.map(result$8, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationCountry(configurationIndex);\n                                                                                }),\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = ReactForm.value($$event);\n                                                                                  form.updateConfigurationCountry(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: value,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: configuration.streetAddress,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: configuration.cityOrTown,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: configuration.stateOrProvince,\n                                                                                                        country: value,\n                                                                                                        postalCode: configuration.postalCode,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                })\n                                                                            }),\n                                                                        tmp$18\n                                                                      ],\n                                                                      className: Cx.cx([\n                                                                            css.field,\n                                                                            css.moderate\n                                                                          ])\n                                                                    }),\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$11,\n                                                                              status: result$9,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    css.requiredLabel,\n                                                                                    tmp$19\n                                                                                  ]),\n                                                                              children: \"Postal Code:\"\n                                                                            }),\n                                                                        JsxRuntime.jsx(TextField.make, {\n                                                                              id: domId$11,\n                                                                              value: configuration.postalCode,\n                                                                              status: Belt_Option.map(result$9, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationPostalCode(configurationIndex);\n                                                                                }),\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = ReactForm.value($$event);\n                                                                                  form.updateConfigurationPostalCode(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: value,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: configuration.streetAddress,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: configuration.cityOrTown,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: configuration.stateOrProvince,\n                                                                                                        country: configuration.country,\n                                                                                                        postalCode: value,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                })\n                                                                            }),\n                                                                        tmp$20\n                                                                      ],\n                                                                      className: css.field\n                                                                    }),\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$12,\n                                                                              status: result$10,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    tmp$21\n                                                                                  ]),\n                                                                              children: \"Prefix (NPA/NXX):\"\n                                                                            }),\n                                                                        JsxRuntime.jsx(TextField.make, {\n                                                                              id: domId$12,\n                                                                              value: configuration.prefix,\n                                                                              status: Belt_Option.flatMap(result$10, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        if (x._0 !== undefined) {\n                                                                                          return \"Valid\";\n                                                                                        } else {\n                                                                                          return ;\n                                                                                        }\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationPrefix(configurationIndex);\n                                                                                }),\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = ReactForm.value($$event);\n                                                                                  form.updateConfigurationPrefix(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: value,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: configuration.streetAddress,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: configuration.cityOrTown,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: configuration.stateOrProvince,\n                                                                                                        country: configuration.country,\n                                                                                                        postalCode: configuration.postalCode,\n                                                                                                        prefix: value,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                })\n                                                                            }),\n                                                                        tmp$22\n                                                                      ],\n                                                                      className: css.field\n                                                                    })\n                                                              ],\n                                                              className: Cx.cx([\n                                                                    css.fieldRow,\n                                                                    css.unfilled\n                                                                  ])\n                                                            })\n                                                      ]\n                                                    }),\n                                                JsxRuntime.jsxs(ProjectWizardPanel.Section.make, {\n                                                      title: \"MPLS Configuration\",\n                                                      children: [\n                                                        JsxRuntime.jsxs(\"div\", {\n                                                              children: [\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$13,\n                                                                              status: result$11,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    css.requiredLabel,\n                                                                                    tmp$23\n                                                                                  ]),\n                                                                              children: \"Access Type:\"\n                                                                            }),\n                                                                        JsxRuntime.jsxs(Select.make, {\n                                                                              id: domId$13,\n                                                                              value: configuration.accessType,\n                                                                              status: Belt_Option.map(result$11, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              wrapperClassName: css.selectWrapper,\n                                                                              iconSize: \"XXS\",\n                                                                              iconColor: \"GrayText\",\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = Belt_Option.getWithDefault(Belt_Array.getBy(options.accessTypes, (function (x) {\n                                                                                              return ReactForm.value($$event) === x;\n                                                                                            })), \"\");\n                                                                                  form.updateConfigurationAccessType(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: value,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: configuration.streetAddress,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: configuration.cityOrTown,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: configuration.stateOrProvince,\n                                                                                                        country: configuration.country,\n                                                                                                        postalCode: configuration.postalCode,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: value,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                }),\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationAccessType(configurationIndex);\n                                                                                }),\n                                                                              children: [\n                                                                                JsxRuntime.jsx(Select.DefaultOption.make, {\n                                                                                      children: \"Select...\"\n                                                                                    }),\n                                                                                Belt_Array.map(options.accessTypes, (function (x) {\n                                                                                        return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                                                    value: x,\n                                                                                                    children: x\n                                                                                                  }, x);\n                                                                                      }))\n                                                                              ]\n                                                                            }),\n                                                                        tmp$24\n                                                                      ],\n                                                                      className: css.field\n                                                                    }),\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$14,\n                                                                              status: result$12,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    css.requiredLabel,\n                                                                                    tmp$25\n                                                                                  ]),\n                                                                              children: \"Port Speed:\"\n                                                                            }),\n                                                                        JsxRuntime.jsxs(Select.make, {\n                                                                              id: domId$14,\n                                                                              value: configuration.portSpeed,\n                                                                              status: Belt_Option.map(result$12, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              wrapperClassName: css.selectWrapper,\n                                                                              iconSize: \"XXS\",\n                                                                              iconColor: \"GrayText\",\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = Belt_Option.getWithDefault(Belt_Array.getBy(options.portSpeeds, (function (x) {\n                                                                                              return ReactForm.value($$event) === x;\n                                                                                            })), \"\");\n                                                                                  form.updateConfigurationPortSpeed(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: value,\n                                                                                                                classOfService: configuration.classOfService,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: configuration.streetAddress,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: configuration.cityOrTown,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: configuration.stateOrProvince,\n                                                                                                        country: configuration.country,\n                                                                                                        postalCode: configuration.postalCode,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: value,\n                                                                                                        classOfService: configuration.classOfService,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                }),\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationPortSpeed(configurationIndex);\n                                                                                }),\n                                                                              children: [\n                                                                                JsxRuntime.jsx(Select.DefaultOption.make, {\n                                                                                      selectable: true,\n                                                                                      children: \"Select...\"\n                                                                                    }),\n                                                                                Belt_Array.map(options.portSpeeds, (function (x) {\n                                                                                        return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                                                    value: x,\n                                                                                                    children: x\n                                                                                                  }, x);\n                                                                                      }))\n                                                                              ]\n                                                                            }),\n                                                                        tmp$26\n                                                                      ],\n                                                                      className: css.field\n                                                                    }),\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$15,\n                                                                              status: result$13,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    tmp$27\n                                                                                  ]),\n                                                                              children: \"Class of Service:\"\n                                                                            }),\n                                                                        JsxRuntime.jsxs(Select.make, {\n                                                                              id: domId$15,\n                                                                              value: configuration.classOfService,\n                                                                              status: Belt_Option.map(result$13, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              wrapperClassName: css.selectWrapper,\n                                                                              iconSize: \"XXS\",\n                                                                              iconColor: \"GrayText\",\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = Belt_Option.getWithDefault(Belt_Array.getBy(options.classOfServices, (function (x) {\n                                                                                              return ReactForm.value($$event) === x;\n                                                                                            })), \"\");\n                                                                                  form.updateConfigurationClassOfService(configurationIndex, (function (input, value) {\n                                                                                          return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                streetAddress: configuration.streetAddress,\n                                                                                                                buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                suite: configuration.suite,\n                                                                                                                cityOrTown: configuration.cityOrTown,\n                                                                                                                subLocality: configuration.subLocality,\n                                                                                                                stateOrProvince: configuration.stateOrProvince,\n                                                                                                                country: configuration.country,\n                                                                                                                postalCode: configuration.postalCode,\n                                                                                                                prefix: configuration.prefix,\n                                                                                                                accessType: configuration.accessType,\n                                                                                                                portSpeed: configuration.portSpeed,\n                                                                                                                classOfService: value,\n                                                                                                                mplsServices: configuration.mplsServices,\n                                                                                                                additionalRequirements: configuration.additionalRequirements\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        streetAddress: configuration.streetAddress,\n                                                                                                        buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                        suite: configuration.suite,\n                                                                                                        cityOrTown: configuration.cityOrTown,\n                                                                                                        subLocality: configuration.subLocality,\n                                                                                                        stateOrProvince: configuration.stateOrProvince,\n                                                                                                        country: configuration.country,\n                                                                                                        postalCode: configuration.postalCode,\n                                                                                                        prefix: configuration.prefix,\n                                                                                                        accessType: configuration.accessType,\n                                                                                                        portSpeed: configuration.portSpeed,\n                                                                                                        classOfService: value,\n                                                                                                        mplsServices: configuration.mplsServices,\n                                                                                                        additionalRequirements: configuration.additionalRequirements\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                }),\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationClassOfService(configurationIndex);\n                                                                                }),\n                                                                              children: [\n                                                                                JsxRuntime.jsx(Select.DefaultOption.make, {\n                                                                                      selectable: true,\n                                                                                      children: \"Select...\"\n                                                                                    }),\n                                                                                Belt_Array.map(options.classOfServices, (function (x) {\n                                                                                        return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                                                    value: x,\n                                                                                                    children: x\n                                                                                                  }, x);\n                                                                                      }))\n                                                                              ]\n                                                                            }),\n                                                                        tmp$28\n                                                                      ],\n                                                                      className: css.field\n                                                                    })\n                                                              ],\n                                                              className: Cx.cx([\n                                                                    css.fieldRow,\n                                                                    css.unfilled\n                                                                  ])\n                                                            }),\n                                                        JsxRuntime.jsx(\"div\", {\n                                                              children: JsxRuntime.jsx(ProjectWizardPanel.ZebraGrid.make, {\n                                                                    items: options.mplsServices,\n                                                                    mobile: mobile,\n                                                                    children: (function (option) {\n                                                                        var domId$17 = domId(\"mpls-services\" + option, configurationIndex);\n                                                                        return JsxRuntime.jsx(Checkbox.WithLabel.make, {\n                                                                                    id: domId$17,\n                                                                                    size: \"MD\",\n                                                                                    checked: Belt_SetString.has(configuration.mplsServices, option),\n                                                                                    containerClassName: css.checkbox,\n                                                                                    onChange: (function ($$event) {\n                                                                                        var value = ReactForm.checked($$event) ? Belt_SetString.add(configuration.mplsServices, option) : Belt_SetString.remove(configuration.mplsServices, option);\n                                                                                        form.updateConfigurationMplsServices(configurationIndex, (function (input, value) {\n                                                                                                return CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                              return {\n                                                                                                                      key: configuration.key,\n                                                                                                                      startDate: configuration.startDate,\n                                                                                                                      contractLength: configuration.contractLength,\n                                                                                                                      streetAddress: configuration.streetAddress,\n                                                                                                                      buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                                      suite: configuration.suite,\n                                                                                                                      cityOrTown: configuration.cityOrTown,\n                                                                                                                      subLocality: configuration.subLocality,\n                                                                                                                      stateOrProvince: configuration.stateOrProvince,\n                                                                                                                      country: configuration.country,\n                                                                                                                      postalCode: configuration.postalCode,\n                                                                                                                      prefix: configuration.prefix,\n                                                                                                                      accessType: configuration.accessType,\n                                                                                                                      portSpeed: configuration.portSpeed,\n                                                                                                                      classOfService: configuration.classOfService,\n                                                                                                                      mplsServices: value,\n                                                                                                                      additionalRequirements: configuration.additionalRequirements\n                                                                                                                    };\n                                                                                                            }));\n                                                                                              }), value);\n                                                                                        persistDraft([\n                                                                                              CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                      return {\n                                                                                                              key: configuration.key,\n                                                                                                              startDate: configuration.startDate,\n                                                                                                              contractLength: configuration.contractLength,\n                                                                                                              streetAddress: configuration.streetAddress,\n                                                                                                              buildingOrFloor: configuration.buildingOrFloor,\n                                                                                                              suite: configuration.suite,\n                                                                                                              cityOrTown: configuration.cityOrTown,\n                                                                                                              subLocality: configuration.subLocality,\n                                                                                                              stateOrProvince: configuration.stateOrProvince,\n                                                                                                              country: configuration.country,\n                                                                                                              postalCode: configuration.postalCode,\n                                                                                                              prefix: configuration.prefix,\n                                                                                                              accessType: configuration.accessType,\n                                                                                                              portSpeed: configuration.portSpeed,\n                                                                                                              classOfService: configuration.classOfService,\n                                                                                                              mplsServices: value,\n                                                                                                              additionalRequirements: configuration.additionalRequirements\n                                                                                                            };\n                                                                                                    })),\n                                                                                              context\n                                                                                            ]);\n                                                                                      }),\n                                                                                    onBlur: (function (param) {\n                                                                                        form.blurConfigurationMplsServices(configurationIndex);\n                                                                                      }),\n                                                                                    children: option\n                                                                                  }, domId$17);\n                                                                      })\n                                                                  }),\n                                                              className: Cx.cx([\n                                                                    css.field,\n                                                                    css.expanded\n                                                                  ])\n                                                            })\n                                                      ]\n                                                    }),\n                                                JsxRuntime.jsx(ProjectWizardPanel.CollapsableSection.make, {\n                                                      title: \"Additional Requirements (Optional)\",\n                                                      visibility: visibility$1,\n                                                      toggleVisibility: (function () {\n                                                          dispatch({\n                                                                TAG: \"ToggleAdditionalRequirementsVisibility\",\n                                                                at: configurationIndex\n                                                              });\n                                                        }),\n                                                      children: tmp$29\n                                                    })\n                                              ]\n                                            });\n                                      } else {\n                                        tmp = null;\n                                      }\n                                      return JsxRuntime.jsx(ProjectWizardPanel.make, {\n                                                  title: configurationTitle(configurationIndex),\n                                                  visibility: visibility,\n                                                  toggleVisibility: (function () {\n                                                      dispatch({\n                                                            TAG: \"TogglePanelVisibility\",\n                                                            at: configurationIndex\n                                                          });\n                                                    }),\n                                                  deleteControl: match.length !== 1 ? (function () {\n                                                        form.removeConfiguration(configurationIndex);\n                                                        dispatch({\n                                                              TAG: \"RemovePanel\",\n                                                              at: configurationIndex\n                                                            });\n                                                        persistDraft([\n                                                              CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.remove(form.input, configurationIndex),\n                                                              context\n                                                            ]);\n                                                      }) : undefined,\n                                                  children: tmp\n                                                }, configuration.key);\n                                    }))\n                            }),\n                        JsxRuntime.jsx(Button.make, {\n                              size: \"MD\",\n                              color: \"Teal\",\n                              onClick: (function (param) {\n                                  dispatch(\"AddPanel\");\n                                }),\n                              children: \"+ Add One More Network Service\"\n                            })\n                      ]\n                    }),\n                JsxRuntime.jsxs(ProjectWizard.Content.make, {\n                      children: [\n                        JsxRuntime.jsx(CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails.make, {\n                              alreadyUploadedDocuments: Belt_Array.keep(alreadyUploadedDocuments, (function ($$document) {\n                                      return !Js_array.includes($$document.id, form.input.deletedDocumentIds);\n                                    })),\n                              documents: form.input.documents,\n                              removeAlreadyUploadedDocument: (function ($$document) {\n                                  dispatch({\n                                        TAG: \"RemoveAlreadUploadedDocument\",\n                                        _0: $$document\n                                      });\n                                }),\n                              removeDocument: (function ($$document) {\n                                  dispatch({\n                                        TAG: \"RemoveDocument\",\n                                        _0: $$document\n                                      });\n                                })\n                            }),\n                        tmp,\n                        JsxRuntime.jsx(Uploader.make, {\n                              allowed: [\n                                \"Pdf\",\n                                \"Doc\",\n                                \"Docx\",\n                                \"Csv\",\n                                \"Vsd\",\n                                \"Xls\",\n                                \"Xlsx\"\n                              ],\n                              multiple: true,\n                              className: css.uploader,\n                              upload: (function (files) {\n                                  Belt_Array.map(files, (function (file) {\n                                          var match = Uploader.FileType.fromMime(file.type);\n                                          switch (match) {\n                                            case \"Jpg\" :\n                                            case \"Png\" :\n                                            case \"Avi\" :\n                                            case \"Mp4\" :\n                                            case \"Mov\" :\n                                            case \"Wmv\" :\n                                                return ;\n                                            default:\n                                              return dispatch({\n                                                          TAG: \"AddDocument\",\n                                                          _0: file\n                                                        });\n                                          }\n                                        }));\n                                }),\n                              setUploadHandler: (function (param) {\n                                  \n                                }),\n                              children: JsxRuntime.jsxs(Button.make, {\n                                    size: \"SM\",\n                                    color: \"Teal\",\n                                    buttonClassName: css.uploadDocumentButton,\n                                    children: [\n                                      JsxRuntime.jsx(IconUpload.make, {\n                                            size: \"LG\",\n                                            color: \"White\",\n                                            className: css.uploadButtonIcon\n                                          }),\n                                      \"Bulk Upload\"\n                                    ]\n                                  })\n                            })\n                      ]\n                    }),\n                JsxRuntime.jsx(ProjectWizardNavigation.make, {\n                      stepLabel: \"Step 1 of 3\",\n                      controls: {\n                        TAG: \"PreviousAndNextAndContinueLater\",\n                        next: tmp$2,\n                        previous: [\n                          \"Cancel\",\n                          (function () {\n                              cancelCreation();\n                            }),\n                          \"Enabled\"\n                        ],\n                        continueLater: tmp$5\n                      },\n                      mobile: mobile\n                    }),\n                JsxRuntime.jsx(ReactNotifications.NotificationContainer, {}),\n                tmp$6\n              ]\n            });\n}\n\nvar Configuration;\n\nvar Options;\n\nvar make = CreateNetworkProjectMplsNetworkConfiguration;\n\nexport {\n  Configuration ,\n  Options ,\n  css ,\n  domId ,\n  configurationTitle ,\n  Visibilities ,\n  ValidateSaveAndContinueLaterForm ,\n  Api$1 as Api,\n  isAlreadyDocumentsAvailable ,\n  isRegionFieldVisible ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as ContractLength from \"../../../../models/ContractLength.res.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              contractLengths: field.required(\"contractLengths\", Json_Decode$JsonCombinators.array(ContractLength.decoder)),\n              accessTypes: field.required(\"accessTypes\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              portSpeeds: field.required(\"portSpeeds\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              classOfServices: field.required(\"classOfServices\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              mplsServices: field.required(\"mplsServices\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              geographicalRegions: field.required(\"geographicalRegions\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string))\n            };\n    });\n\nfunction fromJson(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nvar Options = {\n  decoder: decoder,\n  fromJson: fromJson\n};\n\nexport {\n  Options ,\n}\n/* decoder Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as RailsContext from \"../../../../models/RailsContext.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\nimport * as CreateNetworkProjectMplsNetworkConfiguration from \"./CreateNetworkProjectMplsNetworkConfiguration.res.js\";\nimport * as CreateNetworkProjectMplsNetworkConfigurationData from \"./CreateNetworkProjectMplsNetworkConfigurationData.res.js\";\nimport * as CreateNetworkProjectMplsNetworkConfigurationForm from \"./CreateNetworkProjectMplsNetworkConfigurationForm.res.js\";\n\nfunction CreateNetworkProjectMplsNetworkConfiguration__JsBridge$default(props) {\n  var geographicalRegion = props.geographicalRegion;\n  var documents = props.documents;\n  var status = props.status;\n  var railsContext = props.railsContext;\n  var options = props.options;\n  var configurations = props.configurations;\n  var projectId = props.projectId;\n  var options$1 = React.useMemo((function () {\n          return CreateNetworkProjectMplsNetworkConfigurationData.Options.fromJson(options);\n        }), [options]);\n  var context = React.useMemo((function () {\n          var projectId$1 = Belt_Result.getExn(Json_Decode$JsonCombinators.decode(projectId, Json_Decode$JsonCombinators.option(Project.Id.decoder)));\n          var configurations$1 = Belt_Result.getExn(Json_Decode$JsonCombinators.decode(configurations, Json_Decode$JsonCombinators.array(CreateNetworkProjectMplsNetworkConfigurationForm.Configuration.inputDecoder(options$1.contractLengths))));\n          var geographicalRegion$1 = Belt_Option.getWithDefault((geographicalRegion == null) ? undefined : Caml_option.some(geographicalRegion), \"\");\n          if (projectId$1 !== undefined) {\n            return {\n                    TAG: \"Project\",\n                    geographicalRegion: geographicalRegion$1,\n                    projectId: Caml_option.valFromOption(projectId$1),\n                    data: configurations$1\n                  };\n          } else if (configurations$1.length !== 0) {\n            return {\n                    TAG: \"Draft\",\n                    geographicalRegion: geographicalRegion$1,\n                    data: configurations$1\n                  };\n          } else {\n            return {\n                    TAG: \"Draft\",\n                    geographicalRegion: geographicalRegion$1,\n                    data: undefined\n                  };\n          }\n        }), [\n        projectId,\n        configurations,\n        geographicalRegion\n      ]);\n  var railsContext$1 = React.useMemo((function () {\n          return RailsContext.fromJson(railsContext);\n        }), [railsContext]);\n  var projectStatus = React.useMemo((function () {\n          return Project.Status.fromString(status);\n        }), [status]);\n  var alreadyUploadedDocuments = React.useMemo((function () {\n          return Belt_Array.map(documents, Project.$$Document.fromJs);\n        }), [documents]);\n  return JsxRuntime.jsx(CreateNetworkProjectMplsNetworkConfiguration.make, {\n              context: context,\n              options: options$1,\n              mobile: railsContext$1.mobile,\n              userLoginStatus: railsContext$1.userLoginStatus,\n              setUserData: props.reduxfunction.setUserData,\n              projectStatus: projectStatus,\n              alreadyUploadedDocuments: alreadyUploadedDocuments\n            });\n}\n\nvar Options;\n\nvar $$default = CreateNetworkProjectMplsNetworkConfiguration__JsBridge$default;\n\nexport {\n  Options ,\n  $$default as default,\n}\n/* react Not a pure module */\n","import * as React from 'react';\nimport ReduxProvider from 'ReduxProvider';\nimport { connect } from 'react-redux';\nimport { setUserData } from 'Client/common/actions/userActions';\nimport CreateNetworkProjectMplsNetworkConfiguration from './CreateNetworkProjectMplsNetworkConfiguration__JsBridge.res.js';\n\nconst mapDispatchToProps = dispatch => ({\n  reduxfunction: {\n    setUserData: userData => {\n      dispatch(setUserData(userData));\n    },\n  },\n});\n\nconst CreateNetworkProjectMplsNetworkConfigurationContainer = connect(\n  null,\n  mapDispatchToProps,\n)(CreateNetworkProjectMplsNetworkConfiguration);\n\nexport default ({ context, ...props }) => (\n  <ReduxProvider>\n    <CreateNetworkProjectMplsNetworkConfigurationContainer\n      projectId={props.projectId}\n      configurations={props.networkMplsConfigurations}\n      options={props.options}\n      railsContext={context}\n      status={props.status}\n      reduxfunction={props.reduxfunction}\n      documents={props.documents}\n      geographicalRegion={props.geographicalRegion}\n    />\n  </ReduxProvider>\n);\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar arrow = '\\u279e';\n\nvar middot = '\\u00b7';\n\nvar mdash = '\\u2014';\n\nvar rightCaret = '\\u203a';\n\nvar ampersand = '\\u0026';\n\nvar times = '\\u00D7';\n\nfunction Char$Middot(props) {\n  return JsxRuntime.jsx(\"span\", {\n              children: \" \" + (middot + \" \"),\n              style: {\n                padding: \"0 1px\"\n              }\n            });\n}\n\nvar Middot = {\n  make: Char$Middot\n};\n\nfunction Char$RightArrow(props) {\n  return JsxRuntime.jsx(\"div\", {\n              children: arrow,\n              className: props.className\n            });\n}\n\nvar RightArrow = {\n  make: Char$RightArrow\n};\n\nfunction Char$LeftArrow(props) {\n  return JsxRuntime.jsx(\"div\", {\n              children: arrow,\n              style: {\n                transform: \"rotate(180deg)\"\n              }\n            });\n}\n\nvar LeftArrow = {\n  make: Char$LeftArrow\n};\n\nfunction Char$RightCaret(props) {\n  return JsxRuntime.jsx(\"span\", {\n              children: rightCaret\n            });\n}\n\nvar RightCaret = {\n  make: Char$RightCaret\n};\n\nfunction Char$Ampersand(props) {\n  return JsxRuntime.jsx(\"span\", {\n              children: ampersand\n            });\n}\n\nvar Ampersand = {\n  make: Char$Ampersand\n};\n\nfunction Char$Times(props) {\n  return JsxRuntime.jsx(\"span\", {\n              children: times\n            });\n}\n\nvar Times = {\n  make: Char$Times\n};\n\nexport {\n  arrow ,\n  middot ,\n  mdash ,\n  rightCaret ,\n  ampersand ,\n  times ,\n  Middot ,\n  RightArrow ,\n  LeftArrow ,\n  RightCaret ,\n  Ampersand ,\n  Times ,\n}\n/* react/jsx-runtime Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\n\nfunction value($$event) {\n  return $$event.target.value;\n}\n\nfunction checked($$event) {\n  return $$event.target.checked;\n}\n\nexport {\n  value ,\n  checked ,\n}\n/* No side effect */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              value: field.required(\"value\", Json_Decode$JsonCombinators.$$int),\n              label: field.required(\"label\", Json_Decode$JsonCombinators.string)\n            };\n    });\n\nfunction fromJson(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nexport {\n  decoder ,\n  fromJson ,\n}\n/* decoder Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\n\nvar wrapper = Cx.cx([\n      \"flex\",\n      \"relative\",\n      \"flex-1\",\n      \"text-black\",\n      \"[&:first-of-type > .input.grouped]:rounded-l-md\",\n      \"[&:last-of-type > .input.grouped]:rounded-r-md\",\n      \"[&:last-of-type > .input.grouped]:border-r-1\",\n      \"[&:last-of-type > .input.grouped]:border-gray-300\",\n      \"[&:last-of-type > .input.grouped]:border-solid\",\n      \"[&>div]:w-full\"\n    ]);\n\nvar input = Cx.cx([\n      \"w-full\",\n      \"text-black\",\n      \"border\",\n      \"border-solid\",\n      \"border-gray-300\",\n      \"rounded-md\",\n      \"py-2.5\",\n      \"px-3.5\",\n      \"text-base\",\n      \"transition-property-border-color\",\n      \"transition-property-box-shadow\",\n      \"transition-duration-200\",\n      \"transition-timing-function-ease-in-out\",\n      \"placeholder:text-gray/50\",\n      \"focus:border-gray-300\",\n      \"focus:border-solid\",\n      \"focus:border\",\n      \"focus:outline-none\"\n    ]);\n\nvar disabled = Cx.cx([\n      \"text-gray-700\",\n      \"bg-gray-100\"\n    ]);\n\nvar error = Cx.cx([\n      \"border-pink\",\n      \"border-solid\",\n      \"border\"\n    ]);\n\nvar spinner = Cx.cx([\n      \"spinner\",\n      \"absolute\",\n      \"top-5\",\n      \"right-5\",\n      \"transform-translate-y-50\"\n    ]);\n\nvar icon = Cx.cx([\n      \"icon\",\n      \"absolute\",\n      \"top-3\",\n      \"right-4\",\n      \"pointer-events-none\"\n    ]);\n\nexport {\n  wrapper ,\n  input ,\n  disabled ,\n  error ,\n  spinner ,\n  icon ,\n}\n/* wrapper Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as IconOk from \"../../icons/IconOk.res.js\";\nimport * as Spinner from \"../../components/Spinner/Spinner.res.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ReactGeoSuggestFieldCss from \"./ReactGeoSuggestFieldCss.res.js\";\nimport ReactGeosuggest from \"@ubilabs/react-geosuggest\";\n\nfunction ReactGeoSuggestField(props) {\n  var onSuggestSelect = props.onSuggestSelect;\n  var __className = props.className;\n  var status = props.status;\n  var __disabled = props.disabled;\n  var __placeholder = props.placeholder;\n  var placeholder = __placeholder !== undefined ? __placeholder : \"\";\n  var disabled = __disabled !== undefined ? __disabled : false;\n  var className = __className !== undefined ? __className : \"\";\n  var tmp;\n  if (status !== undefined) {\n    switch (status) {\n      case \"Error\" :\n          tmp = ReactGeoSuggestFieldCss.error;\n          break;\n      case \"Valid\" :\n      case \"Busy\" :\n          tmp = \"\";\n          break;\n      \n    }\n  } else {\n    tmp = \"\";\n  }\n  var tmp$1;\n  if (status !== undefined) {\n    switch (status) {\n      case \"Valid\" :\n          tmp$1 = JsxRuntime.jsx(\"label\", {\n                children: JsxRuntime.jsx(IconOk.make, {\n                      size: \"MD\",\n                      color: \"Teal\"\n                    }),\n                className: ReactGeoSuggestFieldCss.icon\n              });\n          break;\n      case \"Error\" :\n          tmp$1 = null;\n          break;\n      case \"Busy\" :\n          tmp$1 = JsxRuntime.jsx(\"div\", {\n                children: JsxRuntime.jsx(Spinner.make, {\n                      size: \"MD\",\n                      color: \"Teal\",\n                      centered: true\n                    }),\n                className: ReactGeoSuggestFieldCss.spinner\n              });\n          break;\n      \n    }\n  } else {\n    tmp$1 = null;\n  }\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(ReactGeosuggest, {\n                      id: props.id,\n                      radius: props.radius,\n                      initialValue: props.value,\n                      placeholder: placeholder,\n                      disabled: disabled,\n                      inputClassName: Cx.cx([\n                            ReactGeoSuggestFieldCss.input,\n                            disabled ? ReactGeoSuggestFieldCss.disabled : \"\",\n                            tmp,\n                            className\n                          ]),\n                      location: Caml_option.some(props.location),\n                      onChange: props.onChange,\n                      onSuggestSelect: (function (suggest) {\n                          if (suggest !== undefined) {\n                            return onSuggestSelect(suggest);\n                          }\n                          \n                        }),\n                      onBlur: props.onBlur\n                    }),\n                tmp$1\n              ],\n              className: ReactGeoSuggestFieldCss.wrapper\n            });\n}\n\nvar Css;\n\nvar make = ReactGeoSuggestField;\n\nexport {\n  Css ,\n  make ,\n}\n/* IconOk Not a pure module */\n"],"names":["decoder","Json_Decode$JsonCombinators","field","long_name","required","short_name","types","decoder$1","name","address_components","decoder$2","lat","lng","decoder$3","description","label","location","gmaps","ReactGeoSuggestData","fromJson","json","Belt_Result","Json$JsonCombinators","checkboxRightMargin","checkboxRow","column","docUploadDescription","docUploadSection","docUploadTitle","documentRow","elongated","errorLabel","errorMessage","expanded","fieldRow","fieldWithUnit","fileInfoContainer","fileNameText","fileSizeText","flex","flexColumn","flexContainerDoc","gap1","gap2","gap3","gap4","gap5","geographicalRegionsDescription","geographicalRegionsSection","geographicalRegionsTitle","howItWorksTooltip","iconView","input","inputWithUnitUnit","inputWithUnitUnitContainer","inputWithUnitValue","inputWithUnitValueContainer","justified","moderate","radioButton","radioButtonLabel","radioButtonsRow","requiredLabel","row","selectWrapper","subHeading","title","tooltipAndHeadingWrapper","tooltipDescription","unfilled","unitSelectWrapper","uploadButtonIcon","uploadDocumentButton","uploader","css","CreateNetworkProjectMplsNetworkConfigurationScss","CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails$DocumentRow","props","onDelete","JsxRuntime","children","IconFile","size","color","fileName","className","Project","sizeText","byteSize","IconView","IconDelete","viewBoxSize","onClick","param","make","removeDocument","removeAlreadyUploadedDocument","Belt_Array","alreadyUploadedDocuments","$$document","documents","domId","at","String","remove","x","index","idx","toggle","visibility","Visibility","validate","form","configurations","ix","blurConfigurationStartDate","results","configurationStartDateResult","isValid","result","undefined","TAG","persistDraft","Debounce","$$Promise","Api","$$Notification","success","SentryLogger","rootModule","subModulePath","hd","tl","value","fullPath","_0","error","submitForm","data","context","onFailure","Url","Routes_Project","Provider","newSelector","projectId","editSelector","saveDraftProjectAndContinueLater","geographicalRegion","cancelCreation","isRegionFieldVisible","deletedDocumentIds","remainingUploadedDocuments","length","Js_array","id","tmp","tmp$2","tmp$5","tmp$6","userLoginStatus","mobile","options","initialInput","React","data$1","geographicalRegion$1","CreateNetworkProjectMplsNetworkConfigurationForm","empty","validateRegion","match","toggleSignInModal","signInModal","output","notifyOnFailure","initialState","panelsVisibility","additionalRequirementsVisibility","match$1","Hooks","state","action","_1","addConfiguration","v","updateDocuments","v$1","formDoc","isRegionEmpty","updateValidateRegion","validateRegionValue","v$2","isRegionEmpty$1","updateDeletedDocumentIds","dispatch","tmp$1","domId$1","geographicalRegionResult","Select","status","Belt_Option","wrapperClassName","iconSize","iconColor","onChange","$$event","geographicalRegions","ReactForm","updateGeographicalRegion","onBlur","blurGeographicalRegion","tmp$3","match$3","submit","projectStatus","SignInModalContainer","close","callback","Mpls","$$new","setUserData","subTitle","ProjectWizard","configurationIndex","configuration","domId$2","tmp$4","domId$3","result$1","configurationContractLengthResult","domId$4","result$2","configurationStreetAddressResult","tmp$7","tmp$8","domId$5","result$3","configurationBuildingOrFloorResult","tmp$9","tmp$10","domId$6","result$4","configurationSuiteResult","tmp$11","tmp$12","domId$7","result$5","configurationCityOrTownResult","tmp$13","tmp$14","domId$8","result$6","configurationSubLocalityResult","tmp$15","tmp$16","domId$9","result$7","configurationStateOrProvinceResult","tmp$17","tmp$18","domId$10","result$8","configurationCountryResult","tmp$19","tmp$20","domId$11","result$9","configurationPostalCodeResult","tmp$21","tmp$22","domId$12","result$10","configurationPrefixResult","tmp$23","tmp$24","domId$13","result$11","configurationAccessTypeResult","tmp$25","tmp$26","domId$14","result$12","configurationPortSpeedResult","tmp$27","tmp$28","domId$15","result$13","configurationClassOfServiceResult","tmp$29","visibility$1","tmp$30","domId$16","result$14","configurationAdditionalRequirementsResult","Textarea","additionalRequirements","textarea","blurConfigurationAdditionalRequirements","updateConfigurationAdditionalRequirements","update","key","startDate","contractLength","streetAddress","buildingOrFloor","suite","cityOrTown","subLocality","stateOrProvince","country","postalCode","prefix","accessType","portSpeed","classOfService","mplsServices","Cx","ProjectWizardPanel","Label","forId","DatePicker","prim","fromMonth","Caml_option","AddDays","Date","disabledDays","from","to","onDayChange","date","param$1","updateConfigurationStartDate","onHide","cl","contractLengths","Belt_Int","updateConfigurationContractLength","blurConfigurationContractLength","ReactGeoSuggestField","radius","google","maps","LatLng","blurConfigurationStreetAddress","updateConfigurationStreetAddress","onSuggestSelect","suggest","ReactGeoSuggest","addresses","contents","address","addressType","updateConfigurationCityOrTown","updateConfigurationStateOrProvince","updateConfigurationCountry","updateConfigurationPostalCode","TextField","blurConfigurationBuildingOrFloor","updateConfigurationBuildingOrFloor","blurConfigurationSuite","updateConfigurationSuite","blurConfigurationCityOrTown","blurConfigurationSubLocality","updateConfigurationSubLocality","blurConfigurationStateOrProvince","blurConfigurationCountry","blurConfigurationPostalCode","blurConfigurationPrefix","updateConfigurationPrefix","accessTypes","updateConfigurationAccessType","blurConfigurationAccessType","portSpeeds","updateConfigurationPortSpeed","blurConfigurationPortSpeed","selectable","classOfServices","updateConfigurationClassOfService","blurConfigurationClassOfService","items","option","domId$17","Checkbox","checked","Belt_SetString","containerClassName","checkbox","updateConfigurationMplsServices","blurConfigurationMplsServices","toggleVisibility","Char","deleteControl","removeConfiguration","Button","CreateNetworkProjectMplsNetworkConfiguration_DocumentsWithRfpDetails","Uploader","allowed","multiple","upload","files","file","fromMime","type","setUploadHandler","buttonClassName","IconUpload","ProjectWizardNavigation","stepLabel","controls","next","previous","continueLater","ReactNotifications","ContractLength","Options","$$default","railsContext","options$1","CreateNetworkProjectMplsNetworkConfigurationData","projectId$1","configurations$1","inputDecoder","railsContext$1","RailsContext","fromString","fromJs","CreateNetworkProjectMplsNetworkConfiguration","reduxfunction","CreateNetworkProjectMplsNetworkConfigurationContainer","connect","userData","_ref","_objectWithoutProperties","_excluded","ReduxProvider","networkMplsConfigurations","mdash","times","Middot","style","padding","RightArrow","LeftArrow","transform","RightCaret","Ampersand","target","wrapper","disabled","spinner","icon","__className","__disabled","__placeholder","placeholder","ReactGeoSuggestFieldCss","IconOk","Spinner","centered","ReactGeosuggest","initialValue","inputClassName"],"sourceRoot":""}