Mini Kabibi Habibi
{"version":3,"sources":["webpack/bootstrap","E:\\_work\\11\\s\\common\\temp\\node_modules\\.pnpm\\office.pkgs.visualstudio.com\\webpack\\4.44.1_webpack-cli@3.1.2+webpack@4.44.1\\node_modules\\webpack\\buildin\\global.js","E:\\_work\\11\\s\\packages\\saveprompt\\src\\SavePrompt\\MlConfiguration.ts","E:\\_work\\11\\s\\common\\temp\\node_modules\\.pnpm\\office.pkgs.visualstudio.com\\@microsoft\\office-api\\0.1.0-beta.10\\node_modules\\@microsoft\\office-api\\office.runtime.js","E:\\_work\\11\\s\\common\\temp\\node_modules\\.pnpm\\office.pkgs.visualstudio.com\\@microsoft\\office-api\\0.1.0-beta.10\\node_modules\\@microsoft\\office-api\\office.runtime.reactnative.js","E:\\_work\\11\\s\\common\\temp\\node_modules\\.pnpm\\office.pkgs.visualstudio.com\\process\\0.11.10\\node_modules\\process\\browser.js","external \"OfficePlatformGlobal.ReactNativeReka\"","E:\\_work\\11\\s\\packages\\saveprompt\\src\\SavePrompt\\SavePrompt.g.ts","../src/platform-bundle-bootstrapper.ts","E:/_work/11/s/common/temp/node_modules/.pnpm/office.pkgs.visualstudio.com/@haul-bundler/preset-0.59/0.18.0_66330e672c1d7be54aece06fec540883/node_modules/@haul-bundler/preset-0.59/vendor/polyfills/Object.es6.js","E:\\_work\\11\\s\\common\\temp\\node_modules\\.pnpm\\office.pkgs.visualstudio.com\\@office-iss\\sdx-haul-config\\0.0.45_d1926b6ba0edeaaf8d8a49fd01d78196\\node_modules\\@office-iss\\sdx-haul-config\\lib\\polyfills\\console.js","E:/_work/11/s/common/temp/node_modules/.pnpm/office.pkgs.visualstudio.com/@haul-bundler/preset-0.59/0.18.0_66330e672c1d7be54aece06fec540883/node_modules/@haul-bundler/preset-0.59/vendor/polyfills/error-guard.js","E:/_work/11/s/common/temp/node_modules/.pnpm/office.pkgs.visualstudio.com/@haul-bundler/preset-0.59/0.18.0_66330e672c1d7be54aece06fec540883/node_modules/@haul-bundler/preset-0.59/vendor/polyfills/Number.es6.js","E:/_work/11/s/common/temp/node_modules/.pnpm/office.pkgs.visualstudio.com/@haul-bundler/preset-0.59/0.18.0_66330e672c1d7be54aece06fec540883/node_modules/@haul-bundler/preset-0.59/vendor/polyfills/String.prototype.es6.js","E:/_work/11/s/common/temp/node_modules/.pnpm/office.pkgs.visualstudio.com/@haul-bundler/preset-0.59/0.18.0_66330e672c1d7be54aece06fec540883/node_modules/@haul-bundler/preset-0.59/vendor/polyfills/Array.prototype.es6.js","E:/_work/11/s/common/temp/node_modules/.pnpm/office.pkgs.visualstudio.com/@haul-bundler/preset-0.59/0.18.0_66330e672c1d7be54aece06fec540883/node_modules/@haul-bundler/preset-0.59/vendor/polyfills/Array.es6.js","E:/_work/11/s/common/temp/node_modules/.pnpm/office.pkgs.visualstudio.com/@haul-bundler/preset-0.59/0.18.0_66330e672c1d7be54aece06fec540883/node_modules/@haul-bundler/preset-0.59/vendor/polyfills/Object.es7.js","E:\\_work\\11\\s\\packages\\saveprompt\\src\\index.win32.tsx","external \"OfficePlatformGlobal.ReactNative.Components\"","E:\\_work\\11\\s\\common\\temp\\node_modules\\.pnpm\\office.pkgs.visualstudio.com\\timers-browserify\\2.0.11\\node_modules\\timers-browserify\\main.js","E:\\_work\\11\\s\\common\\temp\\node_modules\\.pnpm\\office.pkgs.visualstudio.com\\setimmediate\\1.0.5\\node_modules\\setimmediate\\setImmediate.js","E:\\_work\\11\\s\\packages\\saveprompt\\src\\SavePrompt.tsx","external \"OfficePlatformGlobal.React\"","external \"OfficePlatformGlobal.Ply.DefaultButton\"","external \"OfficePlatformGlobal.Ply.Text\"","external \"OfficePlatformGlobal.Ply.View\"","external \"OfficePlatformGlobal.Ply.StyleSheet\"","external \"OfficePlatformGlobal.Reka\"","E:\\_work\\11\\s\\packages\\saveprompt\\assets\\strings.resjson","external \"OfficePlatformGlobal.SDX.StringResources\"","E:\\_work\\11\\s\\packages\\saveprompt\\src\\SavePrompt\\ModelEvaluationService.ts","E:\\_work\\11\\s\\packages\\saveprompt\\src\\SavePrompt\\MLModels\\ISavePromptModel.ts","E:\\_work\\11\\s\\packages\\saveprompt\\src\\SavePrompt\\MLModels\\SavePromptModelHeuristic.ts","E:\\_work\\11\\s\\packages\\saveprompt\\src\\SavePrompt\\MLModels\\SavePromptModelLR.ts","E:\\_work\\11\\s\\packages\\saveprompt\\src\\SavePrompt\\MLModels\\SavePromptModelClickstream.ts","E:\\_work\\11\\s\\packages\\saveprompt\\src\\SavePrompt\\MLModels\\SavePromptModelOnyx.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","g","this","Function","e","window","extendStatics","__extends","setPrototypeOf","__proto__","Array","b","__","constructor","Action","actionInfo","operationType","flags","m_actionInfo","m_operationType","m_flags","configurable","TraceMarkerActionResultHandler","callback","m_callback","_handleResult","ActionFactory","createSetPropertyAction","context","parent","propertyName","Utility","validateObjectPath","Id","_nextId","ActionType","Name","ObjectPathId","_objectPath","objectPathInfo","ArgumentInfo","args","referencedArgumentObjectPaths","setMethodArguments","validateReferencedObjectPaths","_pendingRequest","ensureInstantiateObjectPath","ensureInstantiateObjectPaths","ret","addAction","addReferencedObjectPath","addReferencedObjectPaths","referencedObjectPath","createMethodAction","methodName","_fixupApiFlags","createQueryAction","queryOption","QueryInfo","createRecursiveQueryAction","query","RecursiveQueryInfo","createQueryAsJsonAction","createEnsureUnchangedAction","objectState","ObjectState","createUpdateAction","createInstantiateAction","obj","parentObjectPath","argumentObjectPaths","addActionResultHandler","InstantiateActionResultHandler","createTraceAction","message","addTraceMessage","addTrace","createTraceMarkerForCallback","action","ClientObject","objectPath","checkArgumentNull","m_context","m_objectPath","_processingResult","trackedObjects","_autoAdd","set","throwIfNotLoaded","_isNull","m_isNull","_updateAsNullObject","isNullOrUndefined","_autoTrackIfNecessaryWhenHandleObjectResultValue","_handleIdResult","fixObjectPathIfNecessary","_handleRetrieveResult","result","_recursivelySet","input","options","scalarWriteablePropertyNames","objectPropertyNames","notAllowedToBeSetPropertyNames","isClientObject","originalInput","getPrototypeOf","_Internal","RuntimeError","_createInvalidArgError","argumentName","errorLocation","_className","JSON","parse","stringify","prop","length","dataToPassToSet","throwOnReadOnly","code","ErrorCodes","invalidArgument","_getResourceString","ResourceStrings","cannotApplyPropertyThroughSetMethod","debugInfo","indexOf","propertyDescriptor","getOwnPropertyDescriptor","propertyDoesNotExist","attemptingToSetReadOnlyProperty","innerError","_recursivelyUpdate","properties","shouldPolyfill","_internalConfig","alwaysPolyfillClientObjectUpdateMethod","isSetSupported","scalarPropNames","Constants","scalarPropertyNames","scalarPropUpdatable","scalarPropertyUpdateable","push","navigationPropNames","navigationPropertyNames","scalarProps","navigationProps","scalarPropCount","propName","index","propValue","isUndefined","navigationPropProxy","navigationPropValue","ClientRequest","m_actions","m_actionResultHandler","m_referencedObjectPaths","m_instantiatedObjectPaths","m_traceInfos","m_pendingProcessEventHandlers","m_pendingEventHandlerActions","m_responseTraceIds","m_responseTraceMessages","m_preSyncPromises","_setResponseTraceIds","traceId","batchMode","isSafeAction","ObjectPathType","ensureInProgressBatchIfBatchMode","_getLastAction","actionId","instantiateAction","objectPaths","isValid","invalidObjectPath","getObjectPathExpression","resultHandler","aggregrateRequestFlags","requestFlags","finallyNormalizeFlags","enableConcurrentFlag","enableUndoableFlag","m_flagsForTesting","buildRequestMessageBodyAndRequestFlags","enableEarlyDispose","_calculateLastUsedObjectPathIds","actions","hasKeepReference","keepReference","body","AutoKeepReference","_autoCleanup","Actions","ObjectPaths","processResponse","actionResults","actionResult","handler","ActionId","Value","invalidatePendingInvalidObjectPaths","isInvalidAfterRequest","_addPendingEventHandlerAction","eventHandlers","_id","_getPendingEventHandlerActions","_addPreSyncPromise","_removeKeepReferenceAction","objectPathId","splice","_updateLastUsedActionIdOfObjectPathId","lastUsedActionIdOfObjectPathId","argumentObjectPathsLength","actionsLength","referencedObjectPaths","referencedObjectPathsLength","refIndex","lastUsedObjectPathIdsOfAction","objectPathIds","parseInt","lastUsedObjectPathIds","L","showDisposeInfoInDebugInfo","showInternalApiInDebugInfo","alwaysPolyfillClientObjectRetrieveMethod","config","extendedErrorLogging","SessionBase","_resolveRequestUrlAndHeaderInfo","_createPromiseFromResult","_createRequestExecutorOrNull","officeJsEventRegistration","ClientRequestContext","url","m_customRequestHeaders","m_batchMode","_onRunFinishedNotifiers","m_nextId","_overrideSession","m_requestUrlAndHeaderInfoResolver","defaultRequestUrlAndHeaders","localDocument","headers","m_requestUrlAndHeaderInfo","isRequestUrlAndHeaderInfoResolver","isRequestUrlAndHeaderInfo","requestInfo","_copyHeaders","m_session","_customData","iterativeExecutor","sync","eventRegistration","m_pendingRequest","pendingStatements","RequestPrettyPrinter","_rootObjectPropertyName","_objectPaths","_actions","process","m_trackedObjects","TrackedObjects","m_explicitBatchInProgress","createRuntimeError","generalException","notInsideBatch","load","clientObj","option","validateContext","_parseQueryOption","isLoadOption","loadOption","select","isArray","expand","top","skip","parseStrictLoadOption","Select","parseStrictLoadOptionHelper","combineQueryPath","pathPrefix","separator","queryInfo","argPrefix","Top","Skip","_parseSelectExpand","Expand","loadRecursive","maxDepth","isPlainJsonObject","quries","Queries","MaxDepth","trace","_processOfficeJsErrorResponse","officeJsErrorCode","response","ensureRequestUrlAndHeaderInfo","_this","then","isNullOrEmptyString","executor","_requestExecutor","syncPrivateMain","req","processPreSyncPromises","syncPrivate","hasActions","processPendingEventHandlers","_a","msgBody","_isLocalDocumentUrl","OfficeJsRequestExecutor","HttpRequestExecutor","requestExecutor","requestExecutorRequestMessage","Url","Headers","Body","errorFromResponse","errorFromProcessEventHandlers","_lastSyncStart","performance","now","_lastRequestFlags","executeAsync","_lastSyncEnd","processRequestExecutorResponseMessage","catch","ex","log","transformedError","traceMessages","_responseTraceMessages","cannotRegisterEvent","TraceIds","errorStatementInfo","Error","ActionIndex","prettyPrinter","debugInfoStatementInfo","processForDebugStatementInfo","statement","surroundingStatements","fullStatements","Results","ProcessedResults","ErrorCode","ErrorMessage","Location","Code","Message","_pendingProcessEventHandlers","createProcessOneEventHandlersFunc","_processRegistration","_preSyncPromises","createProcessOneProSyncFunc","passThroughValue","batch","batchBody","CoreUtility","Promise","reject","pendingBatchInProgress","batchBodyResult","request","batchBodyResultPromise","previousRequest","_rootObject","_run","ctxInitializer","runBody","numCleanupAttempts","retryDelay","onCleanupSuccess","onCleanupFailure","_runCommon","_runBatch","functionName","receivedRunArgs","_runBatchCommon","_runExplicitBatch","ctxRetriever","argOffset","createErrorPromise","array","invalidRequestContext","ctx","resultOrError","previousBatchMode","starterPromise","resolve","succeeded","runBodyResult","throwError","runMustReturnPromise","error","itemsToRemove","_retrieveAndClearAutoCleanupList","cleanupCounter","_synchronousCleanup","attemptCleanup","savedPendingRequest","savedBatchMode","remove","setTimeout","shift","func","ClientResult","type","m_type","m_isLoaded","valueNotLoaded","m_value","_IsNull","adjustToDateTime","RetrieveResultImpl","m_proxy","m_shouldPolyfill","typeName","className","isCollection","definePropertyThrowUnloadedException","itemsLowerCase","m_isNullObject","toJSON","m_json","purifyJson","toString","changePropertyNameToCamelLowerCase","items","_toCamelLowerCase","charCodeAt","getItemAt","id","idLowerCase","idPrivate","localDocumentApiPrefix","objectPathIdPrivate","processQuery","referenceId","isTracked","sourceLibHeader","sessionContext","embeddingPageOrigin","embeddingPageSessionInfo","eventMessageCategory","eventWorkbookId","eventSourceRemote","proxy","collectionPropertyPath","objectPathInfoDoNotKeepReferenceFieldName","Office","OfficeExtension","EmbeddedApiStatus","CommunicationConstants","versionToken","internalConfiguration","DdaMethod","Version","SendingId","RespondingId","CommandKey","SessionInfoKey","ParamsKey","ApiReadyCommand","ExecuteMethodCommand","GetAppContextCommand","RegisterEventCommand","UnregisterEventCommand","FireEventCommand","EmbeddedSession","_super","m_chosenWindow","m_chosenOrigin","m_enabled","m_onMessageHandler","_onMessage","m_callbackList","m_id","m_timeoutId","m_appContext","m_url","m_options","sessionKey","Math","random","container","document","timeoutInMilliseconds","height","width","webApplication","accessToken","accessTokenTtl","_getIFrameSrc","origin","location","protocol","host","toAppend","encodeURIComponent","useHash","toLowerCase","a","createElement","href","toAppendWAC","search","hash","init","addEventListener","iframeSrc","iframeElement","style","webApplicationForm","setAttribute","appendChild","token_input","token_ttl_input","submit","src","close","err","timeout","m_promiseResolver","_invoke","method","params","_sendMessageWithCallback","errorCode","Success","InternalError","removeEventListener","clearTimeout","m_sessionEventManager","EventRegistration","_registerEventImpl","_unregisterEventImpl","EmbeddedRequestExecutor","eventId","targetId","EventId","TargetId","event","source","eventData","data","_isValidDescendant","appContext","_setupContext","msg","handlers","getHandlers","rId","command","postMessage","wnd","doesFrameWindow","containerWindow","len","frames","iframes","getElementsByTagName","contentWindow","session","customData","requestMessage","messageSafearray","RichApiMessageUtility","buildMessageArrayForIRequestExecutor","SourceLibHeaderValue","status","buildResponseOnSuccess","getResponseBodyFromSafeArray","Data","getResponseHeadersFromSafeArray","buildResponseOnError","_transformMessageArrayIntoParams","msgArray","ArrayData","DispatchId","DispidExecuteRichApiRequestMethod","_createDebugInfo","partialDebugInfo","invalidArgumentGeneric","accessDenied","activityLimitReached","propertyNotLoaded","apiNotFound","connectionFailure","invalidOrTimedOutSession","cannotUpdateReadOnlyProperty","EventHandlers","parentObject","eventInfo","m_name","m_handlers","m_registered","m_eventInfo","eventArgsTransformFunc","newArgs","fireEvent","add","operation","EventHandlerResult","removeAll","handlersResult","hasChange","_responseTraceIds","registerFunc","unregisterFunc","promises","createFireOneEventHandlerFunc","all","m_allHandlers","m_handler","OfficeJsEventRegistration","register","promisify","bindings","getByIdAsync","officeBinding","addHandlerAsync","EventType","BindingDataChanged","BindingSelectionChanged","DocumentSelectionChanged","settings","SettingsChanged","OSF","DDA","RichApi","richApiMessageManager","ObjectDeleted","ObjectSelectionChanged","ObjectDataChanged","ContentControlAdded","unregister","removeHandlerAsync","registerEventImpl","unregisterEventImpl","m_handlersByEventByTarget","m_registerEventImpl","m_unregisterEventImpl","handlersById","GenericEventRegistration","m_eventRegistration","m_richApiMessageHandler","_handleRichApiMessage","ready","m_ready","_testReadyImpl","m_isReady","entries","entryIndex","entry","messageCategory","_logEnabled","funcs","messageType","arg","isRemoteOverride","getGenericEventRegistration","s_genericEventRegistration","richApiMessageEventCategory","_testSetRichApiMessageReadyImpl","impl","_testTriggerRichApiMessageEvent","GenericEventHandlers","m_genericEventInfo","_handlers","isReady","_context","eventType","getTargetIdFunc","_callback","requestMessageText","charAt","HttpUtility","sendRequest","responseInfo","statusCode","_parseErrorResponse","errorMessage","setCustomSendRequestFunc","s_customSendRequestFunc","xhrSendRequestFunc","xhr","XMLHttpRequest","open","onload","resp","_parseHttpResponseHeaders","getAllResponseHeaders","responseText","onerror","connectionFailureWithStatus","statusText","setRequestHeader","send","validateAndNormalizeRequest","setCustomSendLocalDocumentRequestFunc","s_customSendLocalDocumentRequestFunc","sendLocalDocumentRequest","officeJsSendLocalDocumentRequestFunc","_validateLocalDocumentRequest","requestSafeArray","_buildRequestMessageSafeArray","executeRichApiRequestAsync","asyncResult","getResponseStatusCode","getResponseHeaders","getResponseBody","buildHttpResponseFromOfficeJsError","toUpperCase","logRequest","_logBody","logResponse","clientObject","m_clientObject","HostBridgeRequestExecutor","httpRequestInfo","HostBridgeSession","nextId","sendMessageToHost","nativeBridgeResponse","bridge","m_bridge","onMessageFromHost","bridgeMessage","bridgeResponse","messageText","HostBridgeTest","_testFunc","s_nextId","HostBridge","_richApiNativeBridge","setTestFunc","ObjectPath","m_objectPathInfo","m_parentObjectPath","m_isCollection","m_isInvalidAfterRequest","m_isValid","m_argumentObjectPaths","m_savedObjectPathInfo","copyObjectPathInfo","pathInfo","m_originalObjectPathInfo","m_getByIdMethodName","resetForUpdateUsingObjectData","saveOriginalObjectPathInfo","updateUsingObjectData","isRestorableObjectPath","ParentObjectPathId","tryGetObjectIdFromLoadOrRetrieveResult","propNames","split","parent_1","Arguments","parentIsCollection","getByIdMethodName","objectPathType","dest","ObjectPathFactory","createGlobalObjectObjectPath","createNewObjectObjectPath","createPropertyObjectPath","createIndexerObjectPath","createIndexerObjectPathUsingParentPath","createMethodObjectPath","createReferenceIdObjectPath","createChildItemObjectPathUsingIndexerOrGetItemAt","hasIndexerMethod","childItem","createChildItemObjectPathUsingIndexer","createChildItemObjectPathUsingGetItemAt","indexFromServer","OfficeRequire","PromiseImpl","Init","lib$es6$promise$utils$$isFunction","x","lib$es6$promise$asap$$customSchedulerFn","lib$es6$promise$utils$$isArray","lib$es6$promise$asap$$len","lib$es6$promise$asap$$asap","lib$es6$promise$asap$$queue","lib$es6$promise$asap$$flush","lib$es6$promise$asap$$scheduleFlush","lib$es6$promise$asap$$browserGlobal","undefined","lib$es6$promise$asap$$BrowserMutationObserver","MutationObserver","WebKitMutationObserver","lib$es6$promise$asap$$isNode","lib$es6$promise$asap$$isWorker","Uint8ClampedArray","importScripts","MessageChannel","channel","iterations","observer","node","nextTick","version","lib$es6$promise$$internal$$noop","versions","match","setImmediate","createTextNode","observe","characterData","port1","onmessage","port2","lib$es6$promise$$internal$$GET_THEN_ERROR","lib$es6$promise$$internal$$ErrorObject","lib$es6$promise$$internal$$handleMaybeThenable","promise","maybeThenable","thenable","_state","lib$es6$promise$$internal$$fulfill","_result","lib$es6$promise$$internal$$reject","lib$es6$promise$$internal$$subscribe","lib$es6$promise$$internal$$resolve","reason","lib$es6$promise$$internal$$handleOwnThenable","lib$es6$promise$$internal$$getThen","sealed","fulfillmentHandler","rejectionHandler","lib$es6$promise$$internal$$tryThen","_label","lib$es6$promise$$internal$$handleForeignThenable","TypeError","lib$es6$promise$$internal$$publishRejection","_onerror","lib$es6$promise$$internal$$publish","_subscribers","child","onFulfillment","onRejection","subscribers","settled","detail","lib$es6$promise$$internal$$invokeCallback","lib$es6$promise$$internal$$TRY_CATCH_ERROR","failed","hasCallback","lib$es6$promise$$internal$$tryCatch","lib$es6$promise$enumerator$$Enumerator","Constructor","_instanceConstructor","_validateInput","_input","_remaining","_init","_enumerate","_validationError","lib$es6$promise$enumerator$$default","_eachEntry","_settledAt","_willSettleAt","state","enumerator","lib$es6$promise$promise$all$$default","lib$es6$promise$promise$race$$default","lib$es6$promise$promise$resolve$$default","lib$es6$promise$promise$reject$$default","lib$es6$promise$promise$$counter","lib$es6$promise$promise$$default","lib$es6$promise$promise$$Promise","resolver","lib$es6$promise$promise$$needsResolver","lib$es6$promise$promise$$needsNew","lib$es6$promise$$internal$$initializePromise","race","_setScheduler","scheduleFn","_setAsap","asapFn","_asap","arguments","OfficePromise","_autoCleanupList","param","forEach","item","_addCommon","resultValue","isExplicitlyAdded","objectIsUntracked","_KeepReference","_removeCommon","rootObject","_RemoveReference","list","globalObjName","showDispose","removePII","m_globalObjName","m_statements","m_variableNameForObjectPathMap","m_variableNameToObjectPathMap","m_declaredObjectPathMap","m_showDispose","m_removePII","processOneAction","actionIndex","statementIndex","startIndex","endIndex","i_1","i_2","processInstantiateAction","processMethodAction","processQueryAction","processQueryAsJsonAction","processRecursiveQueryAction","processSetPropertyAction","processTraceAction","processEnsureUnchangedAction","processUpdateAction","objId","objPath","varName","getObjVarName","appendDisposeCommentIfRelevant","buildObjectPathExpressionWithParent","buildArgumentsExpression","queryExp","buildQueryExpression","map","join","buildObjectPathExpression","expr","buildObjectPathInfoExpression","originalObjectPathInfo","buildArgumentLiteral","ReferencedObjectPathIds","getObjVarNameBase","substr","parentName","connectionFailureWithDetails","moreInfoInnerError","invalidOrTimedOutSessionMessage","invalidOperationInCellEditMode","customFunctionDefintionMissing","customFunctionImplementationMissing","customFunctionNameContainsBadChars","customFunctionNameCannotSplit","customFunctionUnexpectedNumberOfEntriesInResultBatch","customFunctionCancellationHandlerMissing","apiNotFoundDetails","ResourceStringValues","CannotRegisterEvent","ConnectionFailureWithStatus","ConnectionFailureWithDetails","InvalidArgument","InvalidObjectPath","InvalidRequestContext","PropertyNotLoaded","RunMustReturnPromise","Timeout","ValueNotLoaded","InvalidOrTimedOutSessionMessage","InvalidOperationInCellEditMode","CustomFunctionDefintionMissing","CustomFunctionImplementationMissing","CustomFunctionNameContainsBadChars","CustomFunctionNameCannotSplit","CustomFunctionUnexpectedNumberOfEntriesInResultBatch","CustomFunctionCancellationHandlerMissing","ApiNotFoundDetails","PendingBatchInProgress","NotInsideBatch","CannotUpdateReadOnlyProperty","ObjectIsUntracked","sourceLibHeaderValue","buildRequestMessageSafeArray","responseBody","responseHeaders","OfficeJsErrorCode_ooeNoCapability","OfficeJsErrorCode_ooeActivityLimitReached","OfficeJsErrorCode_ooeInvalidOrTimedOutSession","errorBody","path","headerArray","headerName","arrayHeader","getResponseStatusCodeFromSafeArray","trim","str","replace","RegExp","caseInsensitiveCompareString","str1","str2","Date","arr","isReadonlyRestRequest","argumentInfo","referencedObjectPathIds","hasOne","collectObjectPathInfos","childArrayObjectPathIds","replaceClientObjectPropertiesWithObjectPathIds","elem","_b","console","loadAndSync","retrieve","retrieveAndSync","apiSetName","apiSetVersion","requirements","propertyNames","sanitizeForAnyItemsSlash","propertyNameLower","toJson","scalarProperties","navigationProperties","collectionItemsIfAny","fieldName_isCollection","fieldName_m__items","resourceId","Strings","OfficeOM","stringName","stringValue","arrArg","_formatString","format","v","position","fieldValue","entityName","isNull","s_underscoreCharCode","createPropertyNotLoadedException","createCannotUpdateReadOnlyPropertyException","throwIfApiNotSupported","apiFullName","hostName","_doApiNotSupportedCheck","normalizeName","_createTimeoutPromise","_addActionResultHandler","_handleNavigationPropertyResults","objectValue","_getLocalDocumentUrlPrefixLength","localDocumentPrefixes","urlLower","pathLower","parts","keyvalue","allResponseHeaders","regex","errorObj","errorResponseBody","defineReadOnlyPropertyWithValue","processRetrieveResult","childItemCreateFunc","itemsResult","itemProxy","itemResult","propProxy","propResult","react_native_dataservice_1","RichApiBridge","RichApiBridgeImpl","DataServiceManager","InvokeNative","RichApiDataService","Invoke","ReactNativeReka","RegisterService","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","run","marker","runClearTimeout","Item","noop","apply","title","browser","env","argv","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","OfficePlatformGlobal","global","__platformBundles","platformBundles","Reflect","deleteProperty","eval","assign","target","sources","nextIndex","nextSource","proto","inspect","stylizeNoColor","styleType","formatValue","recurseTimes","primitive","stylize","simple","isNumber","isBoolean","formatPrimitive","keys","visibleKeys","val","idx","arrayToHash","isError","formatError","isFunction","isRegExp","isDate","base","braces","ar","toUTCString","output","seen","String","formatProperty","formatArray","pop","reduce","prev","cur","numLinesEst","reduceToSingleString","desc","line","re","isObject","objectToString","opts","depth","LOG_LEVELS","INSPECTOR_LEVELS","getNativeLogFunction","level","logLevel","slice","__inspectorLog","nativeLoggingHook","repeat","element","info","warn","debug","table","rows","row","columns","sort","stringRows","columnWidths","joinRow","space","cell","k","j","cellStr","max","separatorRow","columnWidth","assert","expression","label","print","_inGuard","_globalHandler","ErrorUtils","setGlobalHandler","getGlobalHandler","reportError","reportFatalError","applyWithGuard","applyWithGuardIfNeeded","inGuard","guard","Number","EPSILON","pow","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","isNaN","globalIsNaN","writable","startsWith","string","pos","start","min","endsWith","stringLength","searchString","end","lastIndexOf","count","Infinity","RangeError","includes","codePointAt","size","second","first","findIndex","predicate","find","searchElement","O","currentElement","from","arrayLike","mapFn","thisArg","C","symbolIterator","iterator","mapping","usingIterator","next","it","done","values","ReactNative","Components","self","clearFn","_clearFn","scope","setInterval","clearInterval","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","registerImmediate","html","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","runIfPresent","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","documentElement","script","onreadystatechange","removeChild","attachEvent","task","React","Ply","DefaultButton","Text","View","StyleSheet","Reka","ssr","StringResources","createLazyTable","SDX","configErrorOutput","isModelFlightable","MlConfiguration_1","SavePromptModelHeuristicImpl","SavePromptModelLRImpl","ModelParameter","SavePromptModelClickStreamImpl","SavePromptModelOnyxImpl"],"mappings":"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","file":"index.win32.bundle","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"http://localhost:8081/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 7);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar MLConfigurationImpl = /** @class */ (function () {\r\n function MLConfigurationImpl() {\r\n }\r\n MLConfigurationImpl.prototype.register = function (configPayload) {\r\n this.modelID = configPayload.modelId;\r\n };\r\n MLConfigurationImpl.prototype.getModelID = function () {\r\n return this.modelID;\r\n };\r\n return MLConfigurationImpl;\r\n}());\r\nfunction getDefaultModelOutput() {\r\n var res = {\r\n output: false,\r\n isModelFlightable: true,\r\n calcDurationSec: 0\r\n };\r\n return res;\r\n}\r\nexports.getDefaultModelOutput = getDefaultModelOutput;\r\nexports.MLConfiguration = new MLConfigurationImpl();\r\nvar ModelParameter;\r\n(function (ModelParameter) {\r\n ModelParameter[\"RowCount\"] = \"rowCount\";\r\n ModelParameter[\"TileUpdateCount\"] = \"tileUpdateCount\";\r\n ModelParameter[\"DwellTimeSec\"] = \"dwellTimeSecs\";\r\n ModelParameter[\"RelevantTcidsExists\"] = \"relevantTcidsExists\"; // Key doesn't map to 'real' value, it is just used to check for payload compatibility\r\n})(ModelParameter = exports.ModelParameter || (exports.ModelParameter = {}));\r\nvar SavePromptModel;\r\n(function (SavePromptModel) {\r\n SavePromptModel[SavePromptModel[\"Heuristic\"] = 1000] = \"Heuristic\";\r\n SavePromptModel[SavePromptModel[\"LR\"] = 1001] = \"LR\";\r\n SavePromptModel[SavePromptModel[\"ClickStream\"] = 1002] = \"ClickStream\";\r\n SavePromptModel[SavePromptModel[\"Onyx\"] = 1003] = \"Onyx\";\r\n})(SavePromptModel = exports.SavePromptModel || (exports.SavePromptModel = {}));\r\n","/*\n MICROSOFT SOFTWARE LICENSE TERMS\n Use of this file is governed by the one of the following Microsoft developer terms:\n * If you have a MSDN subscription, the Microsoft Developer Services Agreement at https://msdn.microsoft.com/en-US/cc300389 applies.\n * If you don't have an MSDN subscription, the software license terms located at http://go.microsoft.com/fwlink/?LinkId=396798 apply.\n*/\n\n/*\n* @overview es6-promise - a tiny implementation of Promises/A+.\n* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n* @license Licensed under MIT license\n* See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE\n* @version 2.3.0\n*/\n\n\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Action = (function () {\r\n function Action(actionInfo, operationType, flags) {\r\n this.m_actionInfo = actionInfo;\r\n this.m_operationType = operationType;\r\n this.m_flags = flags;\r\n }\r\n Object.defineProperty(Action.prototype, \"actionInfo\", {\r\n get: function () {\r\n return this.m_actionInfo;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"operationType\", {\r\n get: function () {\r\n return this.m_operationType;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"flags\", {\r\n get: function () {\r\n return this.m_flags;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return Action;\r\n}());\r\nexports.Action = Action;\r\nvar TraceMarkerActionResultHandler = (function () {\r\n function TraceMarkerActionResultHandler(callback) {\r\n this.m_callback = callback;\r\n }\r\n TraceMarkerActionResultHandler.prototype._handleResult = function (value) {\r\n if (this.m_callback) {\r\n this.m_callback();\r\n }\r\n };\r\n return TraceMarkerActionResultHandler;\r\n}());\r\nvar ActionFactory = (function () {\r\n function ActionFactory() {\r\n }\r\n ActionFactory.createSetPropertyAction = function (context, parent, propertyName, value, flags) {\r\n Utility.validateObjectPath(parent);\r\n var actionInfo = {\r\n Id: context._nextId(),\r\n ActionType: 4,\r\n Name: propertyName,\r\n ObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n ArgumentInfo: {}\r\n };\r\n var args = [value];\r\n var referencedArgumentObjectPaths = Utility.setMethodArguments(context, actionInfo.ArgumentInfo, args);\r\n Utility.validateReferencedObjectPaths(referencedArgumentObjectPaths);\r\n context._pendingRequest.ensureInstantiateObjectPath(parent._objectPath);\r\n context._pendingRequest.ensureInstantiateObjectPaths(referencedArgumentObjectPaths);\r\n var ret = new Action(actionInfo, 0, flags);\r\n context._pendingRequest.addAction(ret);\r\n context._pendingRequest.addReferencedObjectPath(parent._objectPath);\r\n context._pendingRequest.addReferencedObjectPaths(referencedArgumentObjectPaths);\r\n ret.referencedObjectPath = parent._objectPath;\r\n ret.referencedArgumentObjectPaths = referencedArgumentObjectPaths;\r\n return ret;\r\n };\r\n ActionFactory.createMethodAction = function (context, parent, methodName, operationType, args, flags) {\r\n Utility.validateObjectPath(parent);\r\n var actionInfo = {\r\n Id: context._nextId(),\r\n ActionType: 3,\r\n Name: methodName,\r\n ObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n ArgumentInfo: {}\r\n };\r\n var referencedArgumentObjectPaths = Utility.setMethodArguments(context, actionInfo.ArgumentInfo, args);\r\n Utility.validateReferencedObjectPaths(referencedArgumentObjectPaths);\r\n context._pendingRequest.ensureInstantiateObjectPath(parent._objectPath);\r\n context._pendingRequest.ensureInstantiateObjectPaths(referencedArgumentObjectPaths);\r\n var ret = new Action(actionInfo, operationType, Utility._fixupApiFlags(flags));\r\n context._pendingRequest.addAction(ret);\r\n context._pendingRequest.addReferencedObjectPath(parent._objectPath);\r\n context._pendingRequest.addReferencedObjectPaths(referencedArgumentObjectPaths);\r\n ret.referencedObjectPath = parent._objectPath;\r\n ret.referencedArgumentObjectPaths = referencedArgumentObjectPaths;\r\n return ret;\r\n };\r\n ActionFactory.createQueryAction = function (context, parent, queryOption) {\r\n Utility.validateObjectPath(parent);\r\n context._pendingRequest.ensureInstantiateObjectPath(parent._objectPath);\r\n var actionInfo = {\r\n Id: context._nextId(),\r\n ActionType: 2,\r\n Name: \"\",\r\n ObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n };\r\n actionInfo.QueryInfo = queryOption;\r\n var ret = new Action(actionInfo, 1, 4);\r\n context._pendingRequest.addAction(ret);\r\n context._pendingRequest.addReferencedObjectPath(parent._objectPath);\r\n ret.referencedObjectPath = parent._objectPath;\r\n return ret;\r\n };\r\n ActionFactory.createRecursiveQueryAction = function (context, parent, query) {\r\n Utility.validateObjectPath(parent);\r\n context._pendingRequest.ensureInstantiateObjectPath(parent._objectPath);\r\n var actionInfo = {\r\n Id: context._nextId(),\r\n ActionType: 6,\r\n Name: \"\",\r\n ObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n RecursiveQueryInfo: query\r\n };\r\n var ret = new Action(actionInfo, 1, 4);\r\n context._pendingRequest.addAction(ret);\r\n context._pendingRequest.addReferencedObjectPath(parent._objectPath);\r\n ret.referencedObjectPath = parent._objectPath;\r\n return ret;\r\n };\r\n ActionFactory.createQueryAsJsonAction = function (context, parent, queryOption) {\r\n Utility.validateObjectPath(parent);\r\n context._pendingRequest.ensureInstantiateObjectPath(parent._objectPath);\r\n var actionInfo = {\r\n Id: context._nextId(),\r\n ActionType: 7,\r\n Name: \"\",\r\n ObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n };\r\n actionInfo.QueryInfo = queryOption;\r\n var ret = new Action(actionInfo, 1, 4);\r\n context._pendingRequest.addAction(ret);\r\n context._pendingRequest.addReferencedObjectPath(parent._objectPath);\r\n ret.referencedObjectPath = parent._objectPath;\r\n return ret;\r\n };\r\n ActionFactory.createEnsureUnchangedAction = function (context, parent, objectState) {\r\n Utility.validateObjectPath(parent);\r\n context._pendingRequest.ensureInstantiateObjectPath(parent._objectPath);\r\n var actionInfo = {\r\n Id: context._nextId(),\r\n ActionType: 8,\r\n Name: \"\",\r\n ObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n ObjectState: objectState\r\n };\r\n var ret = new Action(actionInfo, 1, 4);\r\n context._pendingRequest.addAction(ret);\r\n context._pendingRequest.addReferencedObjectPath(parent._objectPath);\r\n ret.referencedObjectPath = parent._objectPath;\r\n return ret;\r\n };\r\n ActionFactory.createUpdateAction = function (context, parent, objectState) {\r\n Utility.validateObjectPath(parent);\r\n context._pendingRequest.ensureInstantiateObjectPath(parent._objectPath);\r\n var actionInfo = {\r\n Id: context._nextId(),\r\n ActionType: 9,\r\n Name: \"\",\r\n ObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n ObjectState: objectState\r\n };\r\n var ret = new Action(actionInfo, 0, 0);\r\n context._pendingRequest.addAction(ret);\r\n context._pendingRequest.addReferencedObjectPath(parent._objectPath);\r\n ret.referencedObjectPath = parent._objectPath;\r\n return ret;\r\n };\r\n ActionFactory.createInstantiateAction = function (context, obj) {\r\n Utility.validateObjectPath(obj);\r\n context._pendingRequest.ensureInstantiateObjectPath(obj._objectPath.parentObjectPath);\r\n context._pendingRequest.ensureInstantiateObjectPaths(obj._objectPath.argumentObjectPaths);\r\n var actionInfo = {\r\n Id: context._nextId(),\r\n ActionType: 1,\r\n Name: \"\",\r\n ObjectPathId: obj._objectPath.objectPathInfo.Id\r\n };\r\n var ret = new Action(actionInfo, 1, 4);\r\n ret.referencedObjectPath = obj._objectPath;\r\n context._pendingRequest.addAction(ret);\r\n context._pendingRequest.addReferencedObjectPath(obj._objectPath);\r\n context._pendingRequest.addActionResultHandler(ret, new InstantiateActionResultHandler(obj));\r\n return ret;\r\n };\r\n ActionFactory.createTraceAction = function (context, message, addTraceMessage) {\r\n var actionInfo = {\r\n Id: context._nextId(),\r\n ActionType: 5,\r\n Name: \"Trace\",\r\n ObjectPathId: 0\r\n };\r\n var ret = new Action(actionInfo, 1, 4);\r\n context._pendingRequest.addAction(ret);\r\n if (addTraceMessage) {\r\n context._pendingRequest.addTrace(actionInfo.Id, message);\r\n }\r\n return ret;\r\n };\r\n ActionFactory.createTraceMarkerForCallback = function (context, callback) {\r\n var action = ActionFactory.createTraceAction(context, null, false);\r\n context._pendingRequest.addActionResultHandler(action, new TraceMarkerActionResultHandler(callback));\r\n };\r\n return ActionFactory;\r\n}());\r\nexports.ActionFactory = ActionFactory;\r\nvar ClientObject = (function () {\r\n function ClientObject(context, objectPath) {\r\n Utility.checkArgumentNull(context, \"context\");\r\n this.m_context = context;\r\n this.m_objectPath = objectPath;\r\n if (this.m_objectPath) {\r\n if (!context._processingResult) {\r\n ActionFactory.createInstantiateAction(context, this);\r\n if ((context._autoCleanup) && (this._KeepReference)) {\r\n context.trackedObjects._autoAdd(this);\r\n }\r\n }\r\n }\r\n }\r\n Object.defineProperty(ClientObject.prototype, \"context\", {\r\n get: function () {\r\n return this.m_context;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientObject.prototype, \"_objectPath\", {\r\n get: function () {\r\n return this.m_objectPath;\r\n },\r\n set: function (value) {\r\n this.m_objectPath = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientObject.prototype, \"isNull\", {\r\n get: function () {\r\n Utility.throwIfNotLoaded(\"isNull\", this._isNull, null, this._isNull);\r\n return this._isNull;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientObject.prototype, \"isNullObject\", {\r\n get: function () {\r\n Utility.throwIfNotLoaded(\"isNullObject\", this._isNull, null, this._isNull);\r\n return this._isNull;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientObject.prototype, \"_isNull\", {\r\n get: function () {\r\n return this.m_isNull;\r\n },\r\n set: function (value) {\r\n this.m_isNull = value;\r\n if (value && this.m_objectPath) {\r\n this.m_objectPath._updateAsNullObject();\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ClientObject.prototype._handleResult = function (value) {\r\n this._isNull = Utility.isNullOrUndefined(value);\r\n this.context.trackedObjects._autoTrackIfNecessaryWhenHandleObjectResultValue(this, value);\r\n };\r\n ClientObject.prototype._handleIdResult = function (value) {\r\n this._isNull = Utility.isNullOrUndefined(value);\r\n Utility.fixObjectPathIfNecessary(this, value);\r\n this.context.trackedObjects._autoTrackIfNecessaryWhenHandleObjectResultValue(this, value);\r\n };\r\n ClientObject.prototype._handleRetrieveResult = function (value, result) {\r\n this._handleIdResult(value);\r\n };\r\n ClientObject.prototype._recursivelySet = function (input, options, scalarWriteablePropertyNames, objectPropertyNames, notAllowedToBeSetPropertyNames) {\r\n var isClientObject = (input instanceof ClientObject);\r\n var originalInput = input;\r\n if (isClientObject) {\r\n if (Object.getPrototypeOf(this) === Object.getPrototypeOf(input)) {\r\n input = JSON.parse(JSON.stringify(input));\r\n }\r\n else {\r\n throw _Internal.RuntimeError._createInvalidArgError({\r\n argumentName: 'properties',\r\n errorLocation: this._className + \".set\"\r\n });\r\n }\r\n }\r\n try {\r\n var prop;\r\n for (var i = 0; i < scalarWriteablePropertyNames.length; i++) {\r\n prop = scalarWriteablePropertyNames[i];\r\n if (input.hasOwnProperty(prop)) {\r\n if (typeof input[prop] !== \"undefined\") {\r\n this[prop] = input[prop];\r\n }\r\n }\r\n }\r\n for (var i = 0; i < objectPropertyNames.length; i++) {\r\n prop = objectPropertyNames[i];\r\n if (input.hasOwnProperty(prop)) {\r\n if (typeof input[prop] !== \"undefined\") {\r\n var dataToPassToSet = isClientObject ? originalInput[prop] : input[prop];\r\n this[prop].set(dataToPassToSet, options);\r\n }\r\n }\r\n }\r\n var throwOnReadOnly = !isClientObject;\r\n if (options && !Utility.isNullOrUndefined(throwOnReadOnly)) {\r\n throwOnReadOnly = options.throwOnReadOnly;\r\n }\r\n for (var i = 0; i < notAllowedToBeSetPropertyNames.length; i++) {\r\n prop = notAllowedToBeSetPropertyNames[i];\r\n if (input.hasOwnProperty(prop)) {\r\n if (typeof input[prop] !== \"undefined\" && throwOnReadOnly) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidArgument,\r\n message: Utility._getResourceString(ResourceStrings.cannotApplyPropertyThroughSetMethod, prop),\r\n debugInfo: {\r\n errorLocation: prop\r\n }\r\n });\r\n }\r\n }\r\n }\r\n for (prop in input) {\r\n if (scalarWriteablePropertyNames.indexOf(prop) < 0 && objectPropertyNames.indexOf(prop) < 0) {\r\n var propertyDescriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this), prop);\r\n if (!propertyDescriptor) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidArgument,\r\n message: Utility._getResourceString(ResourceStrings.propertyDoesNotExist, prop),\r\n debugInfo: {\r\n errorLocation: prop\r\n }\r\n });\r\n }\r\n if (throwOnReadOnly && !propertyDescriptor.set) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidArgument,\r\n message: Utility._getResourceString(ResourceStrings.attemptingToSetReadOnlyProperty, prop),\r\n debugInfo: {\r\n errorLocation: prop\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n catch (innerError) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidArgument,\r\n message: Utility._getResourceString(ResourceStrings.invalidArgument, 'properties'),\r\n debugInfo: {\r\n errorLocation: this._className + \".set\"\r\n },\r\n innerError: innerError\r\n });\r\n }\r\n };\r\n ClientObject.prototype._recursivelyUpdate = function (properties) {\r\n var shouldPolyfill = exports._internalConfig.alwaysPolyfillClientObjectUpdateMethod;\r\n if (!shouldPolyfill) {\r\n shouldPolyfill = !Utility.isSetSupported(\"RichApiRuntime\", \"1.2\");\r\n }\r\n try {\r\n var scalarPropNames = this[Constants.scalarPropertyNames];\r\n if (!scalarPropNames) {\r\n scalarPropNames = [];\r\n }\r\n var scalarPropUpdatable = this[Constants.scalarPropertyUpdateable];\r\n if (!scalarPropUpdatable) {\r\n scalarPropUpdatable = [];\r\n for (var i = 0; i < scalarPropNames.length; i++) {\r\n scalarPropUpdatable.push(false);\r\n }\r\n }\r\n var navigationPropNames = this[Constants.navigationPropertyNames];\r\n if (!navigationPropNames) {\r\n navigationPropNames = [];\r\n }\r\n var scalarProps = {};\r\n var navigationProps = {};\r\n var scalarPropCount = 0;\r\n for (var propName in properties) {\r\n var index = scalarPropNames.indexOf(propName);\r\n if (index >= 0) {\r\n if (!scalarPropUpdatable[index]) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidArgument,\r\n message: Utility._getResourceString(ResourceStrings.attemptingToSetReadOnlyProperty, propName),\r\n debugInfo: {\r\n errorLocation: propName\r\n }\r\n });\r\n }\r\n scalarProps[propName] = properties[propName];\r\n ++scalarPropCount;\r\n }\r\n else if (navigationPropNames.indexOf(propName) >= 0) {\r\n navigationProps[propName] = properties[propName];\r\n }\r\n else {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidArgument,\r\n message: Utility._getResourceString(ResourceStrings.propertyDoesNotExist, propName),\r\n debugInfo: {\r\n errorLocation: propName\r\n }\r\n });\r\n }\r\n }\r\n if (scalarPropCount > 0) {\r\n if (shouldPolyfill) {\r\n for (var i = 0; i < scalarPropNames.length; i++) {\r\n var propName = scalarPropNames[i];\r\n var propValue = scalarProps[propName];\r\n if (!Utility.isUndefined(propValue)) {\r\n ActionFactory.createSetPropertyAction(this.context, this, propName, propValue);\r\n }\r\n }\r\n }\r\n else {\r\n ActionFactory.createUpdateAction(this.context, this, scalarProps);\r\n }\r\n }\r\n for (var propName in navigationProps) {\r\n var navigationPropProxy = this[propName];\r\n var navigationPropValue = navigationProps[propName];\r\n navigationPropProxy._recursivelyUpdate(navigationPropValue);\r\n }\r\n }\r\n catch (innerError) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidArgument,\r\n message: Utility._getResourceString(ResourceStrings.invalidArgument, 'properties'),\r\n debugInfo: {\r\n errorLocation: this._className + \".update\"\r\n },\r\n innerError: innerError\r\n });\r\n }\r\n };\r\n return ClientObject;\r\n}());\r\nexports.ClientObject = ClientObject;\r\nvar ClientRequest = (function () {\r\n function ClientRequest(context) {\r\n this.m_context = context;\r\n this.m_actions = [];\r\n this.m_actionResultHandler = {};\r\n this.m_referencedObjectPaths = {};\r\n this.m_instantiatedObjectPaths = {};\r\n this.m_traceInfos = {};\r\n this.m_pendingProcessEventHandlers = [];\r\n this.m_pendingEventHandlerActions = {};\r\n this.m_responseTraceIds = {};\r\n this.m_responseTraceMessages = [];\r\n this.m_preSyncPromises = [];\r\n }\r\n Object.defineProperty(ClientRequest.prototype, \"traceInfos\", {\r\n get: function () {\r\n return this.m_traceInfos;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientRequest.prototype, \"_responseTraceMessages\", {\r\n get: function () {\r\n return this.m_responseTraceMessages;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientRequest.prototype, \"_responseTraceIds\", {\r\n get: function () {\r\n return this.m_responseTraceIds;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ClientRequest.prototype._setResponseTraceIds = function (value) {\r\n if (value) {\r\n for (var i = 0; i < value.length; i++) {\r\n var traceId = value[i];\r\n this.m_responseTraceIds[traceId] = traceId;\r\n var message = this.m_traceInfos[traceId];\r\n if (!Utility.isNullOrUndefined(message)) {\r\n this.m_responseTraceMessages.push(message);\r\n }\r\n }\r\n }\r\n };\r\n ClientRequest.prototype.addAction = function (action) {\r\n if (this.m_context.batchMode === 1) {\r\n var isSafeAction = false;\r\n if (action.actionInfo.ActionType === 1 &&\r\n action.referencedObjectPath.objectPathInfo.ObjectPathType === 4) {\r\n isSafeAction = true;\r\n }\r\n if (!isSafeAction) {\r\n this.m_context.ensureInProgressBatchIfBatchMode();\r\n }\r\n }\r\n this.m_actions.push(action);\r\n if (action.actionInfo.ActionType == 1) {\r\n this.m_instantiatedObjectPaths[action.actionInfo.ObjectPathId] = action;\r\n }\r\n };\r\n Object.defineProperty(ClientRequest.prototype, \"hasActions\", {\r\n get: function () {\r\n return this.m_actions.length > 0;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ClientRequest.prototype._getLastAction = function () {\r\n return this.m_actions[this.m_actions.length - 1];\r\n };\r\n ClientRequest.prototype.addTrace = function (actionId, message) {\r\n this.m_traceInfos[actionId] = message;\r\n };\r\n ClientRequest.prototype.ensureInstantiateObjectPath = function (objectPath) {\r\n if (objectPath) {\r\n if (this.m_instantiatedObjectPaths[objectPath.objectPathInfo.Id]) {\r\n return;\r\n }\r\n this.ensureInstantiateObjectPath(objectPath.parentObjectPath);\r\n this.ensureInstantiateObjectPaths(objectPath.argumentObjectPaths);\r\n if (!this.m_instantiatedObjectPaths[objectPath.objectPathInfo.Id]) {\r\n var actionInfo = {\r\n Id: this.m_context._nextId(),\r\n ActionType: 1,\r\n Name: \"\",\r\n ObjectPathId: objectPath.objectPathInfo.Id\r\n };\r\n var instantiateAction = new Action(actionInfo, 1, 4);\r\n instantiateAction.referencedObjectPath = objectPath;\r\n this.addReferencedObjectPath(objectPath);\r\n this.addAction(instantiateAction);\r\n }\r\n }\r\n };\r\n ClientRequest.prototype.ensureInstantiateObjectPaths = function (objectPaths) {\r\n if (objectPaths) {\r\n for (var i = 0; i < objectPaths.length; i++) {\r\n this.ensureInstantiateObjectPath(objectPaths[i]);\r\n }\r\n }\r\n };\r\n ClientRequest.prototype.addReferencedObjectPath = function (objectPath) {\r\n if (this.m_referencedObjectPaths[objectPath.objectPathInfo.Id]) {\r\n return;\r\n }\r\n if (!objectPath.isValid) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidObjectPath,\r\n message: Utility._getResourceString(ResourceStrings.invalidObjectPath, Utility.getObjectPathExpression(objectPath)),\r\n debugInfo: {\r\n errorLocation: Utility.getObjectPathExpression(objectPath)\r\n }\r\n });\r\n }\r\n while (objectPath) {\r\n this.m_referencedObjectPaths[objectPath.objectPathInfo.Id] = objectPath;\r\n if (objectPath.objectPathInfo.ObjectPathType == 3) {\r\n this.addReferencedObjectPaths(objectPath.argumentObjectPaths);\r\n }\r\n objectPath = objectPath.parentObjectPath;\r\n }\r\n };\r\n ClientRequest.prototype.addReferencedObjectPaths = function (objectPaths) {\r\n if (objectPaths) {\r\n for (var i = 0; i < objectPaths.length; i++) {\r\n this.addReferencedObjectPath(objectPaths[i]);\r\n }\r\n }\r\n };\r\n ClientRequest.prototype.addActionResultHandler = function (action, resultHandler) {\r\n this.m_actionResultHandler[action.actionInfo.Id] = resultHandler;\r\n };\r\n ClientRequest.prototype.aggregrateRequestFlags = function (requestFlags, operationType, flags) {\r\n if (operationType === 0) {\r\n requestFlags = requestFlags | 1;\r\n if ((flags & 2) === 0) {\r\n requestFlags = requestFlags & ~(16);\r\n }\r\n requestFlags = requestFlags & ~(4);\r\n }\r\n if (flags & 1) {\r\n requestFlags = requestFlags | 2;\r\n }\r\n if ((flags & 4) === 0) {\r\n requestFlags = requestFlags & ~(4);\r\n }\r\n return requestFlags;\r\n };\r\n ClientRequest.prototype.finallyNormalizeFlags = function (requestFlags) {\r\n if ((requestFlags & 1) === 0) {\r\n requestFlags = requestFlags & ~16;\r\n }\r\n if (!exports._internalConfig.enableConcurrentFlag) {\r\n requestFlags = requestFlags & ~4;\r\n }\r\n if (!exports._internalConfig.enableUndoableFlag) {\r\n requestFlags = requestFlags & ~16;\r\n }\r\n if (!Utility.isSetSupported(\"RichApiRuntimeFlag\", \"1.1\")) {\r\n requestFlags = requestFlags & ~4;\r\n requestFlags = requestFlags & ~16;\r\n }\r\n if (typeof (this.m_flagsForTesting) === \"number\") {\r\n requestFlags = this.m_flagsForTesting;\r\n }\r\n return requestFlags;\r\n };\r\n ClientRequest.prototype.buildRequestMessageBodyAndRequestFlags = function () {\r\n if (exports._internalConfig.enableEarlyDispose) {\r\n ClientRequest._calculateLastUsedObjectPathIds(this.m_actions);\r\n }\r\n var requestFlags = 4 | 16;\r\n var objectPaths = {};\r\n for (var i in this.m_referencedObjectPaths) {\r\n requestFlags = this.aggregrateRequestFlags(requestFlags, this.m_referencedObjectPaths[i].operationType, this.m_referencedObjectPaths[i].flags);\r\n objectPaths[i] = this.m_referencedObjectPaths[i].objectPathInfo;\r\n }\r\n var actions = [];\r\n var hasKeepReference = false;\r\n for (var index = 0; index < this.m_actions.length; index++) {\r\n var action = this.m_actions[index];\r\n if (action.actionInfo.ActionType === 3 && action.actionInfo.Name === Constants.keepReference) {\r\n hasKeepReference = true;\r\n }\r\n requestFlags = this.aggregrateRequestFlags(requestFlags, action.operationType, action.flags);\r\n actions.push(action.actionInfo);\r\n }\r\n requestFlags = this.finallyNormalizeFlags(requestFlags);\r\n var body = {\r\n AutoKeepReference: this.m_context._autoCleanup && hasKeepReference,\r\n Actions: actions,\r\n ObjectPaths: objectPaths\r\n };\r\n return {\r\n body: body,\r\n flags: requestFlags\r\n };\r\n };\r\n ClientRequest.prototype.processResponse = function (actionResults) {\r\n if (actionResults) {\r\n for (var i = 0; i < actionResults.length; i++) {\r\n var actionResult = actionResults[i];\r\n var handler = this.m_actionResultHandler[actionResult.ActionId];\r\n if (handler) {\r\n handler._handleResult(actionResult.Value);\r\n }\r\n }\r\n }\r\n };\r\n ClientRequest.prototype.invalidatePendingInvalidObjectPaths = function () {\r\n for (var i in this.m_referencedObjectPaths) {\r\n if (this.m_referencedObjectPaths[i].isInvalidAfterRequest) {\r\n this.m_referencedObjectPaths[i].isValid = false;\r\n }\r\n }\r\n };\r\n ClientRequest.prototype._addPendingEventHandlerAction = function (eventHandlers, action) {\r\n if (!this.m_pendingEventHandlerActions[eventHandlers._id]) {\r\n this.m_pendingEventHandlerActions[eventHandlers._id] = [];\r\n this.m_pendingProcessEventHandlers.push(eventHandlers);\r\n }\r\n this.m_pendingEventHandlerActions[eventHandlers._id].push(action);\r\n };\r\n Object.defineProperty(ClientRequest.prototype, \"_pendingProcessEventHandlers\", {\r\n get: function () {\r\n return this.m_pendingProcessEventHandlers;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ClientRequest.prototype._getPendingEventHandlerActions = function (eventHandlers) {\r\n return this.m_pendingEventHandlerActions[eventHandlers._id];\r\n };\r\n ClientRequest.prototype._addPreSyncPromise = function (value) {\r\n this.m_preSyncPromises.push(value);\r\n };\r\n Object.defineProperty(ClientRequest.prototype, \"_preSyncPromises\", {\r\n get: function () {\r\n return this.m_preSyncPromises;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientRequest.prototype, \"_actions\", {\r\n get: function () {\r\n return this.m_actions;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientRequest.prototype, \"_objectPaths\", {\r\n get: function () {\r\n return this.m_referencedObjectPaths;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ClientRequest.prototype._removeKeepReferenceAction = function (objectPathId) {\r\n for (var i = this.m_actions.length - 1; i >= 0; i--) {\r\n var actionInfo = this.m_actions[i].actionInfo;\r\n if (actionInfo.ObjectPathId === objectPathId && actionInfo.ActionType === 3 && actionInfo.Name === Constants.keepReference) {\r\n this.m_actions.splice(i);\r\n break;\r\n }\r\n }\r\n };\r\n ClientRequest._updateLastUsedActionIdOfObjectPathId = function (lastUsedActionIdOfObjectPathId, objectPath, actionId) {\r\n while (objectPath) {\r\n if (lastUsedActionIdOfObjectPathId[objectPath.objectPathInfo.Id]) {\r\n return;\r\n }\r\n lastUsedActionIdOfObjectPathId[objectPath.objectPathInfo.Id] = actionId;\r\n var argumentObjectPaths = objectPath.argumentObjectPaths;\r\n if (argumentObjectPaths) {\r\n var argumentObjectPathsLength = argumentObjectPaths.length;\r\n for (var i = 0; i < argumentObjectPathsLength; i++) {\r\n ClientRequest._updateLastUsedActionIdOfObjectPathId(lastUsedActionIdOfObjectPathId, argumentObjectPaths[i], actionId);\r\n }\r\n }\r\n objectPath = objectPath.parentObjectPath;\r\n }\r\n };\r\n ClientRequest._calculateLastUsedObjectPathIds = function (actions) {\r\n var lastUsedActionIdOfObjectPathId = {};\r\n var actionsLength = actions.length;\r\n for (var index = actionsLength - 1; index >= 0; --index) {\r\n var action = actions[index];\r\n var actionId = action.actionInfo.Id;\r\n if (action.referencedObjectPath) {\r\n ClientRequest._updateLastUsedActionIdOfObjectPathId(lastUsedActionIdOfObjectPathId, action.referencedObjectPath, actionId);\r\n }\r\n var referencedObjectPaths = action.referencedArgumentObjectPaths;\r\n if (referencedObjectPaths) {\r\n var referencedObjectPathsLength = referencedObjectPaths.length;\r\n for (var refIndex = 0; refIndex < referencedObjectPathsLength; refIndex++) {\r\n ClientRequest._updateLastUsedActionIdOfObjectPathId(lastUsedActionIdOfObjectPathId, referencedObjectPaths[refIndex], actionId);\r\n }\r\n }\r\n }\r\n var lastUsedObjectPathIdsOfAction = {};\r\n for (var key in lastUsedActionIdOfObjectPathId) {\r\n var actionId = lastUsedActionIdOfObjectPathId[key];\r\n var objectPathIds = lastUsedObjectPathIdsOfAction[actionId];\r\n if (!objectPathIds) {\r\n objectPathIds = [];\r\n lastUsedObjectPathIdsOfAction[actionId] = objectPathIds;\r\n }\r\n objectPathIds.push(parseInt(key));\r\n }\r\n for (var index = 0; index < actionsLength; index++) {\r\n var action = actions[index];\r\n var lastUsedObjectPathIds = lastUsedObjectPathIdsOfAction[action.actionInfo.Id];\r\n if (lastUsedObjectPathIds && lastUsedObjectPathIds.length > 0) {\r\n action.actionInfo.L = lastUsedObjectPathIds;\r\n }\r\n else if (action.actionInfo.L) {\r\n delete action.actionInfo.L;\r\n }\r\n }\r\n };\r\n return ClientRequest;\r\n}());\r\nexports.ClientRequest = ClientRequest;\r\nexports._internalConfig = {\r\n showDisposeInfoInDebugInfo: false,\r\n showInternalApiInDebugInfo: false,\r\n enableEarlyDispose: true,\r\n alwaysPolyfillClientObjectUpdateMethod: false,\r\n alwaysPolyfillClientObjectRetrieveMethod: false,\r\n enableConcurrentFlag: true,\r\n enableUndoableFlag: true,\r\n};\r\nexports.config = {\r\n extendedErrorLogging: false\r\n};\r\nvar SessionBase = (function () {\r\n function SessionBase() {\r\n }\r\n SessionBase.prototype._resolveRequestUrlAndHeaderInfo = function () {\r\n return Utility._createPromiseFromResult(null);\r\n };\r\n SessionBase.prototype._createRequestExecutorOrNull = function () {\r\n return null;\r\n };\r\n Object.defineProperty(SessionBase.prototype, \"eventRegistration\", {\r\n get: function () {\r\n return _Internal.officeJsEventRegistration;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return SessionBase;\r\n}());\r\nexports.SessionBase = SessionBase;\r\nvar ClientRequestContext = (function () {\r\n function ClientRequestContext(url) {\r\n this.m_customRequestHeaders = {};\r\n this.m_batchMode = 0;\r\n this._onRunFinishedNotifiers = [];\r\n this.m_nextId = 0;\r\n if (ClientRequestContext._overrideSession) {\r\n this.m_requestUrlAndHeaderInfoResolver = ClientRequestContext._overrideSession;\r\n }\r\n else {\r\n if (Utility.isNullOrUndefined(url) || typeof (url) === \"string\" && url.length === 0) {\r\n url = ClientRequestContext.defaultRequestUrlAndHeaders;\r\n if (!url) {\r\n url = { url: Constants.localDocument, headers: {} };\r\n }\r\n }\r\n if (typeof (url) === \"string\") {\r\n this.m_requestUrlAndHeaderInfo = { url: url, headers: {} };\r\n }\r\n else if (ClientRequestContext.isRequestUrlAndHeaderInfoResolver(url)) {\r\n this.m_requestUrlAndHeaderInfoResolver = url;\r\n }\r\n else if (ClientRequestContext.isRequestUrlAndHeaderInfo(url)) {\r\n var requestInfo = url;\r\n this.m_requestUrlAndHeaderInfo = { url: requestInfo.url, headers: {} };\r\n Utility._copyHeaders(requestInfo.headers, this.m_requestUrlAndHeaderInfo.headers);\r\n }\r\n else {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"url\" });\r\n }\r\n }\r\n if (this.m_requestUrlAndHeaderInfoResolver instanceof SessionBase) {\r\n this.m_session = this.m_requestUrlAndHeaderInfoResolver;\r\n }\r\n this._processingResult = false;\r\n this._customData = Constants.iterativeExecutor;\r\n this.sync = this.sync.bind(this);\r\n }\r\n Object.defineProperty(ClientRequestContext.prototype, \"session\", {\r\n get: function () {\r\n return this.m_session;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientRequestContext.prototype, \"eventRegistration\", {\r\n get: function () {\r\n if (this.m_session) {\r\n return this.m_session.eventRegistration;\r\n }\r\n return _Internal.officeJsEventRegistration;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientRequestContext.prototype, \"_url\", {\r\n get: function () {\r\n if (this.m_requestUrlAndHeaderInfo) {\r\n return this.m_requestUrlAndHeaderInfo.url;\r\n }\r\n return null;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientRequestContext.prototype, \"_pendingRequest\", {\r\n get: function () {\r\n if (this.m_pendingRequest == null) {\r\n this.m_pendingRequest = new ClientRequest(this);\r\n }\r\n return this.m_pendingRequest;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientRequestContext.prototype, \"debugInfo\", {\r\n get: function () {\r\n var prettyPrinter = new RequestPrettyPrinter(this._rootObjectPropertyName, this._pendingRequest._objectPaths, this._pendingRequest._actions, exports._internalConfig.showDisposeInfoInDebugInfo);\r\n var statements = prettyPrinter.process();\r\n return { pendingStatements: statements };\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientRequestContext.prototype, \"trackedObjects\", {\r\n get: function () {\r\n if (!this.m_trackedObjects) {\r\n this.m_trackedObjects = new TrackedObjects(this);\r\n }\r\n return this.m_trackedObjects;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientRequestContext.prototype, \"requestHeaders\", {\r\n get: function () {\r\n return this.m_customRequestHeaders;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ClientRequestContext.prototype, \"batchMode\", {\r\n get: function () {\r\n return this.m_batchMode;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ClientRequestContext.prototype.ensureInProgressBatchIfBatchMode = function () {\r\n if (this.m_batchMode === 1 && !this.m_explicitBatchInProgress) {\r\n throw Utility.createRuntimeError(ErrorCodes.generalException, Utility._getResourceString(ResourceStrings.notInsideBatch), null);\r\n }\r\n };\r\n ClientRequestContext.prototype.load = function (clientObj, option) {\r\n Utility.validateContext(this, clientObj);\r\n var queryOption = ClientRequestContext._parseQueryOption(option);\r\n var action = ActionFactory.createQueryAction(this, clientObj, queryOption);\r\n this._pendingRequest.addActionResultHandler(action, clientObj);\r\n };\r\n ClientRequestContext.isLoadOption = function (loadOption) {\r\n if (!Utility.isUndefined(loadOption.select) && (typeof (loadOption.select) === \"string\" || Array.isArray(loadOption.select)))\r\n return true;\r\n if (!Utility.isUndefined(loadOption.expand) && (typeof (loadOption.expand) === \"string\" || Array.isArray(loadOption.expand)))\r\n return true;\r\n if (!Utility.isUndefined(loadOption.top) && typeof (loadOption.top) === \"number\")\r\n return true;\r\n if (!Utility.isUndefined(loadOption.skip) && typeof (loadOption.skip) === \"number\")\r\n return true;\r\n for (var i in loadOption) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n ClientRequestContext.parseStrictLoadOption = function (option) {\r\n var ret = { Select: [] };\r\n ClientRequestContext.parseStrictLoadOptionHelper(ret, \"\", \"option\", option);\r\n return ret;\r\n };\r\n ClientRequestContext.combineQueryPath = function (pathPrefix, key, separator) {\r\n if (pathPrefix.length === 0) {\r\n return key;\r\n }\r\n else {\r\n return pathPrefix + separator + key;\r\n }\r\n };\r\n ClientRequestContext.parseStrictLoadOptionHelper = function (queryInfo, pathPrefix, argPrefix, option) {\r\n for (var key in option) {\r\n var value = option[key];\r\n if (key === \"$all\") {\r\n if (typeof (value) !== \"boolean\") {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: ClientRequestContext.combineQueryPath(argPrefix, key, \".\") });\r\n }\r\n if (value) {\r\n queryInfo.Select.push(ClientRequestContext.combineQueryPath(pathPrefix, \"*\", \"/\"));\r\n }\r\n }\r\n else if (key === \"$top\") {\r\n if (typeof (value) !== \"number\" || pathPrefix.length > 0) {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: ClientRequestContext.combineQueryPath(argPrefix, key, \".\") });\r\n }\r\n queryInfo.Top = value;\r\n }\r\n else if (key === \"$skip\") {\r\n if (typeof (value) !== \"number\" || pathPrefix.length > 0) {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: ClientRequestContext.combineQueryPath(argPrefix, key, \".\") });\r\n }\r\n queryInfo.Skip = value;\r\n }\r\n else {\r\n if (typeof (value) === \"boolean\") {\r\n if (value) {\r\n queryInfo.Select.push(ClientRequestContext.combineQueryPath(pathPrefix, key, \"/\"));\r\n }\r\n }\r\n else if (typeof (value) === \"object\") {\r\n ClientRequestContext.parseStrictLoadOptionHelper(queryInfo, ClientRequestContext.combineQueryPath(pathPrefix, key, \"/\"), ClientRequestContext.combineQueryPath(argPrefix, key, \".\"), value);\r\n }\r\n else {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: ClientRequestContext.combineQueryPath(argPrefix, key, \".\") });\r\n }\r\n }\r\n }\r\n };\r\n ClientRequestContext._parseQueryOption = function (option) {\r\n var queryOption = {};\r\n if (typeof (option) == \"string\") {\r\n var select = option;\r\n queryOption.Select = Utility._parseSelectExpand(select);\r\n }\r\n else if (Array.isArray(option)) {\r\n queryOption.Select = option;\r\n }\r\n else if (typeof (option) === \"object\") {\r\n var loadOption = option;\r\n if (ClientRequestContext.isLoadOption(loadOption)) {\r\n if (typeof (loadOption.select) == \"string\") {\r\n queryOption.Select = Utility._parseSelectExpand(loadOption.select);\r\n }\r\n else if (Array.isArray(loadOption.select)) {\r\n queryOption.Select = loadOption.select;\r\n }\r\n else if (!Utility.isNullOrUndefined(loadOption.select)) {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"option.select\" });\r\n }\r\n if (typeof (loadOption.expand) == \"string\") {\r\n queryOption.Expand = Utility._parseSelectExpand(loadOption.expand);\r\n }\r\n else if (Array.isArray(loadOption.expand)) {\r\n queryOption.Expand = loadOption.expand;\r\n }\r\n else if (!Utility.isNullOrUndefined(loadOption.expand)) {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"option.expand\" });\r\n }\r\n if (typeof (loadOption.top) === \"number\") {\r\n queryOption.Top = loadOption.top;\r\n }\r\n else if (!Utility.isNullOrUndefined(loadOption.top)) {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"option.top\" });\r\n }\r\n if (typeof (loadOption.skip) === \"number\") {\r\n queryOption.Skip = loadOption.skip;\r\n }\r\n else if (!Utility.isNullOrUndefined(loadOption.skip)) {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"option.skip\" });\r\n }\r\n }\r\n else {\r\n queryOption = ClientRequestContext.parseStrictLoadOption(option);\r\n }\r\n }\r\n else if (!Utility.isNullOrUndefined(option)) {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"option\" });\r\n }\r\n return queryOption;\r\n };\r\n ClientRequestContext.prototype.loadRecursive = function (clientObj, options, maxDepth) {\r\n if (!Utility.isPlainJsonObject(options)) {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"options\" });\r\n }\r\n var quries = {};\r\n for (var key in options) {\r\n quries[key] = ClientRequestContext._parseQueryOption(options[key]);\r\n }\r\n var action = ActionFactory.createRecursiveQueryAction(this, clientObj, { Queries: quries, MaxDepth: maxDepth });\r\n this._pendingRequest.addActionResultHandler(action, clientObj);\r\n };\r\n ClientRequestContext.prototype.trace = function (message) {\r\n ActionFactory.createTraceAction(this, message, true);\r\n };\r\n ClientRequestContext.prototype._processOfficeJsErrorResponse = function (officeJsErrorCode, response) {\r\n };\r\n ClientRequestContext.prototype.ensureRequestUrlAndHeaderInfo = function () {\r\n var _this = this;\r\n return Utility._createPromiseFromResult(null)\r\n .then(function () {\r\n if (!_this.m_requestUrlAndHeaderInfo) {\r\n return _this.m_requestUrlAndHeaderInfoResolver._resolveRequestUrlAndHeaderInfo()\r\n .then(function (value) {\r\n _this.m_requestUrlAndHeaderInfo = value;\r\n if (!_this.m_requestUrlAndHeaderInfo) {\r\n _this.m_requestUrlAndHeaderInfo = { url: Constants.localDocument, headers: {} };\r\n }\r\n if (Utility.isNullOrEmptyString(_this.m_requestUrlAndHeaderInfo.url)) {\r\n _this.m_requestUrlAndHeaderInfo.url = Constants.localDocument;\r\n }\r\n if (!_this.m_requestUrlAndHeaderInfo.headers) {\r\n _this.m_requestUrlAndHeaderInfo.headers = {};\r\n }\r\n if (typeof (_this.m_requestUrlAndHeaderInfoResolver._createRequestExecutorOrNull) === \"function\") {\r\n var executor = _this.m_requestUrlAndHeaderInfoResolver._createRequestExecutorOrNull();\r\n if (executor) {\r\n _this._requestExecutor = executor;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n };\r\n ClientRequestContext.prototype.syncPrivateMain = function () {\r\n var _this = this;\r\n return this.ensureRequestUrlAndHeaderInfo()\r\n .then(function () {\r\n var req = _this._pendingRequest;\r\n _this.m_pendingRequest = null;\r\n return _this.processPreSyncPromises(req)\r\n .then(function () { return _this.syncPrivate(req); });\r\n });\r\n };\r\n ClientRequestContext.prototype.syncPrivate = function (req) {\r\n var _this = this;\r\n if (!req.hasActions) {\r\n return this.processPendingEventHandlers(req);\r\n }\r\n var _a = req.buildRequestMessageBodyAndRequestFlags(), msgBody = _a.body, requestFlags = _a.flags;\r\n if (!this._requestExecutor) {\r\n if (Utility._isLocalDocumentUrl(this.m_requestUrlAndHeaderInfo.url)) {\r\n this._requestExecutor = new OfficeJsRequestExecutor(this);\r\n }\r\n else {\r\n this._requestExecutor = new HttpRequestExecutor();\r\n }\r\n }\r\n var requestExecutor = this._requestExecutor;\r\n var headers = {};\r\n Utility._copyHeaders(this.m_requestUrlAndHeaderInfo.headers, headers);\r\n Utility._copyHeaders(this.m_customRequestHeaders, headers);\r\n var requestExecutorRequestMessage = {\r\n Url: this.m_requestUrlAndHeaderInfo.url,\r\n Headers: headers,\r\n Body: msgBody\r\n };\r\n req.invalidatePendingInvalidObjectPaths();\r\n var errorFromResponse = null;\r\n var errorFromProcessEventHandlers = null;\r\n this._lastSyncStart = (typeof performance === \"undefined\") ? 0 : performance.now();\r\n this._lastRequestFlags = requestFlags;\r\n return requestExecutor.executeAsync(this._customData, requestFlags, requestExecutorRequestMessage)\r\n .then(function (response) {\r\n _this._lastSyncEnd = (typeof performance === \"undefined\") ? 0 : performance.now();\r\n errorFromResponse = _this.processRequestExecutorResponseMessage(req, response);\r\n return _this.processPendingEventHandlers(req)\r\n .catch(function (ex) {\r\n Utility.log(\"Error in processPendingEventHandlers\");\r\n Utility.log(JSON.stringify(ex));\r\n errorFromProcessEventHandlers = ex;\r\n });\r\n })\r\n .then(function () {\r\n if (errorFromResponse) {\r\n Utility.log(\"Throw error from response: \" + JSON.stringify(errorFromResponse));\r\n throw errorFromResponse;\r\n }\r\n if (errorFromProcessEventHandlers) {\r\n Utility.log(\"Throw error from ProcessEventHandler: \" + JSON.stringify(errorFromProcessEventHandlers));\r\n var transformedError = null;\r\n if (errorFromProcessEventHandlers instanceof _Internal.RuntimeError) {\r\n transformedError = errorFromProcessEventHandlers;\r\n transformedError.traceMessages = req._responseTraceMessages;\r\n }\r\n else {\r\n var message = null;\r\n if (typeof (errorFromProcessEventHandlers) === \"string\") {\r\n message = errorFromProcessEventHandlers;\r\n }\r\n else {\r\n message = errorFromProcessEventHandlers.message;\r\n }\r\n if (Utility.isNullOrEmptyString(message)) {\r\n message = Utility._getResourceString(ResourceStrings.cannotRegisterEvent);\r\n }\r\n transformedError = new _Internal.RuntimeError({\r\n code: ErrorCodes.cannotRegisterEvent,\r\n message: message,\r\n traceMessages: req._responseTraceMessages\r\n });\r\n }\r\n throw transformedError;\r\n }\r\n });\r\n };\r\n ClientRequestContext.prototype.processRequestExecutorResponseMessage = function (req, response) {\r\n if (response.Body && response.Body.TraceIds) {\r\n req._setResponseTraceIds(response.Body.TraceIds);\r\n }\r\n var traceMessages = req._responseTraceMessages;\r\n var errorStatementInfo = null;\r\n if (response.Body) {\r\n if (response.Body.Error &&\r\n response.Body.Error.ActionIndex >= 0) {\r\n var prettyPrinter = new RequestPrettyPrinter(this._rootObjectPropertyName, req._objectPaths, req._actions, false, true);\r\n var debugInfoStatementInfo = prettyPrinter.processForDebugStatementInfo(response.Body.Error.ActionIndex);\r\n errorStatementInfo = {\r\n statement: debugInfoStatementInfo.statement,\r\n surroundingStatements: debugInfoStatementInfo.surroundingStatements,\r\n fullStatements: [\"Please enable config.extendedErrorLogging to see full statements.\"]\r\n };\r\n if (exports.config.extendedErrorLogging) {\r\n prettyPrinter = new RequestPrettyPrinter(this._rootObjectPropertyName, req._objectPaths, req._actions, false, false);\r\n errorStatementInfo.fullStatements = prettyPrinter.process();\r\n }\r\n }\r\n var actionResults = null;\r\n if (response.Body.Results) {\r\n actionResults = response.Body.Results;\r\n }\r\n else if (response.Body.ProcessedResults && response.Body.ProcessedResults.Results) {\r\n actionResults = response.Body.ProcessedResults.Results;\r\n }\r\n if (actionResults) {\r\n this._processingResult = true;\r\n try {\r\n req.processResponse(actionResults);\r\n }\r\n finally {\r\n this._processingResult = false;\r\n }\r\n }\r\n }\r\n if (!Utility.isNullOrEmptyString(response.ErrorCode)) {\r\n return new _Internal.RuntimeError({\r\n code: response.ErrorCode,\r\n message: response.ErrorMessage,\r\n traceMessages: traceMessages\r\n });\r\n }\r\n else if (response.Body && response.Body.Error) {\r\n var debugInfo = {\r\n errorLocation: response.Body.Error.Location\r\n };\r\n if (errorStatementInfo) {\r\n debugInfo.statement = errorStatementInfo.statement;\r\n debugInfo.surroundingStatements = errorStatementInfo.surroundingStatements;\r\n debugInfo.fullStatements = errorStatementInfo.fullStatements;\r\n }\r\n return new _Internal.RuntimeError({\r\n code: response.Body.Error.Code,\r\n message: response.Body.Error.Message,\r\n traceMessages: traceMessages,\r\n debugInfo: debugInfo\r\n });\r\n }\r\n return null;\r\n };\r\n ClientRequestContext.prototype.processPendingEventHandlers = function (req) {\r\n var ret = Utility._createPromiseFromResult(null);\r\n for (var i = 0; i < req._pendingProcessEventHandlers.length; i++) {\r\n var eventHandlers = req._pendingProcessEventHandlers[i];\r\n ret = ret.then(this.createProcessOneEventHandlersFunc(eventHandlers, req));\r\n }\r\n return ret;\r\n };\r\n ClientRequestContext.prototype.createProcessOneEventHandlersFunc = function (eventHandlers, req) {\r\n return function () { return eventHandlers._processRegistration(req); };\r\n };\r\n ClientRequestContext.prototype.processPreSyncPromises = function (req) {\r\n var ret = Utility._createPromiseFromResult(null);\r\n for (var i = 0; i < req._preSyncPromises.length; i++) {\r\n var p = req._preSyncPromises[i];\r\n ret = ret.then(this.createProcessOneProSyncFunc(p));\r\n }\r\n return ret;\r\n };\r\n ClientRequestContext.prototype.createProcessOneProSyncFunc = function (p) {\r\n return function () { return p; };\r\n };\r\n ClientRequestContext.prototype.sync = function (passThroughValue) {\r\n return this.syncPrivateMain().then(function () { return passThroughValue; });\r\n };\r\n ClientRequestContext.prototype.batch = function (batchBody) {\r\n var _this = this;\r\n if (this.m_batchMode !== 1) {\r\n return CoreUtility.Promise.reject(Utility.createRuntimeError(ErrorCodes.generalException, null, null));\r\n }\r\n if (this.m_explicitBatchInProgress) {\r\n return CoreUtility.Promise.reject(Utility.createRuntimeError(ErrorCodes.generalException, Utility._getResourceString(ResourceStrings.pendingBatchInProgress), null));\r\n }\r\n if (Utility.isNullOrUndefined(batchBody)) {\r\n return Utility._createPromiseFromResult(null);\r\n }\r\n this.m_explicitBatchInProgress = true;\r\n var previousRequest = this.m_pendingRequest;\r\n this.m_pendingRequest = new ClientRequest(this);\r\n var batchBodyResult;\r\n try {\r\n batchBodyResult = batchBody(this._rootObject, this);\r\n }\r\n catch (ex) {\r\n this.m_explicitBatchInProgress = false;\r\n this.m_pendingRequest = previousRequest;\r\n return CoreUtility.Promise.reject(ex);\r\n }\r\n var request;\r\n var batchBodyResultPromise;\r\n if (typeof (batchBodyResult) === \"object\" &&\r\n batchBodyResult &&\r\n typeof (batchBodyResult.then) === \"function\") {\r\n batchBodyResultPromise = Utility._createPromiseFromResult(null)\r\n .then(function () {\r\n return batchBodyResult;\r\n })\r\n .then(function (result) {\r\n _this.m_explicitBatchInProgress = false;\r\n request = _this.m_pendingRequest;\r\n _this.m_pendingRequest = previousRequest;\r\n return result;\r\n })\r\n .catch(function (ex) {\r\n _this.m_explicitBatchInProgress = false;\r\n request = _this.m_pendingRequest;\r\n _this.m_pendingRequest = previousRequest;\r\n return CoreUtility.Promise.reject(ex);\r\n });\r\n }\r\n else {\r\n this.m_explicitBatchInProgress = false;\r\n request = this.m_pendingRequest;\r\n this.m_pendingRequest = previousRequest;\r\n batchBodyResultPromise = Utility._createPromiseFromResult(batchBodyResult);\r\n }\r\n return batchBodyResultPromise\r\n .then(function (result) {\r\n return _this.ensureRequestUrlAndHeaderInfo()\r\n .then(function () {\r\n return _this.syncPrivate(request);\r\n })\r\n .then(function () {\r\n return result;\r\n });\r\n });\r\n };\r\n ClientRequestContext._run = function (ctxInitializer, runBody, numCleanupAttempts, retryDelay, onCleanupSuccess, onCleanupFailure) {\r\n if (numCleanupAttempts === void 0) { numCleanupAttempts = 3; }\r\n if (retryDelay === void 0) { retryDelay = 5000; }\r\n return ClientRequestContext._runCommon(\"run\", null, ctxInitializer, 0, runBody, numCleanupAttempts, retryDelay, onCleanupSuccess, onCleanupFailure);\r\n };\r\n ClientRequestContext.isRequestUrlAndHeaderInfo = function (value) {\r\n return (typeof (value) === \"object\" &&\r\n value !== null &&\r\n Object.getPrototypeOf(value) === Object.getPrototypeOf({}) &&\r\n !Utility.isNullOrUndefined(value.url));\r\n };\r\n ClientRequestContext.isRequestUrlAndHeaderInfoResolver = function (value) {\r\n return (typeof (value) === \"object\" &&\r\n value !== null &&\r\n typeof (value._resolveRequestUrlAndHeaderInfo) === \"function\");\r\n };\r\n ClientRequestContext._runBatch = function (functionName, receivedRunArgs, ctxInitializer, numCleanupAttempts, retryDelay, onCleanupSuccess, onCleanupFailure) {\r\n if (numCleanupAttempts === void 0) { numCleanupAttempts = 3; }\r\n if (retryDelay === void 0) { retryDelay = 5000; }\r\n return ClientRequestContext._runBatchCommon(0, functionName, receivedRunArgs, ctxInitializer, numCleanupAttempts, retryDelay, onCleanupSuccess, onCleanupFailure);\r\n };\r\n ClientRequestContext._runExplicitBatch = function (functionName, receivedRunArgs, ctxInitializer, numCleanupAttempts, retryDelay, onCleanupSuccess, onCleanupFailure) {\r\n if (numCleanupAttempts === void 0) { numCleanupAttempts = 3; }\r\n if (retryDelay === void 0) { retryDelay = 5000; }\r\n return ClientRequestContext._runBatchCommon(1, functionName, receivedRunArgs, ctxInitializer, numCleanupAttempts, retryDelay, onCleanupSuccess, onCleanupFailure);\r\n };\r\n ClientRequestContext._runBatchCommon = function (batchMode, functionName, receivedRunArgs, ctxInitializer, numCleanupAttempts, retryDelay, onCleanupSuccess, onCleanupFailure) {\r\n if (numCleanupAttempts === void 0) { numCleanupAttempts = 3; }\r\n if (retryDelay === void 0) { retryDelay = 5000; }\r\n var ctxRetriever;\r\n var batch;\r\n var requestInfo = null;\r\n var argOffset = 0;\r\n if (receivedRunArgs.length > 0 &&\r\n (typeof (receivedRunArgs[0]) === \"string\" ||\r\n ClientRequestContext.isRequestUrlAndHeaderInfo(receivedRunArgs[0]) ||\r\n ClientRequestContext.isRequestUrlAndHeaderInfoResolver(receivedRunArgs[0]))) {\r\n requestInfo = receivedRunArgs[0];\r\n argOffset = 1;\r\n }\r\n if (receivedRunArgs.length == argOffset + 1) {\r\n ctxRetriever = ctxInitializer;\r\n batch = receivedRunArgs[argOffset + 0];\r\n }\r\n else if (receivedRunArgs.length == argOffset + 2) {\r\n if (Utility.isNullOrUndefined(receivedRunArgs[argOffset + 0])) {\r\n ctxRetriever = ctxInitializer;\r\n }\r\n else if (receivedRunArgs[argOffset + 0] instanceof ClientObject) {\r\n ctxRetriever = function () { return receivedRunArgs[argOffset + 0].context; };\r\n }\r\n else if (receivedRunArgs[argOffset + 0] instanceof ClientRequestContext) {\r\n ctxRetriever = function () { return receivedRunArgs[argOffset + 0]; };\r\n }\r\n else if (Array.isArray(receivedRunArgs[argOffset + 0])) {\r\n var array = receivedRunArgs[argOffset + 0];\r\n if (array.length == 0) {\r\n return ClientRequestContext.createErrorPromise(functionName);\r\n }\r\n for (var i = 0; i < array.length; i++) {\r\n if (!(array[i] instanceof ClientObject)) {\r\n return ClientRequestContext.createErrorPromise(functionName);\r\n }\r\n if (array[i].context != array[0].context) {\r\n return ClientRequestContext.createErrorPromise(functionName, ResourceStrings.invalidRequestContext);\r\n }\r\n }\r\n ctxRetriever = function () { return array[0].context; };\r\n }\r\n else {\r\n return ClientRequestContext.createErrorPromise(functionName);\r\n }\r\n batch = receivedRunArgs[argOffset + 1];\r\n }\r\n else {\r\n return ClientRequestContext.createErrorPromise(functionName);\r\n }\r\n return ClientRequestContext._runCommon(functionName, requestInfo, ctxRetriever, batchMode, batch, numCleanupAttempts, retryDelay, onCleanupSuccess, onCleanupFailure);\r\n };\r\n ClientRequestContext.createErrorPromise = function (functionName, code) {\r\n if (code === void 0) { code = ResourceStrings.invalidArgument; }\r\n return CoreUtility.Promise.reject(Utility.createRuntimeError(code, Utility._getResourceString(code), functionName));\r\n };\r\n ClientRequestContext._runCommon = function (functionName, requestInfo, ctxRetriever, batchMode, runBody, numCleanupAttempts, retryDelay, onCleanupSuccess, onCleanupFailure) {\r\n if (ClientRequestContext._overrideSession) {\r\n requestInfo = ClientRequestContext._overrideSession;\r\n }\r\n var starterPromise = new CoreUtility.Promise(function (resolve, reject) { resolve(); });\r\n var ctx;\r\n var succeeded = false;\r\n var resultOrError;\r\n var previousBatchMode;\r\n return starterPromise\r\n .then(function () {\r\n ctx = ctxRetriever(requestInfo);\r\n if (ctx._autoCleanup) {\r\n return new CoreUtility.Promise(function (resolve, reject) {\r\n ctx._onRunFinishedNotifiers.push(function () {\r\n ctx._autoCleanup = true;\r\n resolve();\r\n });\r\n });\r\n }\r\n else {\r\n ctx._autoCleanup = true;\r\n }\r\n })\r\n .then(function () {\r\n if (typeof runBody !== 'function') {\r\n return ClientRequestContext.createErrorPromise(functionName);\r\n }\r\n previousBatchMode = ctx.m_batchMode;\r\n ctx.m_batchMode = batchMode;\r\n var runBodyResult;\r\n if (batchMode == 1) {\r\n runBodyResult = runBody(ctx.batch.bind(ctx));\r\n }\r\n else {\r\n runBodyResult = runBody(ctx);\r\n }\r\n if (Utility.isNullOrUndefined(runBodyResult) || (typeof runBodyResult.then !== 'function')) {\r\n Utility.throwError(ResourceStrings.runMustReturnPromise);\r\n }\r\n return runBodyResult;\r\n })\r\n .then(function (runBodyResult) {\r\n if (batchMode === 1) {\r\n return runBodyResult;\r\n }\r\n else {\r\n return ctx.sync(runBodyResult);\r\n }\r\n })\r\n .then(function (result) {\r\n succeeded = true;\r\n resultOrError = result;\r\n })\r\n .catch(function (error) {\r\n resultOrError = error;\r\n })\r\n .then(function () {\r\n var itemsToRemove = ctx.trackedObjects._retrieveAndClearAutoCleanupList();\r\n ctx._autoCleanup = false;\r\n ctx.m_batchMode = previousBatchMode;\r\n for (var key in itemsToRemove) {\r\n itemsToRemove[key]._objectPath.isValid = false;\r\n }\r\n var cleanupCounter = 0;\r\n if (Utility._synchronousCleanup || ClientRequestContext.isRequestUrlAndHeaderInfoResolver(requestInfo)) {\r\n return attemptCleanup();\r\n }\r\n else {\r\n attemptCleanup();\r\n }\r\n function attemptCleanup() {\r\n cleanupCounter++;\r\n var savedPendingRequest = ctx.m_pendingRequest;\r\n var savedBatchMode = ctx.m_batchMode;\r\n var request = new ClientRequest(ctx);\r\n ctx.m_pendingRequest = request;\r\n ctx.m_batchMode = 0;\r\n try {\r\n for (var key in itemsToRemove) {\r\n ctx.trackedObjects.remove(itemsToRemove[key]);\r\n }\r\n }\r\n finally {\r\n ctx.m_batchMode = savedBatchMode;\r\n ctx.m_pendingRequest = savedPendingRequest;\r\n }\r\n return ctx.syncPrivate(request)\r\n .then(function () {\r\n if (onCleanupSuccess) {\r\n onCleanupSuccess(cleanupCounter);\r\n }\r\n })\r\n .catch(function () {\r\n if (onCleanupFailure) {\r\n onCleanupFailure(cleanupCounter);\r\n }\r\n if (cleanupCounter < numCleanupAttempts) {\r\n setTimeout(function () {\r\n attemptCleanup();\r\n }, retryDelay);\r\n }\r\n });\r\n }\r\n })\r\n .then(function () {\r\n if (ctx._onRunFinishedNotifiers && ctx._onRunFinishedNotifiers.length > 0) {\r\n var func = ctx._onRunFinishedNotifiers.shift();\r\n func();\r\n }\r\n if (succeeded) {\r\n return resultOrError;\r\n }\r\n else {\r\n throw resultOrError;\r\n }\r\n });\r\n };\r\n ClientRequestContext.prototype._nextId = function () {\r\n return ++this.m_nextId;\r\n };\r\n return ClientRequestContext;\r\n}());\r\nexports.ClientRequestContext = ClientRequestContext;\r\nvar ClientResult = (function () {\r\n function ClientResult(type) {\r\n this.m_type = type;\r\n }\r\n Object.defineProperty(ClientResult.prototype, \"value\", {\r\n get: function () {\r\n if (!this.m_isLoaded) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.valueNotLoaded,\r\n message: Utility._getResourceString(ResourceStrings.valueNotLoaded),\r\n debugInfo: {\r\n errorLocation: \"clientResult.value\"\r\n }\r\n });\r\n }\r\n return this.m_value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ClientResult.prototype._handleResult = function (value) {\r\n this.m_isLoaded = true;\r\n if (typeof (value) === \"object\" && value && value._IsNull) {\r\n return;\r\n }\r\n if (this.m_type === 1) {\r\n this.m_value = Utility.adjustToDateTime(value);\r\n }\r\n else {\r\n this.m_value = value;\r\n }\r\n };\r\n return ClientResult;\r\n}());\r\nexports.ClientResult = ClientResult;\r\nvar RetrieveResultImpl = (function () {\r\n function RetrieveResultImpl(m_proxy, m_shouldPolyfill) {\r\n this.m_proxy = m_proxy;\r\n this.m_shouldPolyfill = m_shouldPolyfill;\r\n var scalarPropertyNames = m_proxy[Constants.scalarPropertyNames];\r\n var navigationPropertyNames = m_proxy[Constants.navigationPropertyNames];\r\n var typeName = m_proxy[Constants.className];\r\n var isCollection = m_proxy[Constants.isCollection];\r\n if (scalarPropertyNames) {\r\n for (var i = 0; i < scalarPropertyNames.length; i++) {\r\n Utility.definePropertyThrowUnloadedException(this, typeName, scalarPropertyNames[i]);\r\n }\r\n }\r\n if (navigationPropertyNames) {\r\n for (var i = 0; i < navigationPropertyNames.length; i++) {\r\n Utility.definePropertyThrowUnloadedException(this, typeName, navigationPropertyNames[i]);\r\n }\r\n }\r\n if (isCollection) {\r\n Utility.definePropertyThrowUnloadedException(this, typeName, Constants.itemsLowerCase);\r\n }\r\n }\r\n Object.defineProperty(RetrieveResultImpl.prototype, \"$proxy\", {\r\n get: function () {\r\n return this.m_proxy;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(RetrieveResultImpl.prototype, \"$isNullObject\", {\r\n get: function () {\r\n if (!this.m_isLoaded) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.valueNotLoaded,\r\n message: Utility._getResourceString(ResourceStrings.valueNotLoaded),\r\n debugInfo: {\r\n errorLocation: \"retrieveResult.$isNullObject\"\r\n }\r\n });\r\n }\r\n return this.m_isNullObject;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n RetrieveResultImpl.prototype.toJSON = function () {\r\n if (!this.m_isLoaded) {\r\n return undefined;\r\n }\r\n if (this.m_isNullObject) {\r\n return null;\r\n }\r\n if (Utility.isUndefined(this.m_json)) {\r\n this.m_json = this.purifyJson(this.m_value);\r\n }\r\n return this.m_json;\r\n };\r\n RetrieveResultImpl.prototype.toString = function () {\r\n return JSON.stringify(this.toJSON());\r\n };\r\n RetrieveResultImpl.prototype._handleResult = function (value) {\r\n this.m_isLoaded = true;\r\n if (value === null || typeof (value) === \"object\" && value && value._IsNull) {\r\n this.m_isNullObject = true;\r\n value = null;\r\n }\r\n else {\r\n this.m_isNullObject = false;\r\n }\r\n if (this.m_shouldPolyfill) {\r\n value = this.changePropertyNameToCamelLowerCase(value);\r\n }\r\n this.m_value = value;\r\n this.m_proxy._handleRetrieveResult(value, this);\r\n };\r\n RetrieveResultImpl.prototype.changePropertyNameToCamelLowerCase = function (value) {\r\n var charCodeUnderscore = 95;\r\n if (Array.isArray(value)) {\r\n var ret = [];\r\n for (var i = 0; i < value.length; i++) {\r\n ret.push(this.changePropertyNameToCamelLowerCase(value[i]));\r\n }\r\n return ret;\r\n }\r\n else if (typeof (value) === \"object\" && value !== null) {\r\n var ret = {};\r\n for (var key in value) {\r\n var propValue = value[key];\r\n if (key === Constants.items) {\r\n ret = {};\r\n ret[Constants.itemsLowerCase] = this.changePropertyNameToCamelLowerCase(propValue);\r\n break;\r\n }\r\n else {\r\n var propName = Utility._toCamelLowerCase(key);\r\n ret[propName] = this.changePropertyNameToCamelLowerCase(propValue);\r\n }\r\n }\r\n return ret;\r\n }\r\n else {\r\n return value;\r\n }\r\n };\r\n RetrieveResultImpl.prototype.purifyJson = function (value) {\r\n var charCodeUnderscore = 95;\r\n if (Array.isArray(value)) {\r\n var ret = [];\r\n for (var i = 0; i < value.length; i++) {\r\n ret.push(this.purifyJson(value[i]));\r\n }\r\n return ret;\r\n }\r\n else if (typeof (value) === \"object\" && value !== null) {\r\n var ret = {};\r\n for (var key in value) {\r\n if (key.charCodeAt(0) !== charCodeUnderscore) {\r\n var propValue = value[key];\r\n if (typeof (propValue) === \"object\" &&\r\n propValue !== null &&\r\n Array.isArray(propValue[\"items\"])) {\r\n propValue = propValue[\"items\"];\r\n }\r\n ret[key] = this.purifyJson(propValue);\r\n }\r\n }\r\n return ret;\r\n }\r\n else {\r\n return value;\r\n }\r\n };\r\n return RetrieveResultImpl;\r\n}());\r\nexports.RetrieveResultImpl = RetrieveResultImpl;\r\nvar Constants = (function () {\r\n function Constants() {\r\n }\r\n Constants.flags = \"flags\";\r\n Constants.getItemAt = \"GetItemAt\";\r\n Constants.id = \"Id\";\r\n Constants.idLowerCase = \"id\";\r\n Constants.idPrivate = \"_Id\";\r\n Constants.index = \"_Index\";\r\n Constants.items = \"_Items\";\r\n Constants.iterativeExecutor = \"IterativeExecutor\";\r\n Constants.localDocument = \"http://document.localhost/\";\r\n Constants.localDocumentApiPrefix = \"http://document.localhost/_api/\";\r\n Constants.keepReference = \"_KeepReference\";\r\n Constants.objectPathIdPrivate = \"_ObjectPathId\";\r\n Constants.processQuery = \"ProcessQuery\";\r\n Constants.referenceId = \"_ReferenceId\";\r\n Constants.isTracked = \"_IsTracked\";\r\n Constants.sourceLibHeader = \"SdkVersion\";\r\n Constants.sessionContext = \"sc\";\r\n Constants.embeddingPageOrigin = \"EmbeddingPageOrigin\";\r\n Constants.embeddingPageSessionInfo = \"EmbeddingPageSessionInfo\";\r\n Constants.eventMessageCategory = 65536;\r\n Constants.eventWorkbookId = \"Workbook\";\r\n Constants.eventSourceRemote = \"Remote\";\r\n Constants.itemsLowerCase = \"items\";\r\n Constants.proxy = \"$proxy\";\r\n Constants.scalarPropertyNames = \"_scalarPropertyNames\";\r\n Constants.navigationPropertyNames = \"_navigationPropertyNames\";\r\n Constants.className = \"_className\";\r\n Constants.isCollection = \"_isCollection\";\r\n Constants.scalarPropertyUpdateable = \"_scalarPropertyUpdateable\";\r\n Constants.collectionPropertyPath = \"_collectionPropertyPath\";\r\n Constants.objectPathInfoDoNotKeepReferenceFieldName = \"D\";\r\n return Constants;\r\n}());\r\nexports.Constants = Constants;\r\nvar CoreUtility = (function () {\r\n function CoreUtility() {\r\n }\r\n Object.defineProperty(CoreUtility, \"Promise\", {\r\n get: function () {\r\n if (typeof exports.Promise !== \"undefined\") {\r\n return exports.Promise;\r\n }\r\n if (typeof Office !== \"undefined\") {\r\n if (Office.Promise) {\r\n return Office.Promise;\r\n }\r\n }\r\n if (typeof OfficeExtension !== \"undefined\") {\r\n if (OfficeExtension.Promise) {\r\n return OfficeExtension.Promise;\r\n }\r\n }\r\n throw new exports.Error(\"No Promise implementation found\");\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return CoreUtility;\r\n}());\r\nexports.CoreUtility = CoreUtility;\r\nvar versionToken = 1;\r\nvar internalConfiguration = {\r\n invokeRequestModifier: function (request) {\r\n request.DdaMethod.Version = versionToken;\r\n return request;\r\n },\r\n invokeResponseModifier: function (args) {\r\n versionToken = args.Version;\r\n if (args.Error) {\r\n args.error = {};\r\n args.error.Code = args.Error;\r\n }\r\n return args;\r\n }\r\n};\r\nvar EmbeddedApiStatus;\r\n(function (EmbeddedApiStatus) {\r\n EmbeddedApiStatus[EmbeddedApiStatus[\"Success\"] = 0] = \"Success\";\r\n EmbeddedApiStatus[EmbeddedApiStatus[\"Timeout\"] = 1] = \"Timeout\";\r\n EmbeddedApiStatus[EmbeddedApiStatus[\"InternalError\"] = 5001] = \"InternalError\";\r\n})(EmbeddedApiStatus || (EmbeddedApiStatus = {}));\r\nvar CommunicationConstants;\r\n(function (CommunicationConstants) {\r\n CommunicationConstants.SendingId = \"sId\";\r\n CommunicationConstants.RespondingId = \"rId\";\r\n CommunicationConstants.CommandKey = \"command\";\r\n CommunicationConstants.SessionInfoKey = \"sessionInfo\";\r\n CommunicationConstants.ParamsKey = \"params\";\r\n CommunicationConstants.ApiReadyCommand = \"apiready\";\r\n CommunicationConstants.ExecuteMethodCommand = \"executeMethod\";\r\n CommunicationConstants.GetAppContextCommand = \"getAppContext\";\r\n CommunicationConstants.RegisterEventCommand = \"registerEvent\";\r\n CommunicationConstants.UnregisterEventCommand = \"unregisterEvent\";\r\n CommunicationConstants.FireEventCommand = \"fireEvent\";\r\n})(CommunicationConstants || (CommunicationConstants = {}));\r\nvar EmbeddedSession = (function (_super) {\r\n __extends(EmbeddedSession, _super);\r\n function EmbeddedSession(url, options) {\r\n var _this = _super.call(this) || this;\r\n _this.m_chosenWindow = null;\r\n _this.m_chosenOrigin = null;\r\n _this.m_enabled = true;\r\n _this.m_onMessageHandler = _this._onMessage.bind(_this);\r\n _this.m_callbackList = {};\r\n _this.m_id = 0;\r\n _this.m_timeoutId = -1;\r\n _this.m_appContext = null;\r\n _this.m_url = url;\r\n _this.m_options = options;\r\n if (!_this.m_options) {\r\n _this.m_options = { sessionKey: Math.random().toString() };\r\n }\r\n if (!_this.m_options.sessionKey) {\r\n _this.m_options.sessionKey = Math.random().toString();\r\n }\r\n if (!_this.m_options.container) {\r\n _this.m_options.container = document.body;\r\n }\r\n if (!_this.m_options.timeoutInMilliseconds) {\r\n _this.m_options.timeoutInMilliseconds = 60000;\r\n }\r\n if (!_this.m_options.height) {\r\n _this.m_options.height = \"400px\";\r\n }\r\n if (!_this.m_options.width) {\r\n _this.m_options.width = \"100%\";\r\n }\r\n if (!(_this.m_options.webApplication && _this.m_options.webApplication.accessToken && _this.m_options.webApplication.accessTokenTtl)) {\r\n _this.m_options.webApplication = null;\r\n }\r\n return _this;\r\n }\r\n EmbeddedSession.prototype._getIFrameSrc = function () {\r\n var origin = window.location.protocol + \"//\" + window.location.host;\r\n var toAppend = Constants.embeddingPageOrigin + \"=\" + encodeURIComponent(origin) + \"&\" + Constants.embeddingPageSessionInfo + \"=\" + encodeURIComponent(this.m_options.sessionKey);\r\n var useHash = false;\r\n if (this.m_url.toLowerCase().indexOf(\"/_layouts/preauth.aspx\") > 0 ||\r\n this.m_url.toLowerCase().indexOf(\"/_layouts/15/preauth.aspx\") > 0) {\r\n useHash = true;\r\n }\r\n var a = document.createElement(\"a\");\r\n a.href = this.m_url;\r\n if (this.m_options.webApplication) {\r\n var toAppendWAC = Constants.embeddingPageOrigin + \"=\" + origin + \"&\" + Constants.embeddingPageSessionInfo + \"=\" + this.m_options.sessionKey;\r\n if (a.search.length === 0 || a.search === \"?\") {\r\n a.search = \"?\" + Constants.sessionContext + \"=\" + encodeURIComponent(toAppendWAC);\r\n }\r\n else {\r\n a.search = a.search + \"&\" + Constants.sessionContext + \"=\" + encodeURIComponent(toAppendWAC);\r\n }\r\n }\r\n else if (useHash) {\r\n if (a.hash.length === 0 || a.hash === \"#\") {\r\n a.hash = \"#\" + toAppend;\r\n }\r\n else {\r\n a.hash = a.hash + \"&\" + toAppend;\r\n }\r\n }\r\n else {\r\n if (a.search.length === 0 || a.search === \"?\") {\r\n a.search = \"?\" + toAppend;\r\n }\r\n else {\r\n a.search = a.search + \"&\" + toAppend;\r\n }\r\n }\r\n var iframeSrc = a.href;\r\n return iframeSrc;\r\n };\r\n EmbeddedSession.prototype.init = function () {\r\n var _this = this;\r\n window.addEventListener(\"message\", this.m_onMessageHandler);\r\n var iframeSrc = this._getIFrameSrc();\r\n return new CoreUtility.Promise(function (resolve, reject) {\r\n var iframeElement = document.createElement(\"iframe\");\r\n if (_this.m_options.id) {\r\n iframeElement.id = _this.m_options.id;\r\n iframeElement.name = _this.m_options.id;\r\n }\r\n iframeElement.style.height = _this.m_options.height;\r\n iframeElement.style.width = _this.m_options.width;\r\n if (!_this.m_options.webApplication) {\r\n iframeElement.src = iframeSrc;\r\n _this.m_options.container.appendChild(iframeElement);\r\n }\r\n else {\r\n var webApplicationForm = document.createElement('form');\r\n webApplicationForm.setAttribute(\"action\", iframeSrc);\r\n webApplicationForm.setAttribute(\"method\", \"post\");\r\n webApplicationForm.setAttribute(\"target\", iframeElement.name);\r\n _this.m_options.container.appendChild(webApplicationForm);\r\n var token_input = document.createElement('input');\r\n token_input.setAttribute(\"type\", \"hidden\");\r\n token_input.setAttribute(\"name\", \"access_token\");\r\n token_input.setAttribute(\"value\", _this.m_options.webApplication.accessToken);\r\n webApplicationForm.appendChild(token_input);\r\n var token_ttl_input = document.createElement('input');\r\n token_ttl_input.setAttribute(\"type\", \"hidden\");\r\n token_ttl_input.setAttribute(\"name\", \"access_token_ttl\");\r\n token_ttl_input.setAttribute(\"value\", _this.m_options.webApplication.accessTokenTtl);\r\n webApplicationForm.appendChild(token_ttl_input);\r\n _this.m_options.container.appendChild(iframeElement);\r\n webApplicationForm.submit();\r\n }\r\n _this.m_timeoutId = setTimeout(function () {\r\n _this.close();\r\n var err = Utility.createRuntimeError(ErrorCodes.timeout, Utility._getResourceString(ResourceStrings.timeout), \"EmbeddedSession.init\");\r\n reject(err);\r\n }, _this.m_options.timeoutInMilliseconds);\r\n _this.m_promiseResolver = resolve;\r\n });\r\n };\r\n EmbeddedSession.prototype._invoke = function (method, callback, params) {\r\n if (!this.m_enabled) {\r\n callback(EmbeddedApiStatus.InternalError, null);\r\n return;\r\n }\r\n if (internalConfiguration.invokeRequestModifier) {\r\n params = internalConfiguration.invokeRequestModifier(params);\r\n }\r\n this._sendMessageWithCallback(this.m_id++, method, params, function (args) {\r\n if (internalConfiguration.invokeResponseModifier) {\r\n args = internalConfiguration.invokeResponseModifier(args);\r\n }\r\n var errorCode = args[\"Error\"];\r\n delete args[\"Error\"];\r\n callback(errorCode || EmbeddedApiStatus.Success, args);\r\n });\r\n };\r\n EmbeddedSession.prototype.close = function () {\r\n window.removeEventListener(\"message\", this.m_onMessageHandler);\r\n window.clearTimeout(this.m_timeoutId);\r\n this.m_enabled = false;\r\n };\r\n Object.defineProperty(EmbeddedSession.prototype, \"eventRegistration\", {\r\n get: function () {\r\n if (!this.m_sessionEventManager) {\r\n this.m_sessionEventManager = new EventRegistration(this._registerEventImpl.bind(this), this._unregisterEventImpl.bind(this));\r\n }\r\n return this.m_sessionEventManager;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n EmbeddedSession.prototype._createRequestExecutorOrNull = function () {\r\n return new EmbeddedRequestExecutor(this);\r\n };\r\n EmbeddedSession.prototype._resolveRequestUrlAndHeaderInfo = function () {\r\n return Utility._createPromiseFromResult(null);\r\n };\r\n EmbeddedSession.prototype._registerEventImpl = function (eventId, targetId) {\r\n var _this = this;\r\n return new CoreUtility.Promise(function (resolve, reject) {\r\n _this._sendMessageWithCallback(_this.m_id++, CommunicationConstants.RegisterEventCommand, { EventId: eventId, TargetId: targetId }, function () {\r\n resolve(null);\r\n });\r\n });\r\n };\r\n EmbeddedSession.prototype._unregisterEventImpl = function (eventId, targetId) {\r\n var _this = this;\r\n return new CoreUtility.Promise(function (resolve, reject) {\r\n _this._sendMessageWithCallback(_this.m_id++, CommunicationConstants.UnregisterEventCommand, { EventId: eventId, TargetId: targetId }, function () {\r\n resolve();\r\n });\r\n });\r\n };\r\n EmbeddedSession.prototype._onMessage = function (event) {\r\n var _this = this;\r\n if (!this.m_enabled) {\r\n return;\r\n }\r\n if (this.m_chosenWindow\r\n && (this.m_chosenWindow !== event.source || this.m_chosenOrigin !== event.origin)) {\r\n return;\r\n }\r\n var eventData = event.data;\r\n if (eventData && eventData[CommunicationConstants.CommandKey] === CommunicationConstants.ApiReadyCommand) {\r\n if (!this.m_chosenWindow\r\n && this._isValidDescendant(event.source)\r\n && eventData[CommunicationConstants.SessionInfoKey] === this.m_options.sessionKey) {\r\n this.m_chosenWindow = event.source;\r\n this.m_chosenOrigin = event.origin;\r\n this._sendMessageWithCallback(this.m_id++, CommunicationConstants.GetAppContextCommand, null, function (appContext) {\r\n _this._setupContext(appContext);\r\n window.clearTimeout(_this.m_timeoutId);\r\n _this.m_promiseResolver();\r\n });\r\n }\r\n return;\r\n }\r\n if (eventData && eventData[CommunicationConstants.CommandKey] === CommunicationConstants.FireEventCommand) {\r\n var msg = eventData[CommunicationConstants.ParamsKey];\r\n var eventId = msg[\"EventId\"];\r\n var targetId = msg[\"TargetId\"];\r\n var data = msg[\"Data\"];\r\n if (this.m_sessionEventManager) {\r\n var handlers = this.m_sessionEventManager.getHandlers(eventId, targetId);\r\n for (var i = 0; i < handlers.length; i++) {\r\n handlers[i](data);\r\n }\r\n }\r\n return;\r\n }\r\n if (eventData && eventData.hasOwnProperty(CommunicationConstants.RespondingId)) {\r\n var rId = eventData[CommunicationConstants.RespondingId];\r\n var callback = this.m_callbackList[rId];\r\n if (typeof callback === \"function\") {\r\n callback(eventData[CommunicationConstants.ParamsKey]);\r\n }\r\n delete this.m_callbackList[rId];\r\n }\r\n };\r\n EmbeddedSession.prototype._sendMessageWithCallback = function (id, command, data, callback) {\r\n this.m_callbackList[id] = callback;\r\n var message = {};\r\n message[CommunicationConstants.SendingId] = id;\r\n message[CommunicationConstants.CommandKey] = command;\r\n message[CommunicationConstants.ParamsKey] = data;\r\n this.m_chosenWindow.postMessage(JSON.stringify(message), this.m_chosenOrigin);\r\n };\r\n EmbeddedSession.prototype._isValidDescendant = function (wnd) {\r\n var container = this.m_options.container || document.body;\r\n function doesFrameWindow(containerWindow) {\r\n if (containerWindow === wnd) {\r\n return true;\r\n }\r\n for (var i = 0, len = containerWindow.frames.length; i < len; i++) {\r\n if (doesFrameWindow(containerWindow.frames[i])) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n var iframes = container.getElementsByTagName(\"iframe\");\r\n for (var i = 0, len = iframes.length; i < len; i++) {\r\n if (doesFrameWindow(iframes[i].contentWindow)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n EmbeddedSession.prototype._setupContext = function (appContext) {\r\n if (!(this.m_appContext = appContext)) {\r\n return;\r\n }\r\n };\r\n return EmbeddedSession;\r\n}(SessionBase));\r\nexports.EmbeddedSession = EmbeddedSession;\r\nvar EmbeddedRequestExecutor = (function () {\r\n function EmbeddedRequestExecutor(session) {\r\n this.m_session = session;\r\n }\r\n EmbeddedRequestExecutor.prototype.executeAsync = function (customData, requestFlags, requestMessage) {\r\n var _this = this;\r\n var messageSafearray = RichApiMessageUtility.buildMessageArrayForIRequestExecutor(customData, requestFlags, requestMessage, EmbeddedRequestExecutor.SourceLibHeaderValue);\r\n return new CoreUtility.Promise(function (resolve, reject) {\r\n _this.m_session._invoke(CommunicationConstants.ExecuteMethodCommand, function (status, result) {\r\n Utility.log(\"Response:\");\r\n Utility.log(JSON.stringify(result));\r\n var response;\r\n if (status == EmbeddedApiStatus.Success) {\r\n response = RichApiMessageUtility.buildResponseOnSuccess(RichApiMessageUtility.getResponseBodyFromSafeArray(result.Data), RichApiMessageUtility.getResponseHeadersFromSafeArray(result.Data));\r\n }\r\n else {\r\n response = RichApiMessageUtility.buildResponseOnError(result.error.Code, result.error.Message);\r\n }\r\n resolve(response);\r\n }, EmbeddedRequestExecutor._transformMessageArrayIntoParams(messageSafearray));\r\n });\r\n };\r\n EmbeddedRequestExecutor._transformMessageArrayIntoParams = function (msgArray) {\r\n return {\r\n ArrayData: msgArray,\r\n DdaMethod: {\r\n DispatchId: EmbeddedRequestExecutor.DispidExecuteRichApiRequestMethod\r\n }\r\n };\r\n };\r\n EmbeddedRequestExecutor.DispidExecuteRichApiRequestMethod = 93;\r\n EmbeddedRequestExecutor.SourceLibHeaderValue = \"Embedded\";\r\n return EmbeddedRequestExecutor;\r\n}());\r\nvar _Internal;\r\n(function (_Internal) {\r\n var RuntimeError = (function (_super) {\r\n __extends(RuntimeError, _super);\r\n function RuntimeError(error) {\r\n var _this = _super.call(this, (typeof error === \"string\") ? error : error.message) || this;\r\n Object.setPrototypeOf(_this, RuntimeError.prototype);\r\n _this.name = \"Error\";\r\n if (typeof error === \"string\") {\r\n _this.message = error;\r\n }\r\n else {\r\n _this.code = error.code;\r\n _this.message = error.message;\r\n _this.traceMessages = error.traceMessages || [];\r\n _this.innerError = error.innerError || null;\r\n _this.debugInfo = _this._createDebugInfo(error.debugInfo || {});\r\n }\r\n return _this;\r\n }\r\n RuntimeError.prototype.toString = function () {\r\n return this.code + ': ' + this.message;\r\n };\r\n RuntimeError.prototype._createDebugInfo = function (partialDebugInfo) {\r\n var debugInfo = {\r\n code: this.code,\r\n message: this.message,\r\n toString: function () {\r\n return JSON.stringify(this);\r\n }\r\n };\r\n for (var key in partialDebugInfo) {\r\n debugInfo[key] = partialDebugInfo[key];\r\n }\r\n if (this.innerError) {\r\n if (this.innerError instanceof _Internal.RuntimeError) {\r\n debugInfo.innerError = this.innerError.debugInfo;\r\n }\r\n else {\r\n debugInfo.innerError = this.innerError;\r\n }\r\n }\r\n return debugInfo;\r\n };\r\n RuntimeError._createInvalidArgError = function (error) {\r\n return new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidArgument,\r\n message: (Utility.isNullOrEmptyString(error.argumentName) ?\r\n Utility._getResourceString(ResourceStrings.invalidArgumentGeneric) :\r\n Utility._getResourceString(ResourceStrings.invalidArgument, error.argumentName)),\r\n debugInfo: error.errorLocation ? { errorLocation: error.errorLocation } : {},\r\n innerError: error.innerError\r\n });\r\n };\r\n return RuntimeError;\r\n }(Error));\r\n _Internal.RuntimeError = RuntimeError;\r\n})(_Internal = exports._Internal || (exports._Internal = {}));\r\nexports.Error = _Internal.RuntimeError;\r\nvar ErrorCodes = (function () {\r\n function ErrorCodes() {\r\n }\r\n ErrorCodes.accessDenied = \"AccessDenied\";\r\n ErrorCodes.generalException = \"GeneralException\";\r\n ErrorCodes.activityLimitReached = \"ActivityLimitReached\";\r\n ErrorCodes.invalidObjectPath = \"InvalidObjectPath\";\r\n ErrorCodes.propertyNotLoaded = \"PropertyNotLoaded\";\r\n ErrorCodes.valueNotLoaded = \"ValueNotLoaded\";\r\n ErrorCodes.invalidRequestContext = \"InvalidRequestContext\";\r\n ErrorCodes.invalidArgument = \"InvalidArgument\";\r\n ErrorCodes.runMustReturnPromise = \"RunMustReturnPromise\";\r\n ErrorCodes.cannotRegisterEvent = \"CannotRegisterEvent\";\r\n ErrorCodes.apiNotFound = \"ApiNotFound\";\r\n ErrorCodes.connectionFailure = \"ConnectionFailure\";\r\n ErrorCodes.timeout = \"Timeout\";\r\n ErrorCodes.invalidOrTimedOutSession = \"InvalidOrTimedOutSession\";\r\n ErrorCodes.cannotUpdateReadOnlyProperty = \"CannotUpdateReadOnlyProperty\";\r\n return ErrorCodes;\r\n}());\r\nexports.ErrorCodes = ErrorCodes;\r\nvar EventHandlers = (function () {\r\n function EventHandlers(context, parentObject, name, eventInfo) {\r\n var _this = this;\r\n this.m_id = context._nextId();\r\n this.m_context = context;\r\n this.m_name = name;\r\n this.m_handlers = [];\r\n this.m_registered = false;\r\n this.m_eventInfo = eventInfo;\r\n this.m_callback = function (args) {\r\n _this.m_eventInfo.eventArgsTransformFunc(args)\r\n .then(function (newArgs) { return _this.fireEvent(newArgs); });\r\n };\r\n }\r\n Object.defineProperty(EventHandlers.prototype, \"_registered\", {\r\n get: function () {\r\n return this.m_registered;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(EventHandlers.prototype, \"_id\", {\r\n get: function () {\r\n return this.m_id;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(EventHandlers.prototype, \"_handlers\", {\r\n get: function () {\r\n return this.m_handlers;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(EventHandlers.prototype, \"_context\", {\r\n get: function () {\r\n return this.m_context;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(EventHandlers.prototype, \"_callback\", {\r\n get: function () {\r\n return this.m_callback;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n EventHandlers.prototype.add = function (handler) {\r\n var action = ActionFactory.createTraceAction(this.m_context, null, false);\r\n this.m_context._pendingRequest._addPendingEventHandlerAction(this, { id: action.actionInfo.Id, handler: handler, operation: 0 });\r\n return new EventHandlerResult(this.m_context, this, handler);\r\n };\r\n EventHandlers.prototype.remove = function (handler) {\r\n var action = ActionFactory.createTraceAction(this.m_context, null, false);\r\n this.m_context._pendingRequest._addPendingEventHandlerAction(this, { id: action.actionInfo.Id, handler: handler, operation: 1 });\r\n };\r\n EventHandlers.prototype.removeAll = function () {\r\n var action = ActionFactory.createTraceAction(this.m_context, null, false);\r\n this.m_context._pendingRequest._addPendingEventHandlerAction(this, { id: action.actionInfo.Id, handler: null, operation: 2 });\r\n };\r\n EventHandlers.prototype._processRegistration = function (req) {\r\n var _this = this;\r\n var ret = Utility._createPromiseFromResult(null);\r\n var actions = req._getPendingEventHandlerActions(this);\r\n if (!actions) {\r\n return ret;\r\n }\r\n var handlersResult = [];\r\n for (var i = 0; i < this.m_handlers.length; i++) {\r\n handlersResult.push(this.m_handlers[i]);\r\n }\r\n var hasChange = false;\r\n for (var i = 0; i < actions.length; i++) {\r\n if (req._responseTraceIds[actions[i].id]) {\r\n hasChange = true;\r\n switch (actions[i].operation) {\r\n case 0:\r\n handlersResult.push(actions[i].handler);\r\n break;\r\n case 1:\r\n for (var index = handlersResult.length - 1; index >= 0; index--) {\r\n if (handlersResult[index] === actions[i].handler) {\r\n handlersResult.splice(index, 1);\r\n break;\r\n }\r\n }\r\n break;\r\n case 2:\r\n handlersResult = [];\r\n break;\r\n }\r\n }\r\n }\r\n if (hasChange) {\r\n if (!this.m_registered && handlersResult.length > 0) {\r\n ret = ret\r\n .then(function () { return _this.m_eventInfo.registerFunc(_this.m_callback); })\r\n .then(function () { return (_this.m_registered = true); });\r\n }\r\n else if (this.m_registered && handlersResult.length == 0) {\r\n ret = ret\r\n .then(function () { return _this.m_eventInfo.unregisterFunc(_this.m_callback); })\r\n .catch(function (ex) {\r\n Utility.log(\"Error when unregister event: \" + JSON.stringify(ex));\r\n })\r\n .then(function () { return (_this.m_registered = false); });\r\n }\r\n ret = ret\r\n .then(function () { return (_this.m_handlers = handlersResult); });\r\n }\r\n return ret;\r\n };\r\n EventHandlers.prototype.fireEvent = function (args) {\r\n var promises = [];\r\n for (var i = 0; i < this.m_handlers.length; i++) {\r\n var handler = this.m_handlers[i];\r\n var p = Utility._createPromiseFromResult(null)\r\n .then(this.createFireOneEventHandlerFunc(handler, args))\r\n .catch(function (ex) {\r\n Utility.log(\"Error when invoke handler: \" + JSON.stringify(ex));\r\n });\r\n promises.push(p);\r\n }\r\n CoreUtility.Promise.all(promises);\r\n };\r\n EventHandlers.prototype.createFireOneEventHandlerFunc = function (handler, args) {\r\n return function () { return handler(args); };\r\n };\r\n return EventHandlers;\r\n}());\r\nexports.EventHandlers = EventHandlers;\r\nvar EventHandlerResult = (function () {\r\n function EventHandlerResult(context, handlers, handler) {\r\n this.m_context = context;\r\n this.m_allHandlers = handlers;\r\n this.m_handler = handler;\r\n }\r\n Object.defineProperty(EventHandlerResult.prototype, \"context\", {\r\n get: function () {\r\n return this.m_context;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n EventHandlerResult.prototype.remove = function () {\r\n if (this.m_allHandlers && this.m_handler) {\r\n this.m_allHandlers.remove(this.m_handler);\r\n this.m_allHandlers = null;\r\n this.m_handler = null;\r\n }\r\n };\r\n return EventHandlerResult;\r\n}());\r\nexports.EventHandlerResult = EventHandlerResult;\r\n(function (_Internal) {\r\n var OfficeJsEventRegistration = (function () {\r\n function OfficeJsEventRegistration() {\r\n }\r\n OfficeJsEventRegistration.prototype.register = function (eventId, targetId, handler) {\r\n switch (eventId) {\r\n case 4:\r\n return Utility.promisify(function (callback) { return Office.context.document.bindings.getByIdAsync(targetId, callback); })\r\n .then(function (officeBinding) {\r\n return Utility.promisify(function (callback) { return officeBinding.addHandlerAsync(Office.EventType.BindingDataChanged, handler, callback); });\r\n });\r\n case 3:\r\n return Utility.promisify(function (callback) { return Office.context.document.bindings.getByIdAsync(targetId, callback); })\r\n .then(function (officeBinding) {\r\n return Utility.promisify(function (callback) { return officeBinding.addHandlerAsync(Office.EventType.BindingSelectionChanged, handler, callback); });\r\n });\r\n case 2:\r\n return Utility.promisify(function (callback) { return Office.context.document.addHandlerAsync(Office.EventType.DocumentSelectionChanged, handler, callback); });\r\n case 1:\r\n return Utility.promisify(function (callback) { return Office.context.document.settings.addHandlerAsync(Office.EventType.SettingsChanged, handler, callback); });\r\n case 5:\r\n return Utility.promisify(function (callback) { return OSF.DDA.RichApi.richApiMessageManager.addHandlerAsync(\"richApiMessage\", handler, callback); });\r\n case 13:\r\n return Utility.promisify(function (callback) { return Office.context.document.addHandlerAsync(Office.EventType.ObjectDeleted, handler, { id: targetId }, callback); });\r\n case 14:\r\n return Utility.promisify(function (callback) { return Office.context.document.addHandlerAsync(Office.EventType.ObjectSelectionChanged, handler, { id: targetId }, callback); });\r\n case 15:\r\n return Utility.promisify(function (callback) { return Office.context.document.addHandlerAsync(Office.EventType.ObjectDataChanged, handler, { id: targetId }, callback); });\r\n case 16:\r\n return Utility.promisify(function (callback) { return Office.context.document.addHandlerAsync(Office.EventType.ContentControlAdded, handler, { id: targetId }, callback); });\r\n default:\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"eventId\" });\r\n }\r\n };\r\n OfficeJsEventRegistration.prototype.unregister = function (eventId, targetId, handler) {\r\n switch (eventId) {\r\n case 4:\r\n return Utility.promisify(function (callback) { return Office.context.document.bindings.getByIdAsync(targetId, callback); })\r\n .then(function (officeBinding) {\r\n return Utility.promisify(function (callback) { return officeBinding.removeHandlerAsync(Office.EventType.BindingDataChanged, { handler: handler }, callback); });\r\n });\r\n case 3:\r\n return Utility.promisify(function (callback) { return Office.context.document.bindings.getByIdAsync(targetId, callback); })\r\n .then(function (officeBinding) {\r\n return Utility.promisify(function (callback) { return officeBinding.removeHandlerAsync(Office.EventType.BindingSelectionChanged, { handler: handler }, callback); });\r\n });\r\n case 2:\r\n return Utility.promisify(function (callback) { return Office.context.document.removeHandlerAsync(Office.EventType.DocumentSelectionChanged, { handler: handler }, callback); });\r\n case 1:\r\n return Utility.promisify(function (callback) { return Office.context.document.settings.removeHandlerAsync(Office.EventType.SettingsChanged, { handler: handler }, callback); });\r\n case 5:\r\n return Utility.promisify(function (callback) { return OSF.DDA.RichApi.richApiMessageManager.removeHandlerAsync(\"richApiMessage\", { handler: handler }, callback); });\r\n case 13:\r\n return Utility.promisify(function (callback) { return Office.context.document.removeHandlerAsync(Office.EventType.ObjectDeleted, { id: targetId, handler: handler }, callback); });\r\n case 14:\r\n return Utility.promisify(function (callback) { return Office.context.document.removeHandlerAsync(Office.EventType.ObjectSelectionChanged, { id: targetId, handler: handler }, callback); });\r\n case 15:\r\n return Utility.promisify(function (callback) { return Office.context.document.removeHandlerAsync(Office.EventType.ObjectDataChanged, { id: targetId, handler: handler }, callback); });\r\n case 16:\r\n return Utility.promisify(function (callback) { return Office.context.document.removeHandlerAsync(Office.EventType.ContentControlAdded, { id: targetId, handler: handler }, callback); });\r\n default:\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"eventId\" });\r\n }\r\n };\r\n return OfficeJsEventRegistration;\r\n }());\r\n _Internal.officeJsEventRegistration = new OfficeJsEventRegistration();\r\n})(_Internal = exports._Internal || (exports._Internal = {}));\r\nvar EventRegistration = (function () {\r\n function EventRegistration(registerEventImpl, unregisterEventImpl) {\r\n this.m_handlersByEventByTarget = {};\r\n this.m_registerEventImpl = registerEventImpl;\r\n this.m_unregisterEventImpl = unregisterEventImpl;\r\n }\r\n EventRegistration.prototype.getHandlers = function (eventId, targetId) {\r\n if (Utility.isNullOrUndefined(targetId)) {\r\n targetId = \"\";\r\n }\r\n var handlersById = this.m_handlersByEventByTarget[eventId];\r\n if (!handlersById) {\r\n handlersById = {};\r\n this.m_handlersByEventByTarget[eventId] = handlersById;\r\n }\r\n var handlers = handlersById[targetId];\r\n if (!handlers) {\r\n handlers = [];\r\n handlersById[targetId] = handlers;\r\n }\r\n return handlers;\r\n };\r\n EventRegistration.prototype.register = function (eventId, targetId, handler) {\r\n if (!handler) {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"handler\" });\r\n }\r\n var handlers = this.getHandlers(eventId, targetId);\r\n handlers.push(handler);\r\n if (handlers.length === 1) {\r\n return this.m_registerEventImpl(eventId, targetId);\r\n }\r\n return Utility._createPromiseFromResult(null);\r\n };\r\n EventRegistration.prototype.unregister = function (eventId, targetId, handler) {\r\n if (!handler) {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"handler\" });\r\n }\r\n var handlers = this.getHandlers(eventId, targetId);\r\n for (var index = handlers.length - 1; index >= 0; index--) {\r\n if (handlers[index] === handler) {\r\n handlers.splice(index, 1);\r\n break;\r\n }\r\n }\r\n if (handlers.length === 0) {\r\n return this.m_unregisterEventImpl(eventId, targetId);\r\n }\r\n return Utility._createPromiseFromResult(null);\r\n };\r\n return EventRegistration;\r\n}());\r\nexports.EventRegistration = EventRegistration;\r\nvar GenericEventRegistration = (function () {\r\n function GenericEventRegistration() {\r\n this.m_eventRegistration = new EventRegistration(this._registerEventImpl.bind(this), this._unregisterEventImpl.bind(this));\r\n this.m_richApiMessageHandler = this._handleRichApiMessage.bind(this);\r\n }\r\n GenericEventRegistration.prototype.ready = function () {\r\n var _this = this;\r\n if (!this.m_ready) {\r\n if (GenericEventRegistration._testReadyImpl) {\r\n this.m_ready = GenericEventRegistration._testReadyImpl()\r\n .then(function () {\r\n _this.m_isReady = true;\r\n });\r\n }\r\n else {\r\n this.m_ready = _Internal.officeJsEventRegistration.register(5, \"\", this.m_richApiMessageHandler)\r\n .then(function () {\r\n _this.m_isReady = true;\r\n });\r\n }\r\n }\r\n return this.m_ready;\r\n };\r\n Object.defineProperty(GenericEventRegistration.prototype, \"isReady\", {\r\n get: function () {\r\n return this.m_isReady;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n GenericEventRegistration.prototype.register = function (eventId, targetId, handler) {\r\n var _this = this;\r\n return this.ready()\r\n .then(function () { return _this.m_eventRegistration.register(eventId, targetId, handler); });\r\n };\r\n GenericEventRegistration.prototype.unregister = function (eventId, targetId, handler) {\r\n var _this = this;\r\n return this.ready()\r\n .then(function () { return _this.m_eventRegistration.unregister(eventId, targetId, handler); });\r\n };\r\n GenericEventRegistration.prototype._registerEventImpl = function (eventId, targetId) {\r\n return Utility._createPromiseFromResult(null);\r\n };\r\n GenericEventRegistration.prototype._unregisterEventImpl = function (eventId, targetId) {\r\n return Utility._createPromiseFromResult(null);\r\n };\r\n GenericEventRegistration.prototype._handleRichApiMessage = function (msg) {\r\n if (msg && msg.entries) {\r\n for (var entryIndex = 0; entryIndex < msg.entries.length; entryIndex++) {\r\n var entry = msg.entries[entryIndex];\r\n if (entry.messageCategory == Constants.eventMessageCategory) {\r\n if (Utility._logEnabled) {\r\n Utility.log(JSON.stringify(entry));\r\n }\r\n var funcs = this.m_eventRegistration.getHandlers(entry.messageType, entry.targetId);\r\n if (funcs.length > 0) {\r\n var arg = JSON.parse(entry.message);\r\n if (entry.isRemoteOverride) {\r\n arg.source = Constants.eventSourceRemote;\r\n }\r\n for (var i = 0; i < funcs.length; i++) {\r\n funcs[i](arg);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n GenericEventRegistration.getGenericEventRegistration = function () {\r\n if (!GenericEventRegistration.s_genericEventRegistration) {\r\n GenericEventRegistration.s_genericEventRegistration = new GenericEventRegistration();\r\n }\r\n return GenericEventRegistration.s_genericEventRegistration;\r\n };\r\n GenericEventRegistration.richApiMessageEventCategory = 65536;\r\n return GenericEventRegistration;\r\n}());\r\nfunction _testSetRichApiMessageReadyImpl(impl) {\r\n GenericEventRegistration._testReadyImpl = impl;\r\n}\r\nexports._testSetRichApiMessageReadyImpl = _testSetRichApiMessageReadyImpl;\r\nfunction _testTriggerRichApiMessageEvent(msg) {\r\n GenericEventRegistration.getGenericEventRegistration()._handleRichApiMessage(msg);\r\n}\r\nexports._testTriggerRichApiMessageEvent = _testTriggerRichApiMessageEvent;\r\nvar GenericEventHandlers = (function (_super) {\r\n __extends(GenericEventHandlers, _super);\r\n function GenericEventHandlers(context, parentObject, name, eventInfo) {\r\n var _this = _super.call(this, context, parentObject, name, eventInfo) || this;\r\n _this.m_genericEventInfo = eventInfo;\r\n return _this;\r\n }\r\n GenericEventHandlers.prototype.add = function (handler) {\r\n var _this = this;\r\n if ((this._handlers.length == 0) && this.m_genericEventInfo.registerFunc) {\r\n this.m_genericEventInfo.registerFunc();\r\n }\r\n if (!GenericEventRegistration.getGenericEventRegistration().isReady) {\r\n this._context._pendingRequest._addPreSyncPromise(GenericEventRegistration.getGenericEventRegistration().ready());\r\n }\r\n ActionFactory.createTraceMarkerForCallback(this._context, function () {\r\n _this._handlers.push(handler);\r\n if (_this._handlers.length == 1) {\r\n GenericEventRegistration.getGenericEventRegistration().register(_this.m_genericEventInfo.eventType, _this.m_genericEventInfo.getTargetIdFunc(), _this._callback);\r\n }\r\n });\r\n return new EventHandlerResult(this._context, this, handler);\r\n };\r\n GenericEventHandlers.prototype.remove = function (handler) {\r\n var _this = this;\r\n if ((this._handlers.length == 1) && this.m_genericEventInfo.unregisterFunc) {\r\n this.m_genericEventInfo.unregisterFunc();\r\n }\r\n ActionFactory.createTraceMarkerForCallback(this._context, function () {\r\n var handlers = _this._handlers;\r\n for (var index = handlers.length - 1; index >= 0; index--) {\r\n if (handlers[index] === handler) {\r\n handlers.splice(index, 1);\r\n break;\r\n }\r\n }\r\n if (handlers.length == 0) {\r\n GenericEventRegistration.getGenericEventRegistration().unregister(_this.m_genericEventInfo.eventType, _this.m_genericEventInfo.getTargetIdFunc(), _this._callback);\r\n }\r\n });\r\n };\r\n GenericEventHandlers.prototype.removeAll = function () {\r\n };\r\n return GenericEventHandlers;\r\n}(EventHandlers));\r\nexports.GenericEventHandlers = GenericEventHandlers;\r\nvar HttpRequestExecutor = (function () {\r\n function HttpRequestExecutor() {\r\n }\r\n HttpRequestExecutor.prototype.executeAsync = function (customData, requestFlags, requestMessage) {\r\n var requestMessageText = JSON.stringify(requestMessage.Body);\r\n var url = requestMessage.Url;\r\n if (url.charAt(url.length - 1) != \"/\") {\r\n url = url + \"/\";\r\n }\r\n url = url + Constants.processQuery;\r\n url = url + \"?\" + Constants.flags + \"=\" + requestFlags.toString();\r\n var requestInfo = {\r\n method: \"POST\",\r\n url: url,\r\n headers: {},\r\n body: requestMessageText\r\n };\r\n requestInfo.headers[Constants.sourceLibHeader] = HttpRequestExecutor.SourceLibHeaderValue;\r\n requestInfo.headers[\"CONTENT-TYPE\"] = \"application/json\";\r\n if (requestMessage.Headers) {\r\n for (var key in requestMessage.Headers) {\r\n requestInfo.headers[key] = requestMessage.Headers[key];\r\n }\r\n }\r\n return HttpUtility.sendRequest(requestInfo)\r\n .then(function (responseInfo) {\r\n var response;\r\n if (responseInfo.statusCode === 200) {\r\n response = { ErrorCode: null, ErrorMessage: null, Headers: responseInfo.headers, Body: JSON.parse(responseInfo.body) };\r\n }\r\n else {\r\n Utility.log(\"Error Response:\" + responseInfo.body);\r\n var error = Utility._parseErrorResponse(responseInfo);\r\n response = {\r\n ErrorCode: error.errorCode,\r\n ErrorMessage: error.errorMessage,\r\n Headers: responseInfo.headers,\r\n Body: null\r\n };\r\n }\r\n return response;\r\n });\r\n };\r\n HttpRequestExecutor.SourceLibHeaderValue = \"officejs-rest\";\r\n return HttpRequestExecutor;\r\n}());\r\nexports.HttpRequestExecutor = HttpRequestExecutor;\r\nvar HttpUtility = (function () {\r\n function HttpUtility() {\r\n }\r\n HttpUtility.setCustomSendRequestFunc = function (func) {\r\n HttpUtility.s_customSendRequestFunc = func;\r\n };\r\n HttpUtility.xhrSendRequestFunc = function (request) {\r\n return new CoreUtility.Promise(function (resolve, reject) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open(request.method, request.url);\r\n xhr.onload = function () {\r\n var resp = {\r\n statusCode: xhr.status,\r\n headers: Utility._parseHttpResponseHeaders(xhr.getAllResponseHeaders()),\r\n body: xhr.responseText\r\n };\r\n resolve(resp);\r\n };\r\n xhr.onerror = function () {\r\n reject(new _Internal.RuntimeError({\r\n code: ErrorCodes.connectionFailure,\r\n message: Utility._getResourceString(ResourceStrings.connectionFailureWithStatus, xhr.statusText)\r\n }));\r\n };\r\n if (request.headers) {\r\n for (var key in request.headers) {\r\n xhr.setRequestHeader(key, request.headers[key]);\r\n }\r\n }\r\n xhr.send(request.body);\r\n });\r\n };\r\n HttpUtility.sendRequest = function (request) {\r\n HttpUtility.validateAndNormalizeRequest(request);\r\n var func = HttpUtility.s_customSendRequestFunc;\r\n if (!func) {\r\n func = HttpUtility.xhrSendRequestFunc;\r\n }\r\n return func(request);\r\n };\r\n HttpUtility.setCustomSendLocalDocumentRequestFunc = function (func) {\r\n HttpUtility.s_customSendLocalDocumentRequestFunc = func;\r\n };\r\n HttpUtility.sendLocalDocumentRequest = function (request) {\r\n HttpUtility.validateAndNormalizeRequest(request);\r\n var func;\r\n func = HttpUtility.s_customSendLocalDocumentRequestFunc || HttpUtility.officeJsSendLocalDocumentRequestFunc;\r\n return func(request);\r\n };\r\n HttpUtility.officeJsSendLocalDocumentRequestFunc = function (request) {\r\n request = Utility._validateLocalDocumentRequest(request);\r\n var requestSafeArray = Utility._buildRequestMessageSafeArray(request);\r\n return new CoreUtility.Promise(function (resolve, reject) {\r\n OSF.DDA.RichApi.executeRichApiRequestAsync(requestSafeArray, function (asyncResult) {\r\n var response;\r\n if (asyncResult.status == \"succeeded\") {\r\n response =\r\n {\r\n statusCode: RichApiMessageUtility.getResponseStatusCode(asyncResult),\r\n headers: RichApiMessageUtility.getResponseHeaders(asyncResult),\r\n body: RichApiMessageUtility.getResponseBody(asyncResult)\r\n };\r\n }\r\n else {\r\n response = RichApiMessageUtility.buildHttpResponseFromOfficeJsError(asyncResult.error.code, asyncResult.error.message);\r\n }\r\n Utility.log(JSON.stringify(response));\r\n resolve(response);\r\n });\r\n });\r\n };\r\n HttpUtility.validateAndNormalizeRequest = function (request) {\r\n if (Utility.isNullOrUndefined(request)) {\r\n throw _Internal.RuntimeError._createInvalidArgError({\r\n argumentName: \"request\"\r\n });\r\n }\r\n if (Utility.isNullOrEmptyString(request.method)) {\r\n request.method = \"GET\";\r\n }\r\n request.method = request.method.toUpperCase();\r\n };\r\n HttpUtility.logRequest = function (request) {\r\n if (Utility._logEnabled) {\r\n Utility.log(\"---HTTP Request---\");\r\n Utility.log(request.method + \" \" + request.url);\r\n if (request.headers) {\r\n for (var key in request.headers) {\r\n Utility.log(key + \": \" + request.headers[key]);\r\n }\r\n }\r\n if (HttpUtility._logBody) {\r\n Utility.log(request.body);\r\n }\r\n }\r\n };\r\n HttpUtility.logResponse = function (response) {\r\n if (Utility._logEnabled) {\r\n Utility.log(\"---HTTP Response---\");\r\n Utility.log(\"\" + response.statusCode);\r\n if (response.headers) {\r\n for (var key in response.headers) {\r\n Utility.log(key + \": \" + response.headers[key]);\r\n }\r\n }\r\n if (HttpUtility._logBody) {\r\n Utility.log(response.body);\r\n }\r\n }\r\n };\r\n HttpUtility._logBody = false;\r\n return HttpUtility;\r\n}());\r\nexports.HttpUtility = HttpUtility;\r\nvar InstantiateActionResultHandler = (function () {\r\n function InstantiateActionResultHandler(clientObject) {\r\n this.m_clientObject = clientObject;\r\n }\r\n InstantiateActionResultHandler.prototype._handleResult = function (value) {\r\n this.m_clientObject._handleIdResult(value);\r\n };\r\n return InstantiateActionResultHandler;\r\n}());\r\nexports.InstantiateActionResultHandler = InstantiateActionResultHandler;\r\n;\r\nvar HostBridgeRequestExecutor = (function () {\r\n function HostBridgeRequestExecutor(session) {\r\n this.m_session = session;\r\n }\r\n HostBridgeRequestExecutor.prototype.executeAsync = function (customData, requestFlags, requestMessage) {\r\n var httpRequestInfo = {\r\n url: Constants.processQuery,\r\n method: \"POST\",\r\n headers: requestMessage.Headers,\r\n body: requestMessage.Body\r\n };\r\n var message = {\r\n id: HostBridgeSession.nextId(),\r\n type: 1,\r\n flags: requestFlags,\r\n message: httpRequestInfo\r\n };\r\n Utility.log(JSON.stringify(message));\r\n return this.m_session.sendMessageToHost(message)\r\n .then(function (nativeBridgeResponse) {\r\n Utility.log(\"Received response: \" + JSON.stringify(nativeBridgeResponse));\r\n var responseInfo = nativeBridgeResponse.message;\r\n var response;\r\n if (responseInfo.statusCode === 200) {\r\n response = { ErrorCode: null, ErrorMessage: null, Headers: responseInfo.headers, Body: responseInfo.body };\r\n }\r\n else {\r\n Utility.log(\"Error Response:\" + responseInfo.body);\r\n var error = Utility._parseErrorResponse(responseInfo);\r\n response = {\r\n ErrorCode: error.errorCode,\r\n ErrorMessage: error.errorMessage,\r\n Headers: responseInfo.headers,\r\n Body: null\r\n };\r\n }\r\n return response;\r\n });\r\n };\r\n return HostBridgeRequestExecutor;\r\n}());\r\nvar HostBridgeSession = (function (_super) {\r\n __extends(HostBridgeSession, _super);\r\n function HostBridgeSession(bridge) {\r\n var _this = _super.call(this) || this;\r\n _this.m_promiseResolver = {};\r\n _this.m_bridge = bridge;\r\n _this.m_bridge.onMessageFromHost = function (msg) {\r\n _this.onMessageFromHost(msg);\r\n };\r\n return _this;\r\n }\r\n HostBridgeSession.prototype._resolveRequestUrlAndHeaderInfo = function () {\r\n return Utility._createPromiseFromResult(null);\r\n };\r\n HostBridgeSession.prototype._createRequestExecutorOrNull = function () {\r\n Utility.log(\"NativeBridgeSession::CreateRequestExecutor\");\r\n return new HostBridgeRequestExecutor(this);\r\n };\r\n Object.defineProperty(HostBridgeSession.prototype, \"eventRegistration\", {\r\n get: function () {\r\n return _Internal.officeJsEventRegistration;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n HostBridgeSession.init = function (bridge) {\r\n if (bridge && typeof (bridge) === \"object\") {\r\n var session = new HostBridgeSession(bridge);\r\n ClientRequestContext._overrideSession = session;\r\n HttpUtility.setCustomSendLocalDocumentRequestFunc(function (request) {\r\n var bridgeMessage = {\r\n id: HostBridgeSession.nextId(),\r\n type: 1,\r\n flags: 0,\r\n message: request\r\n };\r\n return session.sendMessageToHost(bridgeMessage)\r\n .then(function (bridgeResponse) {\r\n var responseInfo = bridgeResponse.message;\r\n return responseInfo;\r\n });\r\n });\r\n }\r\n };\r\n HostBridgeSession.prototype.sendMessageToHost = function (message) {\r\n var _this = this;\r\n this.m_bridge.sendMessageToHost(JSON.stringify(message));\r\n var ret = new CoreUtility.Promise(function (resolve, reject) {\r\n _this.m_promiseResolver[message.id] = resolve;\r\n });\r\n return ret;\r\n };\r\n HostBridgeSession.prototype.onMessageFromHost = function (messageText) {\r\n if (messageText === \"test\") {\r\n if (HostBridgeTest._testFunc) {\r\n HostBridgeTest._testFunc();\r\n }\r\n }\r\n else {\r\n var message = JSON.parse(messageText);\r\n if (typeof (message.id) === \"number\") {\r\n var resolve = this.m_promiseResolver[message.id];\r\n if (resolve) {\r\n resolve(message);\r\n }\r\n delete this.m_promiseResolver[message.id];\r\n }\r\n }\r\n };\r\n HostBridgeSession.nextId = function () {\r\n return HostBridgeSession.s_nextId++;\r\n };\r\n HostBridgeSession.s_nextId = 1;\r\n return HostBridgeSession;\r\n}(SessionBase));\r\nvar HostBridge = (function () {\r\n function HostBridge() {\r\n }\r\n HostBridge.init = function (bridge) {\r\n HostBridgeSession.init(bridge);\r\n };\r\n return HostBridge;\r\n}());\r\nexports.HostBridge = HostBridge;\r\nif (typeof (_richApiNativeBridge) === \"object\" && _richApiNativeBridge) {\r\n HostBridge.init(_richApiNativeBridge);\r\n}\r\nvar HostBridgeTest = (function () {\r\n function HostBridgeTest() {\r\n }\r\n HostBridgeTest.setTestFunc = function (func) {\r\n HostBridgeTest._testFunc = func;\r\n };\r\n return HostBridgeTest;\r\n}());\r\nexports.HostBridgeTest = HostBridgeTest;\r\nvar ObjectPath = (function () {\r\n function ObjectPath(objectPathInfo, parentObjectPath, isCollection, isInvalidAfterRequest, operationType, flags) {\r\n this.m_objectPathInfo = objectPathInfo;\r\n this.m_parentObjectPath = parentObjectPath;\r\n this.m_isCollection = isCollection;\r\n this.m_isInvalidAfterRequest = isInvalidAfterRequest;\r\n this.m_isValid = true;\r\n this.m_operationType = operationType;\r\n this.m_flags = flags;\r\n }\r\n Object.defineProperty(ObjectPath.prototype, \"objectPathInfo\", {\r\n get: function () {\r\n return this.m_objectPathInfo;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectPath.prototype, \"operationType\", {\r\n get: function () {\r\n return this.m_operationType;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectPath.prototype, \"flags\", {\r\n get: function () {\r\n return this.m_flags;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectPath.prototype, \"isCollection\", {\r\n get: function () {\r\n return this.m_isCollection;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectPath.prototype, \"isInvalidAfterRequest\", {\r\n get: function () {\r\n return this.m_isInvalidAfterRequest;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectPath.prototype, \"parentObjectPath\", {\r\n get: function () {\r\n return this.m_parentObjectPath;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectPath.prototype, \"argumentObjectPaths\", {\r\n get: function () {\r\n return this.m_argumentObjectPaths;\r\n },\r\n set: function (value) {\r\n this.m_argumentObjectPaths = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectPath.prototype, \"isValid\", {\r\n get: function () {\r\n return this.m_isValid;\r\n },\r\n set: function (value) {\r\n this.m_isValid = value;\r\n if (!value &&\r\n this.m_objectPathInfo.ObjectPathType === 6 &&\r\n this.m_savedObjectPathInfo) {\r\n ObjectPath.copyObjectPathInfo(this.m_savedObjectPathInfo.pathInfo, this.m_objectPathInfo);\r\n this.m_parentObjectPath = this.m_savedObjectPathInfo.parent;\r\n this.m_isValid = true;\r\n this.m_savedObjectPathInfo = null;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectPath.prototype, \"originalObjectPathInfo\", {\r\n get: function () {\r\n return this.m_originalObjectPathInfo;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectPath.prototype, \"getByIdMethodName\", {\r\n get: function () {\r\n return this.m_getByIdMethodName;\r\n },\r\n set: function (value) {\r\n this.m_getByIdMethodName = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ObjectPath.prototype._updateAsNullObject = function () {\r\n this.resetForUpdateUsingObjectData();\r\n this.m_objectPathInfo.ObjectPathType = 7;\r\n this.m_objectPathInfo.Name = \"\";\r\n this.m_parentObjectPath = null;\r\n };\r\n ObjectPath.prototype.saveOriginalObjectPathInfo = function () {\r\n if (exports.config.extendedErrorLogging && !this.m_originalObjectPathInfo) {\r\n this.m_originalObjectPathInfo = {};\r\n ObjectPath.copyObjectPathInfo(this.m_objectPathInfo, this.m_originalObjectPathInfo);\r\n }\r\n };\r\n ObjectPath.prototype.updateUsingObjectData = function (value, clientObject) {\r\n var referenceId = value[Constants.referenceId];\r\n if (!Utility.isNullOrEmptyString(referenceId)) {\r\n if (!this.m_savedObjectPathInfo &&\r\n !this.isInvalidAfterRequest &&\r\n ObjectPath.isRestorableObjectPath(this.m_objectPathInfo.ObjectPathType)) {\r\n var pathInfo = {};\r\n ObjectPath.copyObjectPathInfo(this.m_objectPathInfo, pathInfo);\r\n this.m_savedObjectPathInfo = {\r\n pathInfo: pathInfo,\r\n parent: this.m_parentObjectPath\r\n };\r\n }\r\n this.saveOriginalObjectPathInfo();\r\n this.resetForUpdateUsingObjectData();\r\n this.m_objectPathInfo.ObjectPathType = 6;\r\n this.m_objectPathInfo.Name = referenceId;\r\n delete this.m_objectPathInfo.ParentObjectPathId;\r\n this.m_parentObjectPath = null;\r\n return;\r\n }\r\n var collectionPropertyPath = clientObject[Constants.collectionPropertyPath];\r\n if (!Utility.isNullOrEmptyString(collectionPropertyPath)) {\r\n var id = Utility.tryGetObjectIdFromLoadOrRetrieveResult(value);\r\n if (!Utility.isNullOrUndefined(id)) {\r\n var propNames = collectionPropertyPath.split(\".\");\r\n var parent_1 = clientObject.context[propNames[0]];\r\n for (var i = 1; i < propNames.length; i++) {\r\n parent_1 = parent_1[propNames[i]];\r\n }\r\n this.saveOriginalObjectPathInfo();\r\n this.resetForUpdateUsingObjectData();\r\n this.m_parentObjectPath = parent_1._objectPath;\r\n this.m_objectPathInfo.ParentObjectPathId = this.m_parentObjectPath.objectPathInfo.Id;\r\n this.m_objectPathInfo.ObjectPathType = 5;\r\n this.m_objectPathInfo.Name = \"\";\r\n this.m_objectPathInfo.ArgumentInfo.Arguments = [id];\r\n return;\r\n }\r\n }\r\n var parentIsCollection = this.parentObjectPath && this.parentObjectPath.isCollection;\r\n var getByIdMethodName = this.getByIdMethodName;\r\n if (parentIsCollection || !Utility.isNullOrEmptyString(getByIdMethodName)) {\r\n var id = Utility.tryGetObjectIdFromLoadOrRetrieveResult(value);\r\n if (!Utility.isNullOrUndefined(id)) {\r\n this.saveOriginalObjectPathInfo();\r\n this.resetForUpdateUsingObjectData();\r\n if (!Utility.isNullOrEmptyString(getByIdMethodName)) {\r\n this.m_objectPathInfo.ObjectPathType = 3;\r\n this.m_objectPathInfo.Name = getByIdMethodName;\r\n this.m_getByIdMethodName = null;\r\n }\r\n else {\r\n this.m_objectPathInfo.ObjectPathType = 5;\r\n this.m_objectPathInfo.Name = \"\";\r\n }\r\n this.m_objectPathInfo.ArgumentInfo.Arguments = [id];\r\n return;\r\n }\r\n }\r\n };\r\n ObjectPath.prototype.resetForUpdateUsingObjectData = function () {\r\n this.m_isInvalidAfterRequest = false;\r\n this.m_isValid = true;\r\n this.m_operationType = 1;\r\n this.m_flags = 4;\r\n this.m_objectPathInfo.ArgumentInfo = {};\r\n this.m_argumentObjectPaths = null;\r\n };\r\n ObjectPath.isRestorableObjectPath = function (objectPathType) {\r\n return (objectPathType === 1 ||\r\n objectPathType === 5 ||\r\n objectPathType === 3 ||\r\n objectPathType === 4);\r\n };\r\n ObjectPath.copyObjectPathInfo = function (src, dest) {\r\n dest.Id = src.Id;\r\n dest.ArgumentInfo = src.ArgumentInfo;\r\n dest.Name = src.Name;\r\n dest.ObjectPathType = src.ObjectPathType;\r\n dest.ParentObjectPathId = src.ParentObjectPathId;\r\n };\r\n return ObjectPath;\r\n}());\r\nexports.ObjectPath = ObjectPath;\r\nvar ObjectPathFactory = (function () {\r\n function ObjectPathFactory() {\r\n }\r\n ObjectPathFactory.createGlobalObjectObjectPath = function (context) {\r\n var objectPathInfo = { Id: context._nextId(), ObjectPathType: 1, Name: \"\" };\r\n return new ObjectPath(objectPathInfo, null, false, false, 1, 4);\r\n };\r\n ObjectPathFactory.createNewObjectObjectPath = function (context, typeName, isCollection, flags) {\r\n var objectPathInfo = { Id: context._nextId(), ObjectPathType: 2, Name: typeName };\r\n var ret = new ObjectPath(objectPathInfo, null, isCollection, false, 1, Utility._fixupApiFlags(flags));\r\n return ret;\r\n };\r\n ObjectPathFactory.createPropertyObjectPath = function (context, parent, propertyName, isCollection, isInvalidAfterRequest, flags) {\r\n var objectPathInfo = {\r\n Id: context._nextId(),\r\n ObjectPathType: 4,\r\n Name: propertyName,\r\n ParentObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n };\r\n var ret = new ObjectPath(objectPathInfo, parent._objectPath, isCollection, isInvalidAfterRequest, 1, Utility._fixupApiFlags(flags));\r\n return ret;\r\n };\r\n ObjectPathFactory.createIndexerObjectPath = function (context, parent, args) {\r\n var objectPathInfo = {\r\n Id: context._nextId(),\r\n ObjectPathType: 5,\r\n Name: \"\",\r\n ParentObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n ArgumentInfo: {}\r\n };\r\n objectPathInfo.ArgumentInfo.Arguments = args;\r\n return new ObjectPath(objectPathInfo, parent._objectPath, false, false, 1, 4);\r\n };\r\n ObjectPathFactory.createIndexerObjectPathUsingParentPath = function (context, parentObjectPath, args) {\r\n var objectPathInfo = {\r\n Id: context._nextId(),\r\n ObjectPathType: 5,\r\n Name: \"\",\r\n ParentObjectPathId: parentObjectPath.objectPathInfo.Id,\r\n ArgumentInfo: {}\r\n };\r\n objectPathInfo.ArgumentInfo.Arguments = args;\r\n return new ObjectPath(objectPathInfo, parentObjectPath, false, false, 1, 4);\r\n };\r\n ObjectPathFactory.createMethodObjectPath = function (context, parent, methodName, operationType, args, isCollection, isInvalidAfterRequest, getByIdMethodName, flags) {\r\n var objectPathInfo = {\r\n Id: context._nextId(),\r\n ObjectPathType: 3,\r\n Name: methodName,\r\n ParentObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n ArgumentInfo: {}\r\n };\r\n var argumentObjectPaths = Utility.setMethodArguments(context, objectPathInfo.ArgumentInfo, args);\r\n var ret = new ObjectPath(objectPathInfo, parent._objectPath, isCollection, isInvalidAfterRequest, operationType, Utility._fixupApiFlags(flags));\r\n ret.argumentObjectPaths = argumentObjectPaths;\r\n ret.getByIdMethodName = getByIdMethodName;\r\n return ret;\r\n };\r\n ObjectPathFactory.createReferenceIdObjectPath = function (context, referenceId) {\r\n var objectPathInfo = {\r\n Id: context._nextId(),\r\n ObjectPathType: 6,\r\n Name: referenceId,\r\n ArgumentInfo: {}\r\n };\r\n var ret = new ObjectPath(objectPathInfo, null, false, false, 1, 4);\r\n return ret;\r\n };\r\n ObjectPathFactory.createChildItemObjectPathUsingIndexerOrGetItemAt = function (hasIndexerMethod, context, parent, childItem, index) {\r\n var id = Utility.tryGetObjectIdFromLoadOrRetrieveResult(childItem);\r\n if (hasIndexerMethod && !Utility.isNullOrUndefined(id)) {\r\n return ObjectPathFactory.createChildItemObjectPathUsingIndexer(context, parent, childItem);\r\n }\r\n else {\r\n return ObjectPathFactory.createChildItemObjectPathUsingGetItemAt(context, parent, childItem, index);\r\n }\r\n };\r\n ObjectPathFactory.createChildItemObjectPathUsingIndexer = function (context, parent, childItem) {\r\n var id = Utility.tryGetObjectIdFromLoadOrRetrieveResult(childItem);\r\n var objectPathInfo = objectPathInfo =\r\n {\r\n Id: context._nextId(),\r\n ObjectPathType: 5,\r\n Name: \"\",\r\n ParentObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n ArgumentInfo: {}\r\n };\r\n objectPathInfo.ArgumentInfo.Arguments = [id];\r\n return new ObjectPath(objectPathInfo, parent._objectPath, false, false, 1, 4);\r\n };\r\n ObjectPathFactory.createChildItemObjectPathUsingGetItemAt = function (context, parent, childItem, index) {\r\n var indexFromServer = childItem[Constants.index];\r\n if (indexFromServer) {\r\n index = indexFromServer;\r\n }\r\n var objectPathInfo = {\r\n Id: context._nextId(),\r\n ObjectPathType: 3,\r\n Name: Constants.getItemAt,\r\n ParentObjectPathId: parent._objectPath.objectPathInfo.Id,\r\n ArgumentInfo: {}\r\n };\r\n objectPathInfo.ArgumentInfo.Arguments = [index];\r\n return new ObjectPath(objectPathInfo, parent._objectPath, false, false, 1, 4);\r\n };\r\n return ObjectPathFactory;\r\n}());\r\nexports.ObjectPathFactory = ObjectPathFactory;\r\nvar OfficeJsRequestExecutor = (function () {\r\n function OfficeJsRequestExecutor(context) {\r\n this.m_context = context;\r\n }\r\n OfficeJsRequestExecutor.prototype.executeAsync = function (customData, requestFlags, requestMessage) {\r\n var _this = this;\r\n var messageSafearray = RichApiMessageUtility.buildMessageArrayForIRequestExecutor(customData, requestFlags, requestMessage, OfficeJsRequestExecutor.SourceLibHeaderValue);\r\n return new CoreUtility.Promise(function (resolve, reject) {\r\n OSF.DDA.RichApi.executeRichApiRequestAsync(messageSafearray, function (result) {\r\n Utility.log(\"Response:\");\r\n Utility.log(JSON.stringify(result));\r\n var response;\r\n if (result.status == \"succeeded\") {\r\n response = RichApiMessageUtility.buildResponseOnSuccess(RichApiMessageUtility.getResponseBody(result), RichApiMessageUtility.getResponseHeaders(result));\r\n }\r\n else {\r\n response = RichApiMessageUtility.buildResponseOnError(result.error.code, result.error.message);\r\n _this.m_context._processOfficeJsErrorResponse(result.error.code, response);\r\n }\r\n resolve(response);\r\n });\r\n });\r\n };\r\n OfficeJsRequestExecutor.SourceLibHeaderValue = \"officejs\";\r\n return OfficeJsRequestExecutor;\r\n}());\r\nexports.OfficeJsRequestExecutor = OfficeJsRequestExecutor;\r\n(function (_Internal) {\r\n _Internal.OfficeRequire = function () {\r\n return null;\r\n }();\r\n})(_Internal = exports._Internal || (exports._Internal = {}));\r\n(function (_Internal) {\r\n var PromiseImpl;\r\n (function (PromiseImpl) {\r\n function Init() {\r\n return (function () {\r\n \"use strict\";\r\n function lib$es6$promise$utils$$objectOrFunction(x) {\r\n return typeof x === 'function' || (typeof x === 'object' && x !== null);\r\n }\r\n function lib$es6$promise$utils$$isFunction(x) {\r\n return typeof x === 'function';\r\n }\r\n function lib$es6$promise$utils$$isMaybeThenable(x) {\r\n return typeof x === 'object' && x !== null;\r\n }\r\n var lib$es6$promise$utils$$_isArray;\r\n if (!Array.isArray) {\r\n lib$es6$promise$utils$$_isArray = function (x) {\r\n return Object.prototype.toString.call(x) === '[object Array]';\r\n };\r\n }\r\n else {\r\n lib$es6$promise$utils$$_isArray = Array.isArray;\r\n }\r\n var lib$es6$promise$utils$$isArray = lib$es6$promise$utils$$_isArray;\r\n var lib$es6$promise$asap$$len = 0;\r\n var lib$es6$promise$asap$$toString = {}.toString;\r\n var lib$es6$promise$asap$$vertxNext;\r\n var lib$es6$promise$asap$$customSchedulerFn;\r\n var lib$es6$promise$asap$$asap = function asap(callback, arg) {\r\n lib$es6$promise$asap$$queue[lib$es6$promise$asap$$len] = callback;\r\n lib$es6$promise$asap$$queue[lib$es6$promise$asap$$len + 1] = arg;\r\n lib$es6$promise$asap$$len += 2;\r\n if (lib$es6$promise$asap$$len === 2) {\r\n if (lib$es6$promise$asap$$customSchedulerFn) {\r\n lib$es6$promise$asap$$customSchedulerFn(lib$es6$promise$asap$$flush);\r\n }\r\n else {\r\n lib$es6$promise$asap$$scheduleFlush();\r\n }\r\n }\r\n };\r\n function lib$es6$promise$asap$$setScheduler(scheduleFn) {\r\n lib$es6$promise$asap$$customSchedulerFn = scheduleFn;\r\n }\r\n function lib$es6$promise$asap$$setAsap(asapFn) {\r\n lib$es6$promise$asap$$asap = asapFn;\r\n }\r\n var lib$es6$promise$asap$$browserWindow = (typeof window !== 'undefined') ? window : undefined;\r\n var lib$es6$promise$asap$$browserGlobal = lib$es6$promise$asap$$browserWindow || {};\r\n var lib$es6$promise$asap$$BrowserMutationObserver = lib$es6$promise$asap$$browserGlobal.MutationObserver || lib$es6$promise$asap$$browserGlobal.WebKitMutationObserver;\r\n var lib$es6$promise$asap$$isNode = typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\r\n var lib$es6$promise$asap$$isWorker = typeof Uint8ClampedArray !== 'undefined' &&\r\n typeof importScripts !== 'undefined' &&\r\n typeof MessageChannel !== 'undefined';\r\n function lib$es6$promise$asap$$useNextTick() {\r\n var nextTick = process.nextTick;\r\n var version = process.versions.node.match(/^(?:(\\d+)\\.)?(?:(\\d+)\\.)?(\\*|\\d+)$/);\r\n if (Array.isArray(version) && version[1] === '0' && version[2] === '10') {\r\n nextTick = setImmediate;\r\n }\r\n return function () {\r\n nextTick(lib$es6$promise$asap$$flush);\r\n };\r\n }\r\n function lib$es6$promise$asap$$useVertxTimer() {\r\n return function () {\r\n lib$es6$promise$asap$$vertxNext(lib$es6$promise$asap$$flush);\r\n };\r\n }\r\n function lib$es6$promise$asap$$useMutationObserver() {\r\n var iterations = 0;\r\n var observer = new lib$es6$promise$asap$$BrowserMutationObserver(lib$es6$promise$asap$$flush);\r\n var node = document.createTextNode('');\r\n observer.observe(node, { characterData: true });\r\n return function () {\r\n node.data = (iterations = ++iterations % 2);\r\n };\r\n }\r\n function lib$es6$promise$asap$$useMessageChannel() {\r\n var channel = new MessageChannel();\r\n channel.port1.onmessage = lib$es6$promise$asap$$flush;\r\n return function () {\r\n channel.port2.postMessage(0);\r\n };\r\n }\r\n function lib$es6$promise$asap$$useSetTimeout() {\r\n return function () {\r\n setTimeout(lib$es6$promise$asap$$flush, 1);\r\n };\r\n }\r\n var lib$es6$promise$asap$$queue = new Array(1000);\r\n function lib$es6$promise$asap$$flush() {\r\n for (var i = 0; i < lib$es6$promise$asap$$len; i += 2) {\r\n var callback = lib$es6$promise$asap$$queue[i];\r\n var arg = lib$es6$promise$asap$$queue[i + 1];\r\n callback(arg);\r\n lib$es6$promise$asap$$queue[i] = undefined;\r\n lib$es6$promise$asap$$queue[i + 1] = undefined;\r\n }\r\n lib$es6$promise$asap$$len = 0;\r\n }\r\n var lib$es6$promise$asap$$scheduleFlush;\r\n if (lib$es6$promise$asap$$isNode) {\r\n lib$es6$promise$asap$$scheduleFlush = lib$es6$promise$asap$$useNextTick();\r\n }\r\n else if (lib$es6$promise$asap$$BrowserMutationObserver) {\r\n lib$es6$promise$asap$$scheduleFlush = lib$es6$promise$asap$$useMutationObserver();\r\n }\r\n else if (lib$es6$promise$asap$$isWorker) {\r\n lib$es6$promise$asap$$scheduleFlush = lib$es6$promise$asap$$useMessageChannel();\r\n }\r\n else {\r\n lib$es6$promise$asap$$scheduleFlush = lib$es6$promise$asap$$useSetTimeout();\r\n }\r\n function lib$es6$promise$$internal$$noop() { }\r\n var lib$es6$promise$$internal$$PENDING = void 0;\r\n var lib$es6$promise$$internal$$FULFILLED = 1;\r\n var lib$es6$promise$$internal$$REJECTED = 2;\r\n var lib$es6$promise$$internal$$GET_THEN_ERROR = new lib$es6$promise$$internal$$ErrorObject();\r\n function lib$es6$promise$$internal$$selfFullfillment() {\r\n return new TypeError(\"You cannot resolve a promise with itself\");\r\n }\r\n function lib$es6$promise$$internal$$cannotReturnOwn() {\r\n return new TypeError('A promises callback cannot return that same promise.');\r\n }\r\n function lib$es6$promise$$internal$$getThen(promise) {\r\n try {\r\n return promise.then;\r\n }\r\n catch (error) {\r\n lib$es6$promise$$internal$$GET_THEN_ERROR.error = error;\r\n return lib$es6$promise$$internal$$GET_THEN_ERROR;\r\n }\r\n }\r\n function lib$es6$promise$$internal$$tryThen(then, value, fulfillmentHandler, rejectionHandler) {\r\n try {\r\n then.call(value, fulfillmentHandler, rejectionHandler);\r\n }\r\n catch (e) {\r\n return e;\r\n }\r\n }\r\n function lib$es6$promise$$internal$$handleForeignThenable(promise, thenable, then) {\r\n lib$es6$promise$asap$$asap(function (promise) {\r\n var sealed = false;\r\n var error = lib$es6$promise$$internal$$tryThen(then, thenable, function (value) {\r\n if (sealed) {\r\n return;\r\n }\r\n sealed = true;\r\n if (thenable !== value) {\r\n lib$es6$promise$$internal$$resolve(promise, value);\r\n }\r\n else {\r\n lib$es6$promise$$internal$$fulfill(promise, value);\r\n }\r\n }, function (reason) {\r\n if (sealed) {\r\n return;\r\n }\r\n sealed = true;\r\n lib$es6$promise$$internal$$reject(promise, reason);\r\n }, 'Settle: ' + (promise._label || ' unknown promise'));\r\n if (!sealed && error) {\r\n sealed = true;\r\n lib$es6$promise$$internal$$reject(promise, error);\r\n }\r\n }, promise);\r\n }\r\n function lib$es6$promise$$internal$$handleOwnThenable(promise, thenable) {\r\n if (thenable._state === lib$es6$promise$$internal$$FULFILLED) {\r\n lib$es6$promise$$internal$$fulfill(promise, thenable._result);\r\n }\r\n else if (thenable._state === lib$es6$promise$$internal$$REJECTED) {\r\n lib$es6$promise$$internal$$reject(promise, thenable._result);\r\n }\r\n else {\r\n lib$es6$promise$$internal$$subscribe(thenable, undefined, function (value) {\r\n lib$es6$promise$$internal$$resolve(promise, value);\r\n }, function (reason) {\r\n lib$es6$promise$$internal$$reject(promise, reason);\r\n });\r\n }\r\n }\r\n function lib$es6$promise$$internal$$handleMaybeThenable(promise, maybeThenable) {\r\n if (maybeThenable.constructor === promise.constructor) {\r\n lib$es6$promise$$internal$$handleOwnThenable(promise, maybeThenable);\r\n }\r\n else {\r\n var then = lib$es6$promise$$internal$$getThen(maybeThenable);\r\n if (then === lib$es6$promise$$internal$$GET_THEN_ERROR) {\r\n lib$es6$promise$$internal$$reject(promise, lib$es6$promise$$internal$$GET_THEN_ERROR.error);\r\n }\r\n else if (then === undefined) {\r\n lib$es6$promise$$internal$$fulfill(promise, maybeThenable);\r\n }\r\n else if (lib$es6$promise$utils$$isFunction(then)) {\r\n lib$es6$promise$$internal$$handleForeignThenable(promise, maybeThenable, then);\r\n }\r\n else {\r\n lib$es6$promise$$internal$$fulfill(promise, maybeThenable);\r\n }\r\n }\r\n }\r\n function lib$es6$promise$$internal$$resolve(promise, value) {\r\n if (promise === value) {\r\n lib$es6$promise$$internal$$reject(promise, lib$es6$promise$$internal$$selfFullfillment());\r\n }\r\n else if (lib$es6$promise$utils$$objectOrFunction(value)) {\r\n lib$es6$promise$$internal$$handleMaybeThenable(promise, value);\r\n }\r\n else {\r\n lib$es6$promise$$internal$$fulfill(promise, value);\r\n }\r\n }\r\n function lib$es6$promise$$internal$$publishRejection(promise) {\r\n if (promise._onerror) {\r\n promise._onerror(promise._result);\r\n }\r\n lib$es6$promise$$internal$$publish(promise);\r\n }\r\n function lib$es6$promise$$internal$$fulfill(promise, value) {\r\n if (promise._state !== lib$es6$promise$$internal$$PENDING) {\r\n return;\r\n }\r\n promise._result = value;\r\n promise._state = lib$es6$promise$$internal$$FULFILLED;\r\n if (promise._subscribers.length !== 0) {\r\n lib$es6$promise$asap$$asap(lib$es6$promise$$internal$$publish, promise);\r\n }\r\n }\r\n function lib$es6$promise$$internal$$reject(promise, reason) {\r\n if (promise._state !== lib$es6$promise$$internal$$PENDING) {\r\n return;\r\n }\r\n promise._state = lib$es6$promise$$internal$$REJECTED;\r\n promise._result = reason;\r\n lib$es6$promise$asap$$asap(lib$es6$promise$$internal$$publishRejection, promise);\r\n }\r\n function lib$es6$promise$$internal$$subscribe(parent, child, onFulfillment, onRejection) {\r\n var subscribers = parent._subscribers;\r\n var length = subscribers.length;\r\n parent._onerror = null;\r\n subscribers[length] = child;\r\n subscribers[length + lib$es6$promise$$internal$$FULFILLED] = onFulfillment;\r\n subscribers[length + lib$es6$promise$$internal$$REJECTED] = onRejection;\r\n if (length === 0 && parent._state) {\r\n lib$es6$promise$asap$$asap(lib$es6$promise$$internal$$publish, parent);\r\n }\r\n }\r\n function lib$es6$promise$$internal$$publish(promise) {\r\n var subscribers = promise._subscribers;\r\n var settled = promise._state;\r\n if (subscribers.length === 0) {\r\n return;\r\n }\r\n var child, callback, detail = promise._result;\r\n for (var i = 0; i < subscribers.length; i += 3) {\r\n child = subscribers[i];\r\n callback = subscribers[i + settled];\r\n if (child) {\r\n lib$es6$promise$$internal$$invokeCallback(settled, child, callback, detail);\r\n }\r\n else {\r\n callback(detail);\r\n }\r\n }\r\n promise._subscribers.length = 0;\r\n }\r\n function lib$es6$promise$$internal$$ErrorObject() {\r\n this.error = null;\r\n }\r\n var lib$es6$promise$$internal$$TRY_CATCH_ERROR = new lib$es6$promise$$internal$$ErrorObject();\r\n function lib$es6$promise$$internal$$tryCatch(callback, detail) {\r\n try {\r\n return callback(detail);\r\n }\r\n catch (e) {\r\n lib$es6$promise$$internal$$TRY_CATCH_ERROR.error = e;\r\n return lib$es6$promise$$internal$$TRY_CATCH_ERROR;\r\n }\r\n }\r\n function lib$es6$promise$$internal$$invokeCallback(settled, promise, callback, detail) {\r\n var hasCallback = lib$es6$promise$utils$$isFunction(callback), value, error, succeeded, failed;\r\n if (hasCallback) {\r\n value = lib$es6$promise$$internal$$tryCatch(callback, detail);\r\n if (value === lib$es6$promise$$internal$$TRY_CATCH_ERROR) {\r\n failed = true;\r\n error = value.error;\r\n value = null;\r\n }\r\n else {\r\n succeeded = true;\r\n }\r\n if (promise === value) {\r\n lib$es6$promise$$internal$$reject(promise, lib$es6$promise$$internal$$cannotReturnOwn());\r\n return;\r\n }\r\n }\r\n else {\r\n value = detail;\r\n succeeded = true;\r\n }\r\n if (promise._state !== lib$es6$promise$$internal$$PENDING) {\r\n }\r\n else if (hasCallback && succeeded) {\r\n lib$es6$promise$$internal$$resolve(promise, value);\r\n }\r\n else if (failed) {\r\n lib$es6$promise$$internal$$reject(promise, error);\r\n }\r\n else if (settled === lib$es6$promise$$internal$$FULFILLED) {\r\n lib$es6$promise$$internal$$fulfill(promise, value);\r\n }\r\n else if (settled === lib$es6$promise$$internal$$REJECTED) {\r\n lib$es6$promise$$internal$$reject(promise, value);\r\n }\r\n }\r\n function lib$es6$promise$$internal$$initializePromise(promise, resolver) {\r\n try {\r\n resolver(function resolvePromise(value) {\r\n lib$es6$promise$$internal$$resolve(promise, value);\r\n }, function rejectPromise(reason) {\r\n lib$es6$promise$$internal$$reject(promise, reason);\r\n });\r\n }\r\n catch (e) {\r\n lib$es6$promise$$internal$$reject(promise, e);\r\n }\r\n }\r\n function lib$es6$promise$enumerator$$Enumerator(Constructor, input) {\r\n var enumerator = this;\r\n enumerator._instanceConstructor = Constructor;\r\n enumerator.promise = new Constructor(lib$es6$promise$$internal$$noop);\r\n if (enumerator._validateInput(input)) {\r\n enumerator._input = input;\r\n enumerator.length = input.length;\r\n enumerator._remaining = input.length;\r\n enumerator._init();\r\n if (enumerator.length === 0) {\r\n lib$es6$promise$$internal$$fulfill(enumerator.promise, enumerator._result);\r\n }\r\n else {\r\n enumerator.length = enumerator.length || 0;\r\n enumerator._enumerate();\r\n if (enumerator._remaining === 0) {\r\n lib$es6$promise$$internal$$fulfill(enumerator.promise, enumerator._result);\r\n }\r\n }\r\n }\r\n else {\r\n lib$es6$promise$$internal$$reject(enumerator.promise, enumerator._validationError());\r\n }\r\n }\r\n lib$es6$promise$enumerator$$Enumerator.prototype._validateInput = function (input) {\r\n return lib$es6$promise$utils$$isArray(input);\r\n };\r\n lib$es6$promise$enumerator$$Enumerator.prototype._validationError = function () {\r\n return new _Internal.Error('Array Methods must be provided an Array');\r\n };\r\n lib$es6$promise$enumerator$$Enumerator.prototype._init = function () {\r\n this._result = new Array(this.length);\r\n };\r\n var lib$es6$promise$enumerator$$default = lib$es6$promise$enumerator$$Enumerator;\r\n lib$es6$promise$enumerator$$Enumerator.prototype._enumerate = function () {\r\n var enumerator = this;\r\n var length = enumerator.length;\r\n var promise = enumerator.promise;\r\n var input = enumerator._input;\r\n for (var i = 0; promise._state === lib$es6$promise$$internal$$PENDING && i < length; i++) {\r\n enumerator._eachEntry(input[i], i);\r\n }\r\n };\r\n lib$es6$promise$enumerator$$Enumerator.prototype._eachEntry = function (entry, i) {\r\n var enumerator = this;\r\n var c = enumerator._instanceConstructor;\r\n if (lib$es6$promise$utils$$isMaybeThenable(entry)) {\r\n if (entry.constructor === c && entry._state !== lib$es6$promise$$internal$$PENDING) {\r\n entry._onerror = null;\r\n enumerator._settledAt(entry._state, i, entry._result);\r\n }\r\n else {\r\n enumerator._willSettleAt(c.resolve(entry), i);\r\n }\r\n }\r\n else {\r\n enumerator._remaining--;\r\n enumerator._result[i] = entry;\r\n }\r\n };\r\n lib$es6$promise$enumerator$$Enumerator.prototype._settledAt = function (state, i, value) {\r\n var enumerator = this;\r\n var promise = enumerator.promise;\r\n if (promise._state === lib$es6$promise$$internal$$PENDING) {\r\n enumerator._remaining--;\r\n if (state === lib$es6$promise$$internal$$REJECTED) {\r\n lib$es6$promise$$internal$$reject(promise, value);\r\n }\r\n else {\r\n enumerator._result[i] = value;\r\n }\r\n }\r\n if (enumerator._remaining === 0) {\r\n lib$es6$promise$$internal$$fulfill(promise, enumerator._result);\r\n }\r\n };\r\n lib$es6$promise$enumerator$$Enumerator.prototype._willSettleAt = function (promise, i) {\r\n var enumerator = this;\r\n lib$es6$promise$$internal$$subscribe(promise, undefined, function (value) {\r\n enumerator._settledAt(lib$es6$promise$$internal$$FULFILLED, i, value);\r\n }, function (reason) {\r\n enumerator._settledAt(lib$es6$promise$$internal$$REJECTED, i, reason);\r\n });\r\n };\r\n function lib$es6$promise$promise$all$$all(entries) {\r\n return new lib$es6$promise$enumerator$$default(this, entries).promise;\r\n }\r\n var lib$es6$promise$promise$all$$default = lib$es6$promise$promise$all$$all;\r\n function lib$es6$promise$promise$race$$race(entries) {\r\n var Constructor = this;\r\n var promise = new Constructor(lib$es6$promise$$internal$$noop);\r\n if (!lib$es6$promise$utils$$isArray(entries)) {\r\n lib$es6$promise$$internal$$reject(promise, new TypeError('You must pass an array to race.'));\r\n return promise;\r\n }\r\n var length = entries.length;\r\n function onFulfillment(value) {\r\n lib$es6$promise$$internal$$resolve(promise, value);\r\n }\r\n function onRejection(reason) {\r\n lib$es6$promise$$internal$$reject(promise, reason);\r\n }\r\n for (var i = 0; promise._state === lib$es6$promise$$internal$$PENDING && i < length; i++) {\r\n lib$es6$promise$$internal$$subscribe(Constructor.resolve(entries[i]), undefined, onFulfillment, onRejection);\r\n }\r\n return promise;\r\n }\r\n var lib$es6$promise$promise$race$$default = lib$es6$promise$promise$race$$race;\r\n function lib$es6$promise$promise$resolve$$resolve(object) {\r\n var Constructor = this;\r\n if (object && typeof object === 'object' && object.constructor === Constructor) {\r\n return object;\r\n }\r\n var promise = new Constructor(lib$es6$promise$$internal$$noop);\r\n lib$es6$promise$$internal$$resolve(promise, object);\r\n return promise;\r\n }\r\n var lib$es6$promise$promise$resolve$$default = lib$es6$promise$promise$resolve$$resolve;\r\n function lib$es6$promise$promise$reject$$reject(reason) {\r\n var Constructor = this;\r\n var promise = new Constructor(lib$es6$promise$$internal$$noop);\r\n lib$es6$promise$$internal$$reject(promise, reason);\r\n return promise;\r\n }\r\n var lib$es6$promise$promise$reject$$default = lib$es6$promise$promise$reject$$reject;\r\n var lib$es6$promise$promise$$counter = 0;\r\n function lib$es6$promise$promise$$needsResolver() {\r\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\r\n }\r\n function lib$es6$promise$promise$$needsNew() {\r\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\r\n }\r\n var lib$es6$promise$promise$$default = lib$es6$promise$promise$$Promise;\r\n function lib$es6$promise$promise$$Promise(resolver) {\r\n this._id = lib$es6$promise$promise$$counter++;\r\n this._state = undefined;\r\n this._result = undefined;\r\n this._subscribers = [];\r\n if (lib$es6$promise$$internal$$noop !== resolver) {\r\n if (!lib$es6$promise$utils$$isFunction(resolver)) {\r\n lib$es6$promise$promise$$needsResolver();\r\n }\r\n if (!(this instanceof lib$es6$promise$promise$$Promise)) {\r\n lib$es6$promise$promise$$needsNew();\r\n }\r\n lib$es6$promise$$internal$$initializePromise(this, resolver);\r\n }\r\n }\r\n lib$es6$promise$promise$$Promise.all = lib$es6$promise$promise$all$$default;\r\n lib$es6$promise$promise$$Promise.race = lib$es6$promise$promise$race$$default;\r\n lib$es6$promise$promise$$Promise.resolve = lib$es6$promise$promise$resolve$$default;\r\n lib$es6$promise$promise$$Promise.reject = lib$es6$promise$promise$reject$$default;\r\n lib$es6$promise$promise$$Promise._setScheduler = lib$es6$promise$asap$$setScheduler;\r\n lib$es6$promise$promise$$Promise._setAsap = lib$es6$promise$asap$$setAsap;\r\n lib$es6$promise$promise$$Promise._asap = lib$es6$promise$asap$$asap;\r\n lib$es6$promise$promise$$Promise.prototype = {\r\n constructor: lib$es6$promise$promise$$Promise,\r\n then: function (onFulfillment, onRejection) {\r\n var parent = this;\r\n var state = parent._state;\r\n if (state === lib$es6$promise$$internal$$FULFILLED && !onFulfillment || state === lib$es6$promise$$internal$$REJECTED && !onRejection) {\r\n return this;\r\n }\r\n var child = new this.constructor(lib$es6$promise$$internal$$noop);\r\n var result = parent._result;\r\n if (state) {\r\n var callback = arguments[state - 1];\r\n lib$es6$promise$asap$$asap(function () {\r\n lib$es6$promise$$internal$$invokeCallback(state, child, callback, result);\r\n });\r\n }\r\n else {\r\n lib$es6$promise$$internal$$subscribe(parent, child, onFulfillment, onRejection);\r\n }\r\n return child;\r\n },\r\n 'catch': function (onRejection) {\r\n return this.then(null, onRejection);\r\n }\r\n };\r\n return lib$es6$promise$promise$$default;\r\n }).call(this);\r\n }\r\n PromiseImpl.Init = Init;\r\n })(PromiseImpl = _Internal.PromiseImpl || (_Internal.PromiseImpl = {}));\r\n})(_Internal = exports._Internal || (exports._Internal = {}));\r\n(function (_Internal) {\r\n function isEdgeLessThan14() {\r\n return false;\r\n }\r\n function determinePromise() {\r\n if (typeof (window) === \"undefined\" && typeof (Promise) === \"function\") {\r\n return Promise;\r\n }\r\n if (typeof (window) !== \"undefined\" && window.Promise) {\r\n if (isEdgeLessThan14()) {\r\n return _Internal.PromiseImpl.Init();\r\n }\r\n else {\r\n return window.Promise;\r\n }\r\n }\r\n else {\r\n return _Internal.PromiseImpl.Init();\r\n }\r\n }\r\n _Internal.OfficePromise = determinePromise();\r\n})(_Internal = exports._Internal || (exports._Internal = {}));\r\nvar OfficePromise = _Internal.OfficePromise;\r\nexports.Promise = OfficePromise;\r\nvar TrackedObjects = (function () {\r\n function TrackedObjects(context) {\r\n this._autoCleanupList = {};\r\n this.m_context = context;\r\n }\r\n TrackedObjects.prototype.add = function (param) {\r\n var _this = this;\r\n if (Array.isArray(param)) {\r\n param.forEach(function (item) { return _this._addCommon(item, true); });\r\n }\r\n else {\r\n this._addCommon(param, true);\r\n }\r\n };\r\n TrackedObjects.prototype._autoAdd = function (object) {\r\n this._addCommon(object, false);\r\n this._autoCleanupList[object._objectPath.objectPathInfo.Id] = object;\r\n };\r\n TrackedObjects.prototype._autoTrackIfNecessaryWhenHandleObjectResultValue = function (object, resultValue) {\r\n var shouldAutoTrack = (this.m_context._autoCleanup &&\r\n !object[Constants.isTracked] &&\r\n object !== this.m_context._rootObject &&\r\n resultValue &&\r\n !Utility.isNullOrEmptyString(resultValue[Constants.referenceId]));\r\n if (shouldAutoTrack) {\r\n this._autoCleanupList[object._objectPath.objectPathInfo.Id] = object;\r\n object[Constants.isTracked] = true;\r\n }\r\n };\r\n TrackedObjects.prototype._addCommon = function (object, isExplicitlyAdded) {\r\n if (object[Constants.isTracked]) {\r\n if (isExplicitlyAdded && this.m_context._autoCleanup) {\r\n delete this._autoCleanupList[object._objectPath.objectPathInfo.Id];\r\n }\r\n return;\r\n }\r\n var referenceId = object[Constants.referenceId];\r\n var donotKeepReference = object._objectPath.objectPathInfo[Constants.objectPathInfoDoNotKeepReferenceFieldName];\r\n if (donotKeepReference) {\r\n throw Utility.createRuntimeError(ErrorCodes.generalException, Utility._getResourceString(ResourceStrings.objectIsUntracked), null);\r\n }\r\n if (Utility.isNullOrEmptyString(referenceId) && object._KeepReference) {\r\n object._KeepReference();\r\n ActionFactory.createInstantiateAction(this.m_context, object);\r\n if (isExplicitlyAdded && this.m_context._autoCleanup) {\r\n delete this._autoCleanupList[object._objectPath.objectPathInfo.Id];\r\n }\r\n object[Constants.isTracked] = true;\r\n }\r\n };\r\n TrackedObjects.prototype.remove = function (param) {\r\n var _this = this;\r\n if (Array.isArray(param)) {\r\n param.forEach(function (item) { return _this._removeCommon(item); });\r\n }\r\n else {\r\n this._removeCommon(param);\r\n }\r\n };\r\n TrackedObjects.prototype._removeCommon = function (object) {\r\n object._objectPath.objectPathInfo[Constants.objectPathInfoDoNotKeepReferenceFieldName] = true;\r\n object.context._pendingRequest._removeKeepReferenceAction(object._objectPath.objectPathInfo.Id);\r\n var referenceId = object[Constants.referenceId];\r\n if (!Utility.isNullOrEmptyString(referenceId)) {\r\n var rootObject = this.m_context._rootObject;\r\n if (rootObject._RemoveReference) {\r\n rootObject._RemoveReference(referenceId);\r\n }\r\n }\r\n delete object[Constants.isTracked];\r\n };\r\n TrackedObjects.prototype._retrieveAndClearAutoCleanupList = function () {\r\n var list = this._autoCleanupList;\r\n this._autoCleanupList = {};\r\n return list;\r\n };\r\n return TrackedObjects;\r\n}());\r\nexports.TrackedObjects = TrackedObjects;\r\nvar RequestPrettyPrinter = (function () {\r\n function RequestPrettyPrinter(globalObjName, referencedObjectPaths, actions, showDispose, removePII) {\r\n if (!globalObjName) {\r\n globalObjName = \"root\";\r\n }\r\n this.m_globalObjName = globalObjName;\r\n this.m_referencedObjectPaths = referencedObjectPaths;\r\n this.m_actions = actions;\r\n this.m_statements = [];\r\n this.m_variableNameForObjectPathMap = {};\r\n this.m_variableNameToObjectPathMap = {};\r\n this.m_declaredObjectPathMap = {};\r\n this.m_showDispose = showDispose;\r\n this.m_removePII = removePII;\r\n }\r\n RequestPrettyPrinter.prototype.process = function () {\r\n if (this.m_showDispose) {\r\n ClientRequest._calculateLastUsedObjectPathIds(this.m_actions);\r\n }\r\n for (var i = 0; i < this.m_actions.length; i++) {\r\n this.processOneAction(this.m_actions[i]);\r\n }\r\n return this.m_statements;\r\n };\r\n RequestPrettyPrinter.prototype.processForDebugStatementInfo = function (actionIndex) {\r\n if (this.m_showDispose) {\r\n ClientRequest._calculateLastUsedObjectPathIds(this.m_actions);\r\n }\r\n var surroundingCount = 5;\r\n this.m_statements = [];\r\n var oneStatement = \"\";\r\n var statementIndex = -1;\r\n for (var i = 0; i < this.m_actions.length; i++) {\r\n this.processOneAction(this.m_actions[i]);\r\n if (actionIndex == i) {\r\n statementIndex = this.m_statements.length - 1;\r\n }\r\n if (statementIndex >= 0 && this.m_statements.length > statementIndex + surroundingCount + 1) {\r\n break;\r\n }\r\n }\r\n if (statementIndex < 0) {\r\n return null;\r\n }\r\n var startIndex = statementIndex - surroundingCount;\r\n if (startIndex < 0) {\r\n startIndex = 0;\r\n }\r\n var endIndex = statementIndex + 1 + surroundingCount;\r\n if (endIndex > this.m_statements.length) {\r\n endIndex = this.m_statements.length;\r\n }\r\n var surroundingStatements = [];\r\n if (startIndex != 0) {\r\n surroundingStatements.push(\"...\");\r\n }\r\n for (var i_1 = startIndex; i_1 < statementIndex; i_1++) {\r\n surroundingStatements.push(this.m_statements[i_1]);\r\n }\r\n surroundingStatements.push(\"// >>>>>\");\r\n surroundingStatements.push(this.m_statements[statementIndex]);\r\n surroundingStatements.push(\"// <<<<<\");\r\n for (var i_2 = statementIndex + 1; i_2 < endIndex; i_2++) {\r\n surroundingStatements.push(this.m_statements[i_2]);\r\n }\r\n if (endIndex < this.m_statements.length) {\r\n surroundingStatements.push(\"...\");\r\n }\r\n return {\r\n statement: this.m_statements[statementIndex],\r\n surroundingStatements: surroundingStatements\r\n };\r\n };\r\n RequestPrettyPrinter.prototype.processOneAction = function (action) {\r\n var actionInfo = action.actionInfo;\r\n switch (actionInfo.ActionType) {\r\n case 1:\r\n this.processInstantiateAction(action);\r\n break;\r\n case 3:\r\n this.processMethodAction(action);\r\n break;\r\n case 2:\r\n this.processQueryAction(action);\r\n break;\r\n case 7:\r\n this.processQueryAsJsonAction(action);\r\n break;\r\n case 6:\r\n this.processRecursiveQueryAction(action);\r\n break;\r\n case 4:\r\n this.processSetPropertyAction(action);\r\n break;\r\n case 5:\r\n this.processTraceAction(action);\r\n break;\r\n case 8:\r\n this.processEnsureUnchangedAction(action);\r\n break;\r\n case 9:\r\n this.processUpdateAction(action);\r\n break;\r\n }\r\n };\r\n RequestPrettyPrinter.prototype.processInstantiateAction = function (action) {\r\n var objId = action.actionInfo.ObjectPathId;\r\n var objPath = this.m_referencedObjectPaths[objId];\r\n var varName = this.getObjVarName(objId);\r\n if (!this.m_declaredObjectPathMap[objId]) {\r\n var statement = \"var \" + varName + \" = \" + this.buildObjectPathExpressionWithParent(objPath) + \";\";\r\n statement = this.appendDisposeCommentIfRelevant(statement, action);\r\n this.m_statements.push(statement);\r\n this.m_declaredObjectPathMap[objId] = varName;\r\n }\r\n else {\r\n var statement = \"// Instantiate {\" + varName + \"}\";\r\n statement = this.appendDisposeCommentIfRelevant(statement, action);\r\n this.m_statements.push(statement);\r\n }\r\n };\r\n RequestPrettyPrinter.prototype.processMethodAction = function (action) {\r\n var methodName = action.actionInfo.Name;\r\n if (methodName === \"_KeepReference\") {\r\n if (!exports._internalConfig.showInternalApiInDebugInfo) {\r\n return;\r\n }\r\n methodName = \"track\";\r\n }\r\n var statement = this.getObjVarName(action.actionInfo.ObjectPathId) + \".\" + Utility._toCamelLowerCase(methodName) + \"(\" + this.buildArgumentsExpression(action.actionInfo.ArgumentInfo) + \");\";\r\n statement = this.appendDisposeCommentIfRelevant(statement, action);\r\n this.m_statements.push(statement);\r\n };\r\n RequestPrettyPrinter.prototype.processQueryAction = function (action) {\r\n var queryExp = this.buildQueryExpression(action);\r\n var statement = this.getObjVarName(action.actionInfo.ObjectPathId) + \".load(\" + queryExp + \");\";\r\n statement = this.appendDisposeCommentIfRelevant(statement, action);\r\n this.m_statements.push(statement);\r\n };\r\n RequestPrettyPrinter.prototype.processQueryAsJsonAction = function (action) {\r\n var queryExp = this.buildQueryExpression(action);\r\n var statement = this.getObjVarName(action.actionInfo.ObjectPathId) + \".retrieve(\" + queryExp + \");\";\r\n statement = this.appendDisposeCommentIfRelevant(statement, action);\r\n this.m_statements.push(statement);\r\n };\r\n RequestPrettyPrinter.prototype.processRecursiveQueryAction = function (action) {\r\n var queryExp = \"\";\r\n if (action.actionInfo.RecursiveQueryInfo) {\r\n queryExp = JSON.stringify(action.actionInfo.RecursiveQueryInfo);\r\n }\r\n var statement = this.getObjVarName(action.actionInfo.ObjectPathId) + \".loadRecursive(\" + queryExp + \");\";\r\n statement = this.appendDisposeCommentIfRelevant(statement, action);\r\n this.m_statements.push(statement);\r\n };\r\n RequestPrettyPrinter.prototype.processSetPropertyAction = function (action) {\r\n var statement = this.getObjVarName(action.actionInfo.ObjectPathId) + \".\" + Utility._toCamelLowerCase(action.actionInfo.Name) + \" = \" + this.buildArgumentsExpression(action.actionInfo.ArgumentInfo) + \";\";\r\n statement = this.appendDisposeCommentIfRelevant(statement, action);\r\n this.m_statements.push(statement);\r\n };\r\n RequestPrettyPrinter.prototype.processTraceAction = function (action) {\r\n var statement = \"context.trace();\";\r\n statement = this.appendDisposeCommentIfRelevant(statement, action);\r\n this.m_statements.push(statement);\r\n };\r\n RequestPrettyPrinter.prototype.processEnsureUnchangedAction = function (action) {\r\n var statement = this.getObjVarName(action.actionInfo.ObjectPathId) + \".ensureUnchanged(\" + JSON.stringify(action.actionInfo.ObjectState) + \");\";\r\n statement = this.appendDisposeCommentIfRelevant(statement, action);\r\n this.m_statements.push(statement);\r\n };\r\n RequestPrettyPrinter.prototype.processUpdateAction = function (action) {\r\n var statement = this.getObjVarName(action.actionInfo.ObjectPathId) + \".update(\" + JSON.stringify(action.actionInfo.ObjectState) + \");\";\r\n statement = this.appendDisposeCommentIfRelevant(statement, action);\r\n this.m_statements.push(statement);\r\n };\r\n RequestPrettyPrinter.prototype.appendDisposeCommentIfRelevant = function (statement, action) {\r\n var _this = this;\r\n if (this.m_showDispose) {\r\n var lastUsedObjectPathIds = action.actionInfo.L;\r\n if (lastUsedObjectPathIds && lastUsedObjectPathIds.length > 0) {\r\n var objectNamesToDispose = lastUsedObjectPathIds.map(function (item) { return _this.getObjVarName(item); }).join(\", \");\r\n return statement + \" // And then dispose {\" + objectNamesToDispose + \"}\";\r\n }\r\n }\r\n return statement;\r\n };\r\n RequestPrettyPrinter.prototype.buildQueryExpression = function (action) {\r\n if (action.actionInfo.QueryInfo) {\r\n var option = {};\r\n option.select = action.actionInfo.QueryInfo.Select;\r\n option.expand = action.actionInfo.QueryInfo.Expand;\r\n option.skip = action.actionInfo.QueryInfo.Skip;\r\n option.top = action.actionInfo.QueryInfo.Top;\r\n if (typeof (option.top) === \"undefined\" && typeof (option.skip) === \"undefined\" && typeof (option.expand) === \"undefined\") {\r\n if (typeof (option.select) === \"undefined\") {\r\n return \"\";\r\n }\r\n else {\r\n return JSON.stringify(option.select);\r\n }\r\n }\r\n else {\r\n return JSON.stringify(option);\r\n }\r\n }\r\n return \"\";\r\n };\r\n RequestPrettyPrinter.prototype.buildObjectPathExpressionWithParent = function (objPath) {\r\n var hasParent = objPath.objectPathInfo.ObjectPathType == 5 ||\r\n objPath.objectPathInfo.ObjectPathType == 3 ||\r\n objPath.objectPathInfo.ObjectPathType == 4;\r\n if (hasParent && objPath.objectPathInfo.ParentObjectPathId) {\r\n return this.getObjVarName(objPath.objectPathInfo.ParentObjectPathId) + \".\" + this.buildObjectPathExpression(objPath);\r\n }\r\n return this.buildObjectPathExpression(objPath);\r\n };\r\n RequestPrettyPrinter.prototype.buildObjectPathExpression = function (objPath) {\r\n var expr = this.buildObjectPathInfoExpression(objPath.objectPathInfo);\r\n var originalObjectPathInfo = objPath.originalObjectPathInfo;\r\n if (originalObjectPathInfo) {\r\n expr = expr + \" /* originally \" + this.buildObjectPathInfoExpression(originalObjectPathInfo) + \" */\";\r\n }\r\n return expr;\r\n };\r\n RequestPrettyPrinter.prototype.buildObjectPathInfoExpression = function (objectPathInfo) {\r\n switch (objectPathInfo.ObjectPathType) {\r\n case 1:\r\n return \"context.\" + this.m_globalObjName;\r\n case 5:\r\n return \"getItem(\" + this.buildArgumentsExpression(objectPathInfo.ArgumentInfo) + \")\";\r\n case 3:\r\n return Utility._toCamelLowerCase(objectPathInfo.Name) + \"(\" + this.buildArgumentsExpression(objectPathInfo.ArgumentInfo) + \")\";\r\n case 2:\r\n return objectPathInfo.Name + \".newObject()\";\r\n case 7:\r\n return \"null\";\r\n case 4:\r\n return Utility._toCamelLowerCase(objectPathInfo.Name);\r\n case 6:\r\n return \"context.\" + this.m_globalObjName + \"._getObjectByReferenceId(\" + JSON.stringify(objectPathInfo.Name) + \")\";\r\n }\r\n };\r\n RequestPrettyPrinter.prototype.buildArgumentsExpression = function (args) {\r\n var ret = \"\";\r\n if (!args.Arguments || args.Arguments.length === 0) {\r\n return ret;\r\n }\r\n if (this.m_removePII) {\r\n if (typeof (args.Arguments[0]) === \"undefined\") {\r\n return ret;\r\n }\r\n return \"...\";\r\n }\r\n for (var i = 0; i < args.Arguments.length; i++) {\r\n if (i > 0) {\r\n ret = ret + \", \";\r\n }\r\n ret = ret + this.buildArgumentLiteral(args.Arguments[i], args.ReferencedObjectPathIds ? args.ReferencedObjectPathIds[i] : null);\r\n }\r\n if (ret === \"undefined\") {\r\n ret = \"\";\r\n }\r\n return ret;\r\n };\r\n RequestPrettyPrinter.prototype.buildArgumentLiteral = function (value, objectPathId) {\r\n if (typeof value == \"number\" && value === objectPathId) {\r\n return this.getObjVarName(objectPathId);\r\n }\r\n else {\r\n return JSON.stringify(value);\r\n }\r\n };\r\n RequestPrettyPrinter.prototype.getObjVarNameBase = function (objectPathId) {\r\n var ret = \"v\";\r\n var objPath = this.m_referencedObjectPaths[objectPathId];\r\n if (objPath) {\r\n switch (objPath.objectPathInfo.ObjectPathType) {\r\n case 1:\r\n ret = this.m_globalObjName;\r\n break;\r\n case 4:\r\n ret = Utility._toCamelLowerCase(objPath.objectPathInfo.Name);\r\n break;\r\n case 3:\r\n var methodName = objPath.objectPathInfo.Name;\r\n if (methodName.length > 3 && methodName.substr(0, 3) === \"Get\") {\r\n methodName = methodName.substr(3);\r\n }\r\n ret = Utility._toCamelLowerCase(methodName);\r\n break;\r\n case 5:\r\n var parentName = this.getObjVarNameBase(objPath.objectPathInfo.ParentObjectPathId);\r\n if (parentName.charAt(parentName.length - 1) === \"s\") {\r\n ret = parentName.substr(0, parentName.length - 1);\r\n }\r\n else {\r\n ret = parentName + \"Item\";\r\n }\r\n break;\r\n }\r\n }\r\n return ret;\r\n };\r\n RequestPrettyPrinter.prototype.getObjVarName = function (objectPathId) {\r\n if (this.m_variableNameForObjectPathMap[objectPathId]) {\r\n return this.m_variableNameForObjectPathMap[objectPathId];\r\n }\r\n var ret = this.getObjVarNameBase(objectPathId);\r\n if (!this.m_variableNameToObjectPathMap[ret]) {\r\n this.m_variableNameForObjectPathMap[objectPathId] = ret;\r\n this.m_variableNameToObjectPathMap[ret] = objectPathId;\r\n return ret;\r\n }\r\n var i = 1;\r\n while (this.m_variableNameToObjectPathMap[ret + i.toString()]) {\r\n i++;\r\n }\r\n ret = ret + i.toString();\r\n this.m_variableNameForObjectPathMap[objectPathId] = ret;\r\n this.m_variableNameToObjectPathMap[ret] = objectPathId;\r\n return ret;\r\n };\r\n return RequestPrettyPrinter;\r\n}());\r\nexports.RequestPrettyPrinter = RequestPrettyPrinter;\r\nvar ResourceStrings = (function () {\r\n function ResourceStrings() {\r\n }\r\n ResourceStrings.cannotRegisterEvent = \"CannotRegisterEvent\";\r\n ResourceStrings.connectionFailureWithStatus = \"ConnectionFailureWithStatus\";\r\n ResourceStrings.connectionFailureWithDetails = \"ConnectionFailureWithDetails\";\r\n ResourceStrings.invalidObjectPath = \"InvalidObjectPath\";\r\n ResourceStrings.invalidRequestContext = \"InvalidRequestContext\";\r\n ResourceStrings.invalidArgument = \"InvalidArgument\";\r\n ResourceStrings.invalidArgumentGeneric = \"InvalidArgumentGeneric\";\r\n ResourceStrings.propertyNotLoaded = \"PropertyNotLoaded\";\r\n ResourceStrings.runMustReturnPromise = \"RunMustReturnPromise\";\r\n ResourceStrings.timeout = \"Timeout\";\r\n ResourceStrings.propertyDoesNotExist = \"PropertyDoesNotExist\";\r\n ResourceStrings.attemptingToSetReadOnlyProperty = \"AttemptingToSetReadOnlyProperty\";\r\n ResourceStrings.moreInfoInnerError = \"MoreInfoInnerError\";\r\n ResourceStrings.cannotApplyPropertyThroughSetMethod = \"CannotApplyPropertyThroughSetMethod\";\r\n ResourceStrings.valueNotLoaded = \"ValueNotLoaded\";\r\n ResourceStrings.invalidOrTimedOutSessionMessage = \"InvalidOrTimedOutSessionMessage\";\r\n ResourceStrings.invalidOperationInCellEditMode = \"InvalidOperationInCellEditMode\";\r\n ResourceStrings.objectIsUntracked = \"ObjectIsUntracked\";\r\n ResourceStrings.customFunctionDefintionMissing = \"CustomFunctionDefintionMissing\";\r\n ResourceStrings.customFunctionImplementationMissing = \"CustomFunctionImplementationMissing\";\r\n ResourceStrings.customFunctionNameContainsBadChars = \"CustomFunctionNameContainsBadChars\";\r\n ResourceStrings.customFunctionNameCannotSplit = \"CustomFunctionNameCannotSplit\";\r\n ResourceStrings.customFunctionUnexpectedNumberOfEntriesInResultBatch = \"CustomFunctionUnexpectedNumberOfEntriesInResultBatch\";\r\n ResourceStrings.customFunctionCancellationHandlerMissing = \"CustomFunctionCancellationHandlerMissing\";\r\n ResourceStrings.apiNotFoundDetails = \"ApiNotFoundDetails\";\r\n ResourceStrings.pendingBatchInProgress = \"PendingBatchInProgress\";\r\n ResourceStrings.notInsideBatch = \"NotInsideBatch\";\r\n ResourceStrings.cannotUpdateReadOnlyProperty = \"CannotUpdateReadOnlyProperty\";\r\n return ResourceStrings;\r\n}());\r\nexports.ResourceStrings = ResourceStrings;\r\nvar ResourceStringValues = (function () {\r\n function ResourceStringValues() {\r\n }\r\n ResourceStringValues.CannotRegisterEvent = \"The event handler cannot be registered.\";\r\n ResourceStringValues.ConnectionFailureWithStatus = \"The request failed with status code of {0}.\";\r\n ResourceStringValues.ConnectionFailureWithDetails = \"The request failed with status code of {0}, error code {1} and the following error message: {2}\";\r\n ResourceStringValues.InvalidArgument = \"The argument '{0}' doesn't work for this situation, is missing, or isn't in the right format.\";\r\n ResourceStringValues.InvalidObjectPath = \"The object path '{0}' isn't working for what you're trying to do. If you're using the object across multiple \\\"context.sync\\\" calls and outside the sequential execution of a \\\".run\\\" batch, please use the \\\"context.trackedObjects.add()\\\" and \\\"context.trackedObjects.remove()\\\" methods to manage the object's lifetime.\";\r\n ResourceStringValues.InvalidRequestContext = \"Cannot use the object across different request contexts.\";\r\n ResourceStringValues.PropertyNotLoaded = \"The property '{0}' is not available. Before reading the property's value, call the load method on the containing object and call \\\"context.sync()\\\" on the associated request context.\";\r\n ResourceStringValues.RunMustReturnPromise = \"The batch function passed to the \\\".run\\\" method didn't return a promise. The function must return a promise, so that any automatically-tracked objects can be released at the completion of the batch operation. Typically, you return a promise by returning the response from \\\"context.sync()\\\".\";\r\n ResourceStringValues.Timeout = \"The operation has timed out.\";\r\n ResourceStringValues.ValueNotLoaded = \"The value of the result object has not been loaded yet. Before reading the value property, call \\\"context.sync()\\\" on the associated request context.\";\r\n ResourceStringValues.InvalidOrTimedOutSessionMessage = \"Your Office Online session has expired or is invalid. To continue, refresh the page.\";\r\n ResourceStringValues.InvalidOperationInCellEditMode = \"Excel is in cell-editing mode. Please exit the edit mode by pressing ENTER or TAB or selecting another cell, and then try again.\";\r\n ResourceStringValues.CustomFunctionDefintionMissing = \"A property with this name that represents the function's definition must exist on Excel.Script.CustomFunctions.\";\r\n ResourceStringValues.CustomFunctionImplementationMissing = \"The property with this name on Excel.Script.CustomFunctions that represents the function's definition must contain a 'call' property that implements the function.\";\r\n ResourceStringValues.CustomFunctionNameContainsBadChars = \"The function name may only contain letters, digits, underscores, and periods.\";\r\n ResourceStringValues.CustomFunctionNameCannotSplit = \"The function name must contain a non-empty namespace and a non-empty short name.\";\r\n ResourceStringValues.CustomFunctionUnexpectedNumberOfEntriesInResultBatch = \"The batching function returned a number of results that doesn't match the number of parameter value sets that were passed into it.\";\r\n ResourceStringValues.CustomFunctionCancellationHandlerMissing = \"The cancellation handler onCanceled is missing in the function. The handler must be present as the function is defined as cancelable.\";\r\n ResourceStringValues.ApiNotFoundDetails = \"The method or property {0} is part of the {1} requirement set, which is not available in your version of {2}.\";\r\n ResourceStringValues.PendingBatchInProgress = \"There is a pending batch in progress. The batch method may not be called inside another batch, or simultaneously with another batch.\";\r\n ResourceStringValues.NotInsideBatch = \"Operations may not be invoked outside of a batch method.\";\r\n ResourceStringValues.CannotUpdateReadOnlyProperty = \"The property '{0}' is read-only and it cannot be updated.\";\r\n ResourceStringValues.ObjectIsUntracked = \"The object is untracked.\";\r\n return ResourceStringValues;\r\n}());\r\nexports.ResourceStringValues = ResourceStringValues;\r\nvar RichApiMessageUtility = (function () {\r\n function RichApiMessageUtility() {\r\n }\r\n RichApiMessageUtility.buildMessageArrayForIRequestExecutor = function (customData, requestFlags, requestMessage, sourceLibHeaderValue) {\r\n var requestMessageText = JSON.stringify(requestMessage.Body);\r\n Utility.log(\"Request:\");\r\n Utility.log(requestMessageText);\r\n var headers = {};\r\n headers[Constants.sourceLibHeader] = sourceLibHeaderValue;\r\n var messageSafearray = RichApiMessageUtility.buildRequestMessageSafeArray(customData, requestFlags, \"POST\", \"ProcessQuery\", headers, requestMessageText);\r\n return messageSafearray;\r\n };\r\n RichApiMessageUtility.buildResponseOnSuccess = function (responseBody, responseHeaders) {\r\n var response = { ErrorCode: '', ErrorMessage: '', Headers: null, Body: null };\r\n response.Body = JSON.parse(responseBody);\r\n response.Headers = responseHeaders;\r\n return response;\r\n };\r\n RichApiMessageUtility.buildResponseOnError = function (errorCode, message) {\r\n var response = { ErrorCode: '', ErrorMessage: '', Headers: null, Body: null };\r\n response.ErrorCode = ErrorCodes.generalException;\r\n response.ErrorMessage = message;\r\n if (errorCode == RichApiMessageUtility.OfficeJsErrorCode_ooeNoCapability) {\r\n response.ErrorCode = ErrorCodes.accessDenied;\r\n }\r\n else if (errorCode == RichApiMessageUtility.OfficeJsErrorCode_ooeActivityLimitReached) {\r\n response.ErrorCode = ErrorCodes.activityLimitReached;\r\n }\r\n else if (errorCode == RichApiMessageUtility.OfficeJsErrorCode_ooeInvalidOrTimedOutSession) {\r\n response.ErrorCode = ErrorCodes.invalidOrTimedOutSession;\r\n response.ErrorMessage = Utility._getResourceString(ResourceStrings.invalidOrTimedOutSessionMessage);\r\n }\r\n return response;\r\n };\r\n RichApiMessageUtility.buildHttpResponseFromOfficeJsError = function (errorCode, message) {\r\n var statusCode = 500;\r\n var errorBody = {};\r\n errorBody[\"error\"] = {};\r\n errorBody[\"error\"][\"code\"] = ErrorCodes.generalException;\r\n errorBody[\"error\"][\"message\"] = message;\r\n if (errorCode === RichApiMessageUtility.OfficeJsErrorCode_ooeNoCapability) {\r\n statusCode = 403;\r\n errorBody[\"error\"][\"code\"] = ErrorCodes.accessDenied;\r\n }\r\n else if (errorCode === RichApiMessageUtility.OfficeJsErrorCode_ooeActivityLimitReached) {\r\n statusCode = 429;\r\n errorBody[\"error\"][\"code\"] = ErrorCodes.activityLimitReached;\r\n }\r\n return { statusCode: statusCode, headers: {}, body: JSON.stringify(errorBody) };\r\n };\r\n RichApiMessageUtility.buildRequestMessageSafeArray = function (customData, requestFlags, method, path, headers, body) {\r\n var headerArray = [];\r\n if (headers) {\r\n for (var headerName in headers) {\r\n headerArray.push(headerName);\r\n headerArray.push(headers[headerName]);\r\n }\r\n }\r\n var appPermission = 0;\r\n var solutionId = \"\";\r\n var instanceId = \"\";\r\n var marketplaceType = \"\";\r\n return [\r\n customData,\r\n method,\r\n path,\r\n headerArray,\r\n body,\r\n appPermission,\r\n requestFlags,\r\n solutionId,\r\n instanceId,\r\n marketplaceType\r\n ];\r\n };\r\n RichApiMessageUtility.getResponseBody = function (result) {\r\n return RichApiMessageUtility.getResponseBodyFromSafeArray(result.value.data);\r\n };\r\n RichApiMessageUtility.getResponseHeaders = function (result) {\r\n return RichApiMessageUtility.getResponseHeadersFromSafeArray(result.value.data);\r\n };\r\n RichApiMessageUtility.getResponseBodyFromSafeArray = function (data) {\r\n var ret = data[2];\r\n if (typeof (ret) === \"string\") {\r\n return ret;\r\n }\r\n var arr = ret;\r\n return arr.join(\"\");\r\n };\r\n RichApiMessageUtility.getResponseHeadersFromSafeArray = function (data) {\r\n var arrayHeader = data[1];\r\n if (!arrayHeader) {\r\n return null;\r\n }\r\n var headers = {};\r\n for (var i = 0; i < arrayHeader.length - 1; i += 2) {\r\n headers[arrayHeader[i]] = arrayHeader[i + 1];\r\n }\r\n return headers;\r\n };\r\n RichApiMessageUtility.getResponseStatusCode = function (result) {\r\n return RichApiMessageUtility.getResponseStatusCodeFromSafeArray(result.value.data);\r\n };\r\n RichApiMessageUtility.getResponseStatusCodeFromSafeArray = function (data) {\r\n return data[0];\r\n };\r\n RichApiMessageUtility.OfficeJsErrorCode_ooeInvalidOrTimedOutSession = 5012;\r\n RichApiMessageUtility.OfficeJsErrorCode_ooeActivityLimitReached = 5102;\r\n RichApiMessageUtility.OfficeJsErrorCode_ooeNoCapability = 7000;\r\n return RichApiMessageUtility;\r\n}());\r\nexports.RichApiMessageUtility = RichApiMessageUtility;\r\nvar Utility = (function () {\r\n function Utility() {\r\n }\r\n Utility.checkArgumentNull = function (value, name) {\r\n if (Utility.isNullOrUndefined(value)) {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: name });\r\n }\r\n };\r\n Utility.isNullOrUndefined = function (value) {\r\n if (value === null) {\r\n return true;\r\n }\r\n if (typeof (value) === \"undefined\") {\r\n return true;\r\n }\r\n return false;\r\n };\r\n Utility.isUndefined = function (value) {\r\n if (typeof (value) === \"undefined\") {\r\n return true;\r\n }\r\n return false;\r\n };\r\n Utility.isNullOrEmptyString = function (value) {\r\n if (value === null) {\r\n return true;\r\n }\r\n if (typeof (value) === \"undefined\") {\r\n return true;\r\n }\r\n if (value.length == 0) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n Utility.isPlainJsonObject = function (value) {\r\n if (Utility.isNullOrUndefined(value)) {\r\n return false;\r\n }\r\n if (typeof (value) !== \"object\") {\r\n return false;\r\n }\r\n return Object.getPrototypeOf(value) === Object.getPrototypeOf({});\r\n };\r\n Utility.trim = function (str) {\r\n return str.replace(new RegExp(\"^\\\\s+|\\\\s+$\", \"g\"), \"\");\r\n };\r\n Utility.caseInsensitiveCompareString = function (str1, str2) {\r\n if (Utility.isNullOrUndefined(str1)) {\r\n return Utility.isNullOrUndefined(str2);\r\n }\r\n else {\r\n if (Utility.isNullOrUndefined(str2)) {\r\n return false;\r\n }\r\n else {\r\n return str1.toUpperCase() == str2.toUpperCase();\r\n }\r\n }\r\n };\r\n Utility.adjustToDateTime = function (value) {\r\n if (Utility.isNullOrUndefined(value)) {\r\n return null;\r\n }\r\n if (typeof (value) === \"string\") {\r\n return new Date(value);\r\n }\r\n if (Array.isArray(value)) {\r\n var arr = value;\r\n for (var i = 0; i < arr.length; i++) {\r\n arr[i] = Utility.adjustToDateTime(arr[i]);\r\n }\r\n return arr;\r\n }\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"date\" });\r\n };\r\n Utility.isReadonlyRestRequest = function (method) {\r\n return Utility.caseInsensitiveCompareString(method, \"GET\");\r\n };\r\n Utility.setMethodArguments = function (context, argumentInfo, args) {\r\n if (Utility.isNullOrUndefined(args)) {\r\n return null;\r\n }\r\n var referencedObjectPaths = new Array();\r\n var referencedObjectPathIds = new Array();\r\n var hasOne = Utility.collectObjectPathInfos(context, args, referencedObjectPaths, referencedObjectPathIds);\r\n argumentInfo.Arguments = args;\r\n if (hasOne) {\r\n argumentInfo.ReferencedObjectPathIds = referencedObjectPathIds;\r\n }\r\n return referencedObjectPaths;\r\n };\r\n Utility.collectObjectPathInfos = function (context, args, referencedObjectPaths, referencedObjectPathIds) {\r\n var hasOne = false;\r\n for (var i = 0; i < args.length; i++) {\r\n if (args[i] instanceof ClientObject) {\r\n var clientObject = args[i];\r\n Utility.validateContext(context, clientObject);\r\n args[i] = clientObject._objectPath.objectPathInfo.Id;\r\n referencedObjectPathIds.push(clientObject._objectPath.objectPathInfo.Id);\r\n referencedObjectPaths.push(clientObject._objectPath);\r\n hasOne = true;\r\n }\r\n else if (Array.isArray(args[i])) {\r\n var childArrayObjectPathIds = new Array();\r\n var childArrayHasOne = Utility.collectObjectPathInfos(context, args[i], referencedObjectPaths, childArrayObjectPathIds);\r\n if (childArrayHasOne) {\r\n referencedObjectPathIds.push(childArrayObjectPathIds);\r\n hasOne = true;\r\n }\r\n else {\r\n referencedObjectPathIds.push(0);\r\n }\r\n }\r\n else if (Utility.isPlainJsonObject(args[i])) {\r\n referencedObjectPathIds.push(0);\r\n Utility.replaceClientObjectPropertiesWithObjectPathIds(args[i], referencedObjectPaths);\r\n }\r\n else {\r\n referencedObjectPathIds.push(0);\r\n }\r\n }\r\n return hasOne;\r\n };\r\n Utility.replaceClientObjectPropertiesWithObjectPathIds = function (value, referencedObjectPaths) {\r\n for (var key in value) {\r\n var propValue = value[key];\r\n if (propValue instanceof ClientObject) {\r\n referencedObjectPaths.push(propValue._objectPath);\r\n value[key] = (_a = {}, _a[Constants.objectPathIdPrivate] = propValue._objectPath.objectPathInfo.Id, _a);\r\n }\r\n else if (Array.isArray(propValue)) {\r\n for (var i = 0; i < propValue.length; i++) {\r\n if (propValue[i] instanceof ClientObject) {\r\n var elem = propValue[i];\r\n referencedObjectPaths.push(elem._objectPath);\r\n propValue[i] = (_b = {}, _b[Constants.objectPathIdPrivate] = elem._objectPath.objectPathInfo.Id, _b);\r\n }\r\n else if (Utility.isPlainJsonObject(propValue[i])) {\r\n Utility.replaceClientObjectPropertiesWithObjectPathIds(propValue[i], referencedObjectPaths);\r\n }\r\n }\r\n }\r\n else if (Utility.isPlainJsonObject(propValue)) {\r\n Utility.replaceClientObjectPropertiesWithObjectPathIds(propValue, referencedObjectPaths);\r\n }\r\n else {\r\n }\r\n }\r\n var _a, _b;\r\n };\r\n Utility.fixObjectPathIfNecessary = function (clientObject, value) {\r\n if (clientObject && clientObject._objectPath && value) {\r\n clientObject._objectPath.updateUsingObjectData(value, clientObject);\r\n }\r\n };\r\n Utility.tryGetObjectIdFromLoadOrRetrieveResult = function (value) {\r\n var id = value[Constants.id];\r\n if (Utility.isNullOrUndefined(id)) {\r\n id = value[Constants.idLowerCase];\r\n }\r\n if (Utility.isNullOrUndefined(id)) {\r\n id = value[Constants.idPrivate];\r\n }\r\n return id;\r\n };\r\n Utility.validateObjectPath = function (clientObject) {\r\n var objectPath = clientObject._objectPath;\r\n while (objectPath) {\r\n if (!objectPath.isValid) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidObjectPath,\r\n message: Utility._getResourceString(ResourceStrings.invalidObjectPath, Utility.getObjectPathExpression(objectPath)),\r\n debugInfo: {\r\n errorLocation: Utility.getObjectPathExpression(objectPath)\r\n }\r\n });\r\n }\r\n objectPath = objectPath.parentObjectPath;\r\n }\r\n };\r\n Utility.validateReferencedObjectPaths = function (objectPaths) {\r\n if (objectPaths) {\r\n for (var i = 0; i < objectPaths.length; i++) {\r\n var objectPath = objectPaths[i];\r\n while (objectPath) {\r\n if (!objectPath.isValid) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidObjectPath,\r\n message: Utility._getResourceString(ResourceStrings.invalidObjectPath, Utility.getObjectPathExpression(objectPath))\r\n });\r\n }\r\n objectPath = objectPath.parentObjectPath;\r\n }\r\n }\r\n }\r\n };\r\n Utility.validateContext = function (context, obj) {\r\n if (obj && obj.context !== context) {\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.invalidRequestContext,\r\n message: Utility._getResourceString(ResourceStrings.invalidRequestContext)\r\n });\r\n }\r\n };\r\n Utility.log = function (message) {\r\n if (Utility._logEnabled && typeof (console) !== \"undefined\" && console.log) {\r\n console.log(message);\r\n }\r\n };\r\n Utility.load = function (clientObj, option) {\r\n clientObj.context.load(clientObj, option);\r\n return clientObj;\r\n };\r\n Utility.loadAndSync = function (clientObj, option) {\r\n clientObj.context.load(clientObj, option);\r\n return clientObj.context.sync().then(function () { return clientObj; });\r\n };\r\n Utility.retrieve = function (clientObj, option) {\r\n var shouldPolyfill = exports._internalConfig.alwaysPolyfillClientObjectRetrieveMethod;\r\n if (!shouldPolyfill) {\r\n shouldPolyfill = !Utility.isSetSupported(\"RichApiRuntime\", \"1.1\");\r\n }\r\n var result = new RetrieveResultImpl(clientObj, shouldPolyfill);\r\n var queryOption = ClientRequestContext._parseQueryOption(option);\r\n var action;\r\n if (shouldPolyfill) {\r\n action = ActionFactory.createQueryAction(clientObj.context, clientObj, queryOption);\r\n }\r\n else {\r\n action = ActionFactory.createQueryAsJsonAction(clientObj.context, clientObj, queryOption);\r\n }\r\n clientObj.context._pendingRequest.addActionResultHandler(action, result);\r\n return result;\r\n };\r\n Utility.retrieveAndSync = function (clientObj, option) {\r\n var result = Utility.retrieve(clientObj, option);\r\n return clientObj.context.sync().then(function () { return result; });\r\n };\r\n Utility.isSetSupported = function (apiSetName, apiSetVersion) {\r\n if (typeof (window) !== \"undefined\" && window.Office && window.Office.context && window.Office.context.requirements) {\r\n return window.Office.context.requirements.isSetSupported(apiSetName, apiSetVersion);\r\n }\r\n return true;\r\n };\r\n Utility._parseSelectExpand = function (select) {\r\n var args = [];\r\n if (!Utility.isNullOrEmptyString(select)) {\r\n var propertyNames = select.split(\",\");\r\n for (var i = 0; i < propertyNames.length; i++) {\r\n var propertyName = propertyNames[i];\r\n propertyName = sanitizeForAnyItemsSlash(propertyName.trim());\r\n if (propertyName.length > 0) {\r\n args.push(propertyName);\r\n }\r\n }\r\n }\r\n return args;\r\n function sanitizeForAnyItemsSlash(propertyName) {\r\n var propertyNameLower = propertyName.toLowerCase();\r\n if (propertyNameLower === \"items\" || propertyNameLower === \"items/\") {\r\n return '*';\r\n }\r\n var itemsSlashLength = 6;\r\n var isItemsSlashOrItemsDot = propertyNameLower.substr(0, itemsSlashLength) === \"items/\" ||\r\n propertyNameLower.substr(0, itemsSlashLength) === \"items.\";\r\n if (isItemsSlashOrItemsDot) {\r\n propertyName = propertyName.substr(itemsSlashLength);\r\n }\r\n return propertyName.replace(new RegExp(\"[\\/\\.]items[\\/\\.]\", \"gi\"), \"/\");\r\n }\r\n };\r\n Utility.toJson = function (clientObj, scalarProperties, navigationProperties, collectionItemsIfAny) {\r\n var result = {};\r\n for (var prop in scalarProperties) {\r\n var value = scalarProperties[prop];\r\n if (typeof value !== \"undefined\") {\r\n result[prop] = value;\r\n }\r\n }\r\n for (var prop in navigationProperties) {\r\n var value = navigationProperties[prop];\r\n if (typeof value !== \"undefined\") {\r\n if (value[Utility.fieldName_isCollection] && (typeof value[Utility.fieldName_m__items] !== \"undefined\")) {\r\n result[prop] = value.toJSON()[\"items\"];\r\n }\r\n else {\r\n result[prop] = value.toJSON();\r\n }\r\n }\r\n }\r\n if (collectionItemsIfAny) {\r\n result[\"items\"] = collectionItemsIfAny.map(function (item) { return item.toJSON(); });\r\n }\r\n return result;\r\n };\r\n Utility.throwError = function (resourceId, arg, errorLocation) {\r\n throw new _Internal.RuntimeError({\r\n code: resourceId,\r\n message: Utility._getResourceString(resourceId, arg),\r\n debugInfo: errorLocation ? { errorLocation: errorLocation } : undefined\r\n });\r\n };\r\n Utility.createRuntimeError = function (code, message, location) {\r\n return (new _Internal.RuntimeError({\r\n code: code,\r\n message: message,\r\n debugInfo: { errorLocation: location }\r\n }));\r\n };\r\n Utility._getResourceString = function (resourceId, arg) {\r\n var ret;\r\n if (typeof (window) !== \"undefined\" && window.Strings && window.Strings.OfficeOM) {\r\n var stringName = \"L_\" + resourceId;\r\n var stringValue = window.Strings.OfficeOM[stringName];\r\n if (stringValue) {\r\n ret = stringValue;\r\n }\r\n }\r\n if (!ret) {\r\n ret = ResourceStringValues[resourceId];\r\n }\r\n if (!ret) {\r\n ret = resourceId;\r\n }\r\n if (!Utility.isNullOrUndefined(arg)) {\r\n if (Array.isArray(arg)) {\r\n var arrArg = arg;\r\n ret = Utility._formatString(ret, arrArg);\r\n }\r\n else {\r\n ret = ret.replace(\"{0}\", arg);\r\n }\r\n }\r\n return ret;\r\n };\r\n Utility._formatString = function (format, arrArg) {\r\n return format.replace(/\\{\\d\\}/g, function (v) {\r\n var position = parseInt(v.substr(1, v.length - 2));\r\n if (position < arrArg.length) {\r\n return arrArg[position];\r\n }\r\n else {\r\n throw _Internal.RuntimeError._createInvalidArgError({ argumentName: \"format\" });\r\n }\r\n });\r\n };\r\n Utility.throwIfNotLoaded = function (propertyName, fieldValue, entityName, isNull) {\r\n if (!isNull && Utility.isUndefined(fieldValue) && propertyName.charCodeAt(0) != Utility.s_underscoreCharCode) {\r\n throw Utility.createPropertyNotLoadedException(entityName, propertyName);\r\n }\r\n };\r\n Utility.createPropertyNotLoadedException = function (entityName, propertyName) {\r\n return new _Internal.RuntimeError({\r\n code: ErrorCodes.propertyNotLoaded,\r\n message: Utility._getResourceString(ResourceStrings.propertyNotLoaded, propertyName),\r\n debugInfo: entityName ? { errorLocation: entityName + \".\" + propertyName } : undefined\r\n });\r\n };\r\n Utility.createCannotUpdateReadOnlyPropertyException = function (entityName, propertyName) {\r\n return new _Internal.RuntimeError({\r\n code: ErrorCodes.cannotUpdateReadOnlyProperty,\r\n message: Utility._getResourceString(ResourceStrings.cannotUpdateReadOnlyProperty, propertyName),\r\n debugInfo: entityName ? { errorLocation: entityName + \".\" + propertyName } : undefined\r\n });\r\n };\r\n Utility.throwIfApiNotSupported = function (apiFullName, apiSetName, apiSetVersion, hostName) {\r\n if (!Utility._doApiNotSupportedCheck) {\r\n return;\r\n }\r\n if (!Utility.isSetSupported(apiSetName, apiSetVersion)) {\r\n var message = Utility._getResourceString(ResourceStrings.apiNotFoundDetails, [apiFullName, apiSetName + \" \" + apiSetVersion, hostName]);\r\n throw new _Internal.RuntimeError({\r\n code: ErrorCodes.apiNotFound,\r\n message: message,\r\n debugInfo: { errorLocation: apiFullName }\r\n });\r\n }\r\n };\r\n Utility.getObjectPathExpression = function (objectPath) {\r\n var ret = \"\";\r\n while (objectPath) {\r\n switch (objectPath.objectPathInfo.ObjectPathType) {\r\n case 1:\r\n ret = ret;\r\n break;\r\n case 2:\r\n ret = \"new()\" + (ret.length > 0 ? \".\" : \"\") + ret;\r\n break;\r\n case 3:\r\n ret = Utility.normalizeName(objectPath.objectPathInfo.Name) + \"()\" + (ret.length > 0 ? \".\" : \"\") + ret;\r\n break;\r\n case 4:\r\n ret = Utility.normalizeName(objectPath.objectPathInfo.Name) + (ret.length > 0 ? \".\" : \"\") + ret;\r\n break;\r\n case 5:\r\n ret = \"getItem()\" + (ret.length > 0 ? \".\" : \"\") + ret;\r\n break;\r\n case 6:\r\n ret = \"_reference()\" + (ret.length > 0 ? \".\" : \"\") + ret;\r\n break;\r\n }\r\n objectPath = objectPath.parentObjectPath;\r\n }\r\n return ret;\r\n };\r\n Utility._createPromiseFromResult = function (value) {\r\n return new CoreUtility.Promise(function (resolve, reject) {\r\n resolve(value);\r\n });\r\n };\r\n Utility._createTimeoutPromise = function (timeout) {\r\n return new CoreUtility.Promise(function (resolve, reject) {\r\n setTimeout(function () {\r\n resolve(null);\r\n }, timeout);\r\n });\r\n };\r\n Utility.promisify = function (action) {\r\n return new CoreUtility.Promise(function (resolve, reject) {\r\n var callback = function (result) {\r\n if (result.status == \"failed\") {\r\n reject(result.error);\r\n }\r\n else {\r\n resolve(result.value);\r\n }\r\n };\r\n action(callback);\r\n });\r\n };\r\n Utility._addActionResultHandler = function (clientObj, action, resultHandler) {\r\n clientObj.context._pendingRequest.addActionResultHandler(action, resultHandler);\r\n };\r\n Utility._handleNavigationPropertyResults = function (clientObj, objectValue, propertyNames) {\r\n for (var i = 0; i < propertyNames.length - 1; i += 2) {\r\n if (!Utility.isUndefined(objectValue[propertyNames[i + 1]])) {\r\n clientObj[propertyNames[i]]._handleResult(objectValue[propertyNames[i + 1]]);\r\n }\r\n }\r\n };\r\n Utility.normalizeName = function (name) {\r\n return name.substr(0, 1).toLowerCase() + name.substr(1);\r\n };\r\n Utility._isLocalDocumentUrl = function (url) {\r\n return Utility._getLocalDocumentUrlPrefixLength(url) > 0;\r\n };\r\n Utility._getLocalDocumentUrlPrefixLength = function (url) {\r\n var localDocumentPrefixes = [\"http://document.localhost\", \"https://document.localhost\", \"//document.localhost\"];\r\n var urlLower = url.toLowerCase().trim();\r\n for (var i = 0; i < localDocumentPrefixes.length; i++) {\r\n if (urlLower === localDocumentPrefixes[i]) {\r\n return localDocumentPrefixes[i].length;\r\n }\r\n else if (urlLower.substr(0, localDocumentPrefixes[i].length + 1) === localDocumentPrefixes[i] + \"/\") {\r\n return localDocumentPrefixes[i].length + 1;\r\n }\r\n }\r\n return 0;\r\n };\r\n Utility._validateLocalDocumentRequest = function (request) {\r\n var index = Utility._getLocalDocumentUrlPrefixLength(request.url);\r\n if (index <= 0) {\r\n throw _Internal.RuntimeError._createInvalidArgError({\r\n argumentName: \"request\"\r\n });\r\n }\r\n var path = request.url.substr(index);\r\n var pathLower = path.toLowerCase();\r\n if (pathLower === \"_api\") {\r\n path = \"\";\r\n }\r\n else if (pathLower.substr(0, \"_api/\".length) === \"_api/\") {\r\n path = path.substr(\"_api/\".length);\r\n }\r\n return {\r\n method: request.method,\r\n url: path,\r\n headers: request.headers,\r\n body: request.body\r\n };\r\n };\r\n Utility._buildRequestMessageSafeArray = function (request) {\r\n var requestFlags = 0;\r\n if (!Utility.isReadonlyRestRequest(request.method)) {\r\n requestFlags = 1;\r\n }\r\n if (request.url.substr(0, Constants.processQuery.length).toLowerCase() === Constants.processQuery.toLowerCase()) {\r\n var index = request.url.indexOf(\"?\");\r\n if (index > 0) {\r\n var queryString = request.url.substr(index + 1);\r\n var parts = queryString.split(\"&\");\r\n for (var i = 0; i < parts.length; i++) {\r\n var keyvalue = parts[i].split(\"=\");\r\n if (keyvalue[0].toLowerCase() === Constants.flags) {\r\n var flags = parseInt(keyvalue[1]);\r\n requestFlags = flags;\r\n requestFlags = requestFlags & 1;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return RichApiMessageUtility.buildRequestMessageSafeArray(\"\", requestFlags, request.method, request.url, request.headers, request.body);\r\n };\r\n Utility._parseHttpResponseHeaders = function (allResponseHeaders) {\r\n var responseHeaders = {};\r\n if (!Utility.isNullOrEmptyString(allResponseHeaders)) {\r\n var regex = new RegExp(\"\\r?\\n\");\r\n var entries = allResponseHeaders.split(regex);\r\n for (var i = 0; i < entries.length; i++) {\r\n var entry = entries[i];\r\n if (entry != null) {\r\n var index = entry.indexOf(':');\r\n if (index > 0) {\r\n var key = entry.substr(0, index);\r\n var value = entry.substr(index + 1);\r\n key = Utility.trim(key);\r\n value = Utility.trim(value);\r\n responseHeaders[key.toUpperCase()] = value;\r\n }\r\n }\r\n }\r\n }\r\n return responseHeaders;\r\n };\r\n Utility._parseErrorResponse = function (responseInfo) {\r\n var errorObj = null;\r\n if (Utility.isPlainJsonObject(responseInfo.body)) {\r\n errorObj = responseInfo.body;\r\n }\r\n else if (!Utility.isNullOrEmptyString(responseInfo.body)) {\r\n var errorResponseBody = Utility.trim(responseInfo.body);\r\n try {\r\n errorObj = JSON.parse(errorResponseBody);\r\n }\r\n catch (e) {\r\n Utility.log(\"Error when parse \" + errorResponseBody);\r\n }\r\n }\r\n var errorMessage;\r\n var errorCode;\r\n if (!Utility.isNullOrUndefined(errorObj) && typeof (errorObj) === \"object\" && errorObj.error) {\r\n errorCode = errorObj.error.code;\r\n errorMessage = Utility._getResourceString(ResourceStrings.connectionFailureWithDetails, [responseInfo.statusCode.toString(), errorObj.error.code, errorObj.error.message]);\r\n }\r\n else {\r\n errorMessage = Utility._getResourceString(ResourceStrings.connectionFailureWithStatus, responseInfo.statusCode.toString());\r\n }\r\n if (Utility.isNullOrEmptyString(errorCode)) {\r\n errorCode = ErrorCodes.connectionFailure;\r\n }\r\n return { errorCode: errorCode, errorMessage: errorMessage };\r\n };\r\n Utility._copyHeaders = function (src, dest) {\r\n if (src && dest) {\r\n for (var key in src) {\r\n dest[key] = src[key];\r\n }\r\n }\r\n };\r\n Utility._toCamelLowerCase = function (name) {\r\n if (Utility.isNullOrEmptyString(name)) {\r\n return name;\r\n }\r\n var index = 0;\r\n while (index < name.length && name.charCodeAt(index) >= 65 && name.charCodeAt(index) <= 90) {\r\n index++;\r\n }\r\n if (index < name.length) {\r\n return name.substr(0, index).toLowerCase() + name.substr(index);\r\n }\r\n else {\r\n return name.toLowerCase();\r\n }\r\n };\r\n Utility._fixupApiFlags = function (flags) {\r\n if (typeof (flags) === \"boolean\") {\r\n if (flags) {\r\n flags = 1;\r\n }\r\n else {\r\n flags = 0;\r\n }\r\n }\r\n return flags;\r\n };\r\n Utility.definePropertyThrowUnloadedException = function (obj, typeName, propertyName) {\r\n Object.defineProperty(obj, propertyName, {\r\n configurable: true,\r\n enumerable: true,\r\n get: function () {\r\n throw Utility.createPropertyNotLoadedException(typeName, propertyName);\r\n },\r\n set: function () {\r\n throw Utility.createCannotUpdateReadOnlyPropertyException(typeName, propertyName);\r\n }\r\n });\r\n };\r\n Utility.defineReadOnlyPropertyWithValue = function (obj, propertyName, value) {\r\n Object.defineProperty(obj, propertyName, {\r\n configurable: true,\r\n enumerable: true,\r\n get: function () {\r\n return value;\r\n },\r\n set: function () {\r\n throw Utility.createCannotUpdateReadOnlyPropertyException(null, propertyName);\r\n }\r\n });\r\n };\r\n Utility.processRetrieveResult = function (proxy, value, result, childItemCreateFunc) {\r\n if (Utility.isNullOrUndefined(value)) {\r\n return;\r\n }\r\n if (childItemCreateFunc) {\r\n var data = value[Constants.itemsLowerCase];\r\n if (Array.isArray(data)) {\r\n var itemsResult = [];\r\n for (var i = 0; i < data.length; i++) {\r\n var itemProxy = childItemCreateFunc(data[i], i);\r\n var itemResult = {};\r\n itemResult[Constants.proxy] = itemProxy;\r\n itemProxy._handleRetrieveResult(data[i], itemResult);\r\n itemsResult.push(itemResult);\r\n }\r\n Utility.defineReadOnlyPropertyWithValue(result, Constants.itemsLowerCase, itemsResult);\r\n }\r\n }\r\n else {\r\n var scalarPropertyNames = proxy[Constants.scalarPropertyNames];\r\n var navigationPropertyNames = proxy[Constants.navigationPropertyNames];\r\n var typeName = proxy[Constants.className];\r\n if (scalarPropertyNames) {\r\n for (var i = 0; i < scalarPropertyNames.length; i++) {\r\n var propName = scalarPropertyNames[i];\r\n var propValue = value[propName];\r\n if (Utility.isUndefined(propValue)) {\r\n Utility.definePropertyThrowUnloadedException(result, typeName, propName);\r\n }\r\n else {\r\n Utility.defineReadOnlyPropertyWithValue(result, propName, propValue);\r\n }\r\n }\r\n }\r\n if (navigationPropertyNames) {\r\n for (var i = 0; i < navigationPropertyNames.length; i++) {\r\n var propName = navigationPropertyNames[i];\r\n var propValue = value[propName];\r\n if (Utility.isUndefined(propValue)) {\r\n Utility.definePropertyThrowUnloadedException(result, typeName, propName);\r\n }\r\n else {\r\n var propProxy = proxy[propName];\r\n var propResult = {};\r\n propProxy._handleRetrieveResult(propValue, propResult);\r\n propResult[Constants.proxy] = propProxy;\r\n if (Array.isArray(propResult[Constants.itemsLowerCase])) {\r\n propResult = propResult[Constants.itemsLowerCase];\r\n }\r\n Utility.defineReadOnlyPropertyWithValue(result, propName, propResult);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n Utility.fieldName_m__items = \"m__items\";\r\n Utility.fieldName_isCollection = \"_isCollection\";\r\n Utility._logEnabled = false;\r\n Utility._synchronousCleanup = false;\r\n Utility._doApiNotSupportedCheck = false;\r\n Utility.s_underscoreCharCode = \"_\".charCodeAt(0);\r\n return Utility;\r\n}());\r\nexports.Utility = Utility;\r\n","/*\n MICROSOFT SOFTWARE LICENSE TERMS\n Use of this file is governed by the one of the following Microsoft developer terms:\n * If you have a MSDN subscription, the Microsoft Developer Services Agreement at https://msdn.microsoft.com/en-US/cc300389 applies.\n * If you don't have an MSDN subscription, the software license terms located at http://go.microsoft.com/fwlink/?LinkId=396798 apply.\n*/\n\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar OfficeExtension = require(\"./office.runtime\");\r\nvar react_native_dataservice_1 = require(\"@office-iss/react-native-dataservice\");\r\nvar RichApiBridgeImpl = (function () {\r\n function RichApiBridgeImpl() {\r\n }\r\n RichApiBridgeImpl.prototype.sendMessageToHost = function (value) {\r\n react_native_dataservice_1.DataServiceManager.InvokeNative('RichApiDataService', 'ProcessMessageToHost', value);\r\n };\r\n return RichApiBridgeImpl;\r\n}());\r\nvar RichApiBridge = new RichApiBridgeImpl();\r\nvar RichApiDataService = (function () {\r\n function RichApiDataService() {\r\n }\r\n RichApiDataService.prototype.Invoke = function (methodName, value) {\r\n if (methodName === 'ProcessMessageFromHost') {\r\n if (RichApiBridge.onMessageFromHost) {\r\n RichApiBridge.onMessageFromHost(value);\r\n }\r\n }\r\n };\r\n return RichApiDataService;\r\n}());\r\nreact_native_dataservice_1.ReactNativeReka.init();\r\nreact_native_dataservice_1.DataServiceManager.RegisterService('RichApiDataService', function () { return new RichApiDataService(); });\r\nOfficeExtension.HostBridge.init(RichApiBridge);\r\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","module.exports = OfficePlatformGlobal.ReactNativeReka;","\"use strict\";\r\n// ------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// This code was generated by the TS2DS compiler.\r\n// Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\r\n// </auto-generated>\r\n// ------------------------------------------------------------------------------\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar reka_1 = require(\"@office-iss/reka\");\r\nreka_1.CustomTypeRegistry.registerTypeInfos({\r\n 'FileIO::FileInfo': {\r\n docId: '$string',\r\n },\r\n 'FileIO::Response': {\r\n Result: '$string',\r\n },\r\n 'FileIO::ConfigurationPayload': {\r\n modelId: '$number',\r\n },\r\n 'FileIO::ModelInputPayload': {\r\n modelConstantInput: ['$indexer', '$number'],\r\n relevantTcids: ['$array', '$number'],\r\n },\r\n 'FileIO::ModelOutputPayload': {\r\n output: '$boolean',\r\n isModelFlightable: '$boolean',\r\n calcDurationSec: '$number',\r\n },\r\n 'FileIO::ConfigResponse': {\r\n validConfig: '$boolean',\r\n bundleVersion: '$string',\r\n },\r\n});\r\nexports.ServiceInfos = {\r\n NativeFileIOSave: ['FileIO::NativeFileIOSave', {\r\n SaveFile: ['ReturnsPromiseMethod', 'FileIO::Response', ['FileIO::FileInfo']],\r\n }],\r\n NativeNotNow: ['FileIO::NativeNotNow', {\r\n NotNow: ['ReturnsPromiseMethod', 'FileIO::Response', ['FileIO::FileInfo']],\r\n }],\r\n ModelEvaluationService: ['FileIO::ModelEvaluationService', {\r\n initConfiguration: ['ReturnsPromiseMethod', 'FileIO::ConfigResponse', ['FileIO::ConfigurationPayload']],\r\n evaluate: ['ReturnsPromiseMethod', 'FileIO::ModelOutputPayload', ['FileIO::ModelInputPayload']],\r\n }],\r\n};\r\nexports.NativeServices = {\r\n NativeFileIOSave: reka_1.RekaServiceRegistry.getNativeService(exports.ServiceInfos.NativeFileIOSave),\r\n NativeNotNow: reka_1.RekaServiceRegistry.getNativeService(exports.ServiceInfos.NativeNotNow),\r\n};\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nif ((global as any).__platformBundles !== undefined) {\r\n const platformBundles = (global as any).__platformBundles.concat();\r\n Reflect.deleteProperty(global, '__platformBundles');\r\n for (let i = 0; i < platformBundles.length; ++i) {\r\n console.log(`PB start ${i + 1}/${platformBundles.length}`);\r\n (global as any).eval(platformBundles[i]);\r\n console.log(`PB done ${i + 1}/${platformBundles.length}`);\r\n }\r\n}\r\n","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule Object.es6\n * @polyfill\n * @nolint\n */\n\n// WARNING: This is an optimized version that fails on hasOwnProperty checks\n// and non objects. It's not spec-compliant. It's a perf optimization.\n// This is only needed for iOS 8 and current Android JSC.\n\nObject.assign = function(target, sources) {\n if (__DEV__) {\n if (target == null) {\n throw new TypeError('Object.assign target cannot be null or undefined');\n }\n if (typeof target !== 'object' && typeof target !== 'function') {\n throw new TypeError(\n 'In this environment the target of assign MUST be an object. ' +\n 'This error is a performance optimization and not spec compliant.'\n );\n }\n }\n\n for (let nextIndex = 1; nextIndex < arguments.length; nextIndex++) {\n const nextSource = arguments[nextIndex];\n if (nextSource == null) {\n continue;\n }\n\n if (__DEV__) {\n if (typeof nextSource !== 'object' && typeof nextSource !== 'function') {\n throw new TypeError(\n 'In this environment the sources for assign MUST be an object. ' +\n 'This error is a performance optimization and not spec compliant.'\n );\n }\n }\n\n // We don't currently support accessors nor proxies. Therefore this\n // copy cannot throw. If we ever supported this then we must handle\n // exceptions and side-effects.\n\n for (const key in nextSource) {\n if (__DEV__) {\n const hasOwnProperty = Object.prototype.hasOwnProperty;\n if (!hasOwnProperty.call(nextSource, key)) {\n throw new TypeError(\n 'One of the sources for assign has an enumerable key on the ' +\n 'prototype chain. Are you trying to assign a prototype property? ' +\n \"We don't allow it, as this is an edge case that we do not support. \" +\n 'This error is a performance optimization and not spec compliant.'\n );\n }\n }\n target[key] = nextSource[key];\n }\n }\n\n return target;\n};\n\nObject.setPrototypeOf =\n Object.setPrototypeOf ||\n ((obj, proto) => {\n // eslint-disable-next-line no-proto,no-param-reassign\n obj.__proto__ = proto;\n return obj;\n });\n","/**\r\n * Copyright (c) 2015-present, Facebook, Inc.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n * @providesModule console\r\n * @polyfill\r\n * @nolint\r\n * @format\r\n */\r\n\r\n/* eslint-disable no-shadow, eqeqeq, curly, no-unused-vars, no-void, one-var, prefer-const, no-control-regex, no-undef, no-console */\r\n\r\n/**\r\n * This pipes all of our console logging functions to native logging so that\r\n * JavaScript errors in required modules show up in Xcode via NSLog.\r\n */\r\nconst inspect = (function() {\r\n // Copyright Joyent, Inc. and other Node contributors.\r\n //\r\n // Permission is hereby granted, free of charge, to any person obtaining a\r\n // copy of this software and associated documentation files (the\r\n // \"Software\"), to deal in the Software without restriction, including\r\n // without limitation the rights to use, copy, modify, merge, publish,\r\n // distribute, sublicense, and/or sell copies of the Software, and to permit\r\n // persons to whom the Software is furnished to do so, subject to the\r\n // following conditions:\r\n //\r\n // The above copyright notice and this permission notice shall be included\r\n // in all copies or substantial portions of the Software.\r\n //\r\n // THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r\n // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\r\n // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\r\n // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\r\n // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\r\n // USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n //\r\n // https://github.com/joyent/node/blob/master/lib/util.js\r\n\r\n function inspect(obj, opts) {\r\n const ctx = {\r\n seen: [],\r\n stylize: stylizeNoColor,\r\n };\r\n return formatValue(ctx, obj, opts.depth);\r\n }\r\n\r\n function stylizeNoColor(str, styleType) {\r\n return str;\r\n }\r\n\r\n function arrayToHash(array) {\r\n const hash = {};\r\n\r\n array.forEach((val, idx) => {\r\n hash[val] = true;\r\n });\r\n\r\n return hash;\r\n }\r\n\r\n function formatValue(ctx, value, recurseTimes) {\r\n // Primitive types cannot have properties\r\n const primitive = formatPrimitive(ctx, value);\r\n if (primitive) {\r\n return primitive;\r\n }\r\n\r\n // Look up the keys of the object.\r\n const keys = Object.keys(value);\r\n const visibleKeys = arrayToHash(keys);\r\n\r\n // IE doesn't make error fields non-enumerable\r\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\r\n if (\r\n isError(value) &&\r\n (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)\r\n ) {\r\n return formatError(value);\r\n }\r\n\r\n // Some type of object without properties can be shortcutted.\r\n if (keys.length === 0) {\r\n if (isFunction(value)) {\r\n const name = value.name ? `: ${value.name}` : '';\r\n return ctx.stylize(`[Function${name}]`, 'special');\r\n }\r\n if (isRegExp(value)) {\r\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\r\n }\r\n if (isDate(value)) {\r\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\r\n }\r\n if (isError(value)) {\r\n return formatError(value);\r\n }\r\n }\r\n\r\n let base = '',\r\n array = false,\r\n braces = ['{', '}'];\r\n\r\n // Make Array say that they are Array\r\n if (isArray(value)) {\r\n array = true;\r\n braces = ['[', ']'];\r\n }\r\n\r\n // Make functions say that they are functions\r\n if (isFunction(value)) {\r\n const n = value.name ? `: ${value.name}` : '';\r\n base = ` [Function${n}]`;\r\n }\r\n\r\n // Make RegExps say that they are RegExps\r\n if (isRegExp(value)) {\r\n base = ` ${RegExp.prototype.toString.call(value)}`;\r\n }\r\n\r\n // Make dates with properties first say the date\r\n if (isDate(value)) {\r\n base = ` ${Date.prototype.toUTCString.call(value)}`;\r\n }\r\n\r\n // Make error with message first say the error\r\n if (isError(value)) {\r\n base = ` ${formatError(value)}`;\r\n }\r\n\r\n if (keys.length === 0 && (!array || value.length == 0)) {\r\n return braces[0] + base + braces[1];\r\n }\r\n\r\n if (recurseTimes < 0) {\r\n if (isRegExp(value)) {\r\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\r\n }\r\n return ctx.stylize('[Object]', 'special');\r\n }\r\n\r\n ctx.seen.push(value);\r\n\r\n let output;\r\n if (array) {\r\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\r\n } else {\r\n output = keys.map(key => {\r\n return formatProperty(\r\n ctx,\r\n value,\r\n recurseTimes,\r\n visibleKeys,\r\n key,\r\n array\r\n );\r\n });\r\n }\r\n\r\n ctx.seen.pop();\r\n\r\n return reduceToSingleString(output, base, braces);\r\n }\r\n\r\n function formatPrimitive(ctx, value) {\r\n if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');\r\n if (isString(value)) {\r\n const simple = `'${JSON.stringify(value)\r\n .replace(/^\"|\"$/g, '')\r\n .replace(/'/g, \"\\\\'\")\r\n .replace(/\\\\\"/g, '\"')}'`;\r\n return ctx.stylize(simple, 'string');\r\n }\r\n if (isNumber(value)) return ctx.stylize(`${value}`, 'number');\r\n if (isBoolean(value)) return ctx.stylize(`${value}`, 'boolean');\r\n // For some reason typeof null is \"object\", so special case here.\r\n if (isNull(value)) return ctx.stylize('null', 'null');\r\n }\r\n\r\n function formatError(value) {\r\n return `[${Error.prototype.toString.call(value)}]`;\r\n }\r\n\r\n function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\r\n const output = [];\r\n for (let i = 0, l = value.length; i < l; ++i) {\r\n if (hasOwnProperty(value, String(i))) {\r\n output.push(\r\n formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true)\r\n );\r\n } else {\r\n output.push('');\r\n }\r\n }\r\n keys.forEach(key => {\r\n if (!key.match(/^\\d+$/)) {\r\n output.push(\r\n formatProperty(ctx, value, recurseTimes, visibleKeys, key, true)\r\n );\r\n }\r\n });\r\n return output;\r\n }\r\n\r\n function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\r\n let name, str, desc;\r\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\r\n if (desc.get) {\r\n if (desc.set) {\r\n str = ctx.stylize('[Getter/Setter]', 'special');\r\n } else {\r\n str = ctx.stylize('[Getter]', 'special');\r\n }\r\n } else if (desc.set) {\r\n str = ctx.stylize('[Setter]', 'special');\r\n }\r\n if (!hasOwnProperty(visibleKeys, key)) {\r\n name = `[${key}]`;\r\n }\r\n if (!str) {\r\n if (ctx.seen.indexOf(desc.value) < 0) {\r\n if (isNull(recurseTimes)) {\r\n str = formatValue(ctx, desc.value, null);\r\n } else {\r\n str = formatValue(ctx, desc.value, recurseTimes - 1);\r\n }\r\n if (str.indexOf('\\n') > -1) {\r\n if (array) {\r\n str = str\r\n .split('\\n')\r\n .map(line => {\r\n return ` ${line}`;\r\n })\r\n .join('\\n')\r\n .substr(2);\r\n } else {\r\n str = `\\n${str\r\n .split('\\n')\r\n .map(line => {\r\n return ` ${line}`;\r\n })\r\n .join('\\n')}`;\r\n }\r\n }\r\n } else {\r\n str = ctx.stylize('[Circular]', 'special');\r\n }\r\n }\r\n if (isUndefined(name)) {\r\n if (array && key.match(/^\\d+$/)) {\r\n return str;\r\n }\r\n name = JSON.stringify(`${key}`);\r\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\r\n name = name.substr(1, name.length - 2);\r\n name = ctx.stylize(name, 'name');\r\n } else {\r\n name = name\r\n .replace(/'/g, \"\\\\'\")\r\n .replace(/\\\\\"/g, '\"')\r\n .replace(/(^\"|\"$)/g, \"'\");\r\n name = ctx.stylize(name, 'string');\r\n }\r\n }\r\n\r\n return `${name}: ${str}`;\r\n }\r\n\r\n function reduceToSingleString(output, base, braces) {\r\n let numLinesEst = 0;\r\n const length = output.reduce((prev, cur) => {\r\n numLinesEst++;\r\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\r\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\r\n }, 0);\r\n\r\n if (length > 60) {\r\n return `${braces[0] + (base === '' ? '' : `${base}\\n `)} ${output.join(\r\n ',\\n '\r\n )} ${braces[1]}`;\r\n }\r\n\r\n return `${braces[0] + base} ${output.join(', ')} ${braces[1]}`;\r\n }\r\n\r\n // NOTE: These type checking functions intentionally don't use `instanceof`\r\n // because it is fragile and can be easily faked with `Object.create()`.\r\n function isArray(ar) {\r\n return Array.isArray(ar);\r\n }\r\n\r\n function isBoolean(arg) {\r\n return typeof arg === 'boolean';\r\n }\r\n\r\n function isNull(arg) {\r\n return arg === null;\r\n }\r\n\r\n function isNullOrUndefined(arg) {\r\n return arg == null;\r\n }\r\n\r\n function isNumber(arg) {\r\n return typeof arg === 'number';\r\n }\r\n\r\n function isString(arg) {\r\n return typeof arg === 'string';\r\n }\r\n\r\n function isSymbol(arg) {\r\n return typeof arg === 'symbol';\r\n }\r\n\r\n function isUndefined(arg) {\r\n return arg === void 0;\r\n }\r\n\r\n function isRegExp(re) {\r\n return isObject(re) && objectToString(re) === '[object RegExp]';\r\n }\r\n\r\n function isObject(arg) {\r\n return typeof arg === 'object' && arg !== null;\r\n }\r\n\r\n function isDate(d) {\r\n return isObject(d) && objectToString(d) === '[object Date]';\r\n }\r\n\r\n function isError(e) {\r\n return (\r\n isObject(e) &&\r\n (objectToString(e) === '[object Error]' || e instanceof Error)\r\n );\r\n }\r\n\r\n function isFunction(arg) {\r\n return typeof arg === 'function';\r\n }\r\n\r\n function isPrimitive(arg) {\r\n return (\r\n arg === null ||\r\n typeof arg === 'boolean' ||\r\n typeof arg === 'number' ||\r\n typeof arg === 'string' ||\r\n typeof arg === 'symbol' || // ES6 symbol\r\n typeof arg === 'undefined'\r\n );\r\n }\r\n\r\n function objectToString(o) {\r\n return Object.prototype.toString.call(o);\r\n }\r\n\r\n function hasOwnProperty(obj, prop) {\r\n return Object.prototype.hasOwnProperty.call(obj, prop);\r\n }\r\n\r\n return inspect;\r\n})();\r\n\r\nconst OBJECT_COLUMN_NAME = '(index)';\r\nconst LOG_LEVELS = {\r\n trace: 0,\r\n info: 1,\r\n warn: 2,\r\n error: 3,\r\n};\r\nconst INSPECTOR_LEVELS = [];\r\nINSPECTOR_LEVELS[LOG_LEVELS.trace] = 'debug';\r\nINSPECTOR_LEVELS[LOG_LEVELS.info] = 'log';\r\nINSPECTOR_LEVELS[LOG_LEVELS.warn] = 'warning';\r\nINSPECTOR_LEVELS[LOG_LEVELS.error] = 'error';\r\n\r\n// Strip the inner function in getNativeLogFunction(), if in dev also\r\n// strip method printing to originalConsole.\r\nconst INSPECTOR_FRAMES_TO_SKIP = __DEV__ ? 2 : 1;\r\n\r\nfunction getNativeLogFunction(level) {\r\n return function() {\r\n let str;\r\n if (arguments.length === 1 && typeof arguments[0] === 'string') {\r\n str = arguments[0];\r\n } else {\r\n str = Array.prototype.map\r\n .call(arguments, arg => {\r\n return inspect(arg, { depth: 10 });\r\n })\r\n .join(', ');\r\n }\r\n\r\n let logLevel = level;\r\n if (str.slice(0, 9) === 'Warning: ' && logLevel >= LOG_LEVELS.error) {\r\n // React warnings use console.error so that a stack trace is shown,\r\n // but we don't (currently) want these to show a redbox\r\n // (Note: Logic duplicated in ExceptionsManager.js.)\r\n logLevel = LOG_LEVELS.warn;\r\n }\r\n if (global.__inspectorLog) {\r\n global.__inspectorLog(\r\n INSPECTOR_LEVELS[logLevel],\r\n str,\r\n [].slice.call(arguments),\r\n INSPECTOR_FRAMES_TO_SKIP\r\n );\r\n }\r\n global.nativeLoggingHook(str, logLevel);\r\n };\r\n}\r\n\r\nfunction repeat(element, n) {\r\n return Array(...Array(n)).map(() => {\r\n return element;\r\n });\r\n}\r\n\r\nfunction consoleTablePolyfill(rows) {\r\n // convert object -> array\r\n if (!Array.isArray(rows)) {\r\n const data = rows;\r\n rows = [];\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n const row = data[key];\r\n row[OBJECT_COLUMN_NAME] = key;\r\n rows.push(row);\r\n }\r\n }\r\n }\r\n if (rows.length === 0) {\r\n global.nativeLoggingHook('', LOG_LEVELS.info);\r\n return;\r\n }\r\n\r\n const columns = Object.keys(rows[0]).sort();\r\n const stringRows = [];\r\n const columnWidths = [];\r\n\r\n // Convert each cell to a string. Also\r\n // figure out max cell width for each column\r\n columns.forEach((k, i) => {\r\n columnWidths[i] = k.length;\r\n for (let j = 0; j < rows.length; j++) {\r\n const cellStr = (rows[j][k] || '?').toString();\r\n stringRows[j] = stringRows[j] || [];\r\n stringRows[j][i] = cellStr;\r\n columnWidths[i] = Math.max(columnWidths[i], cellStr.length);\r\n }\r\n });\r\n\r\n // Join all elements in the row into a single string with | separators\r\n // (appends extra spaces to each cell to make separators | aligned)\r\n function joinRow(row, space) {\r\n const cells = row.map((cell, i) => {\r\n const extraSpaces = repeat(' ', columnWidths[i] - cell.length).join('');\r\n return cell + extraSpaces;\r\n });\r\n space = space || ' ';\r\n return cells.join(`${space}|${space}`);\r\n }\r\n\r\n const separators = columnWidths.map(columnWidth => {\r\n return repeat('-', columnWidth).join('');\r\n });\r\n const separatorRow = joinRow(separators, '-');\r\n const header = joinRow(columns);\r\n const table = [header, separatorRow];\r\n\r\n for (let i = 0; i < rows.length; i++) {\r\n table.push(joinRow(stringRows[i]));\r\n }\r\n\r\n // Notice extra empty line at the beginning.\r\n // Native logging hook adds \"RCTLog >\" at the front of every\r\n // logged string, which would shift the header and screw up\r\n // the table\r\n global.nativeLoggingHook(`\\n${table.join('\\n')}`, LOG_LEVELS.info);\r\n}\r\n\r\nfunction consoleAssertPolyfill(expression, label) {\r\n if (!expression) {\r\n global.nativeLoggingHook('Assertion failed: ' + label, LOG_LEVELS.error);\r\n }\r\n}\r\n\r\nif (global.nativeLoggingHook) {\r\n const originalConsole = global.console;\r\n global.console = {\r\n error: getNativeLogFunction(LOG_LEVELS.error),\r\n info: getNativeLogFunction(LOG_LEVELS.info),\r\n log: getNativeLogFunction(LOG_LEVELS.info),\r\n warn: getNativeLogFunction(LOG_LEVELS.warn),\r\n trace: getNativeLogFunction(LOG_LEVELS.trace),\r\n debug: getNativeLogFunction(LOG_LEVELS.trace),\r\n table: consoleTablePolyfill,\r\n assert: consoleAssertPolyfill,\r\n };\r\n\r\n // If available, also call the original `console` method since that is\r\n // sometimes useful. Ex: on OS X, this will let you see rich output in\r\n // the Safari Web Inspector console.\r\n if (__DEV__ && originalConsole) {\r\n // Preserve the original `console` as `originalConsole`\r\n const descriptor = Object.getOwnPropertyDescriptor(global, 'console');\r\n if (descriptor) {\r\n Object.defineProperty(global, 'originalConsole', descriptor);\r\n }\r\n\r\n Object.keys(console).forEach(methodName => {\r\n const reactNativeMethod = console[methodName];\r\n if (originalConsole[methodName]) {\r\n console[methodName] = function() {\r\n originalConsole[methodName](...arguments);\r\n reactNativeMethod.apply(console, arguments);\r\n };\r\n }\r\n });\r\n }\r\n} else if (!global.console) {\r\n const log = global.print || function consoleLoggingStub() {};\r\n global.console = {\r\n error: log,\r\n info: log,\r\n log,\r\n warn: log,\r\n trace: log,\r\n debug: log,\r\n table: log,\r\n };\r\n}\r\n","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule error-guard\n * @polyfill\n * @nolint\n */\n\nlet _inGuard = 0;\n\n/**\n * This is the error handler that is called when we encounter an exception\n * when loading a module. This will report any errors encountered before\n * ExceptionsManager is configured.\n */\nlet _globalHandler = function onError(e) {\n throw e;\n};\n\n/**\n * The particular require runtime that we are using looks for a global\n * `ErrorUtils` object and if it exists, then it requires modules with the\n * error handler specified via ErrorUtils.setGlobalHandler by calling the\n * require function with applyWithGuard. Since the require module is loaded\n * before any of the modules, this ErrorUtils must be defined (and the handler\n * set) globally before requiring anything.\n */\nconst ErrorUtils = {\n setGlobalHandler(fun) {\n _globalHandler = fun;\n },\n getGlobalHandler() {\n return _globalHandler;\n },\n reportError(error) {\n _globalHandler && _globalHandler(error);\n },\n reportFatalError(error) {\n _globalHandler && _globalHandler(error, true);\n },\n applyWithGuard(fun, context, args) {\n try {\n _inGuard++;\n return fun.apply(context, args);\n } catch (e) {\n ErrorUtils.reportError(e);\n } finally {\n _inGuard--;\n }\n return null;\n },\n applyWithGuardIfNeeded(fun, context, args) {\n if (ErrorUtils.inGuard()) {\n return fun.apply(context, args);\n }\n ErrorUtils.applyWithGuard(fun, context, args);\n\n return null;\n },\n inGuard() {\n return _inGuard;\n },\n guard(fun, name, context) {\n if (typeof fun !== 'function') {\n console.warn('A function must be passed to ErrorUtils.guard, got ', fun);\n return null;\n }\n name = name || fun.name || '<generated guard>';\n function guarded() {\n return ErrorUtils.applyWithGuard(\n fun,\n context || this,\n arguments,\n null,\n name\n );\n }\n\n return guarded;\n },\n};\n\nglobal.ErrorUtils = ErrorUtils;\n","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule Number.es6\n * @polyfill\n * @nolint\n */\n\nif (Number.EPSILON === undefined) {\n Object.defineProperty(Number, 'EPSILON', {\n value: Math.pow(2, -52),\n });\n}\nif (Number.MAX_SAFE_INTEGER === undefined) {\n Object.defineProperty(Number, 'MAX_SAFE_INTEGER', {\n value: Math.pow(2, 53) - 1,\n });\n}\nif (Number.MIN_SAFE_INTEGER === undefined) {\n Object.defineProperty(Number, 'MIN_SAFE_INTEGER', {\n value: -(Math.pow(2, 53) - 1),\n });\n}\nif (!Number.isNaN) {\n // https://github.com/dherman/tc39-codex-wiki/blob/master/data/es6/number/index.md#polyfill-for-numberisnan\n const globalIsNaN = global.isNaN;\n Object.defineProperty(Number, 'isNaN', {\n configurable: true,\n enumerable: false,\n value: function isNaN(value) {\n return typeof value === 'number' && globalIsNaN(value);\n },\n writable: true,\n });\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule String.prototype.es6\n * @polyfill\n * @nolint\n */\n\n/* eslint-disable no-extend-native, no-bitwise */\n\n/*\n * NOTE: We use (Number(x) || 0) to replace NaN values with zero.\n */\n\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function(search) {\n 'use strict';\n\n if (this == null) {\n throw TypeError();\n }\n const string = String(this);\n const pos = arguments.length > 1 ? Number(arguments[1]) || 0 : 0;\n const start = Math.min(Math.max(pos, 0), string.length);\n return string.indexOf(String(search), pos) === start;\n };\n}\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function(search) {\n 'use strict';\n\n if (this == null) {\n throw TypeError();\n }\n const string = String(this);\n const stringLength = string.length;\n const searchString = String(search);\n const pos = arguments.length > 1 ? Number(arguments[1]) || 0 : stringLength;\n const end = Math.min(Math.max(pos, 0), stringLength);\n const start = end - searchString.length;\n if (start < 0) {\n return false;\n }\n return string.lastIndexOf(searchString, start) === start;\n };\n}\n\nif (!String.prototype.repeat) {\n String.prototype.repeat = function(count) {\n 'use strict';\n\n if (this == null) {\n throw TypeError();\n }\n let string = String(this);\n count = Number(count) || 0;\n if (count < 0 || count === Infinity) {\n throw RangeError();\n }\n if (count === 1) {\n return string;\n }\n let result = '';\n while (count) {\n if (count & 1) {\n result += string;\n }\n if ((count >>= 1)) {\n string += string;\n }\n }\n return result;\n };\n}\n\nif (!String.prototype.includes) {\n String.prototype.includes = function(search, start) {\n 'use strict';\n\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > this.length) {\n return false;\n }\n return this.indexOf(search, start) !== -1;\n };\n}\n\nif (!String.prototype.codePointAt) {\n String.prototype.codePointAt = function(position) {\n if (this == null) {\n throw TypeError();\n }\n const string = String(this);\n const size = string.length;\n // `ToInteger`\n let index = position ? Number(position) : 0;\n if (Number.isNaN(index)) {\n index = 0;\n }\n // Account for out-of-bounds indices:\n if (index < 0 || index >= size) {\n return undefined;\n }\n // Get the first code unit\n const first = string.charCodeAt(index);\n let second;\n if (\n // check if it’s the start of a surrogate pair\n first >= 0xd800 &&\n first <= 0xdbff && // high surrogate\n size > index + 1 // there is a next code unit\n ) {\n second = string.charCodeAt(index + 1);\n if (second >= 0xdc00 && second <= 0xdfff) {\n // low surrogate\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n return (first - 0xd800) * 0x400 + second - 0xdc00 + 0x10000;\n }\n }\n return first;\n };\n}\n","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule Array.prototype.es6\n * @polyfill\n * @nolint\n */\n\n/* eslint-disable no-bitwise, no-extend-native, radix, no-self-compare */\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex\nfunction findIndex(predicate, context) {\n if (this == null) {\n throw new TypeError(\n 'Array.prototype.findIndex called on null or undefined'\n );\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n const list = Object(this);\n const length = list.length >>> 0;\n for (let i = 0; i < length; i++) {\n if (predicate.call(context, list[i], i, list)) {\n return i;\n }\n }\n return -1;\n}\n\nif (!Array.prototype.findIndex) {\n Object.defineProperty(Array.prototype, 'findIndex', {\n enumerable: false,\n writable: true,\n configurable: true,\n value: findIndex,\n });\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, 'find', {\n enumerable: false,\n writable: true,\n configurable: true,\n value(predicate, context) {\n if (this == null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n const index = findIndex.call(this, predicate, context);\n return index === -1 ? undefined : this[index];\n },\n });\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes\nif (!Array.prototype.includes) {\n Object.defineProperty(Array.prototype, 'includes', {\n enumerable: false,\n writable: true,\n configurable: true,\n value(searchElement) {\n const O = Object(this);\n const len = parseInt(O.length) || 0;\n if (len === 0) {\n return false;\n }\n const n = parseInt(arguments[1]) || 0;\n let k;\n if (n >= 0) {\n k = n;\n } else {\n k = len + n;\n if (k < 0) {\n k = 0;\n }\n }\n let currentElement;\n while (k < len) {\n currentElement = O[k];\n if (\n searchElement === currentElement ||\n (searchElement !== searchElement && currentElement !== currentElement)\n ) {\n return true;\n }\n k++;\n }\n return false;\n },\n });\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule Array.es6\n * @polyfill\n * @nolint\n */\n\n/* eslint-disable consistent-this */\n\n/**\n * Creates an array from array like objects.\n *\n * https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from\n */\nif (!Array.from) {\n Array.from = function(arrayLike /* , mapFn, thisArg */) {\n if (arrayLike == null) {\n throw new TypeError('Object is null or undefined');\n }\n\n // Optional args.\n const mapFn = arguments[1];\n const thisArg = arguments[2];\n\n const C = this;\n const items = Object(arrayLike);\n const symbolIterator =\n typeof Symbol === 'function' ? Symbol.iterator : '@@iterator';\n const mapping = typeof mapFn === 'function';\n const usingIterator = typeof items[symbolIterator] === 'function';\n let key = 0;\n let ret;\n let value;\n\n if (usingIterator) {\n ret = typeof C === 'function' ? new C() : [];\n const it = items[symbolIterator]();\n let next;\n\n while (!(next = it.next()).done) {\n value = next.value;\n\n if (mapping) {\n value = mapFn.call(thisArg, value, key);\n }\n\n ret[key] = value;\n key += 1;\n }\n\n ret.length = key;\n return ret;\n }\n\n let len = items.length;\n if (isNaN(len) || len < 0) {\n len = 0;\n }\n\n ret = typeof C === 'function' ? new C(len) : new Array(len);\n\n while (key < len) {\n value = items[key];\n\n if (mapping) {\n value = mapFn.call(thisArg, value, key);\n }\n\n ret[key] = value;\n\n key += 1;\n }\n\n ret.length = key;\n return ret;\n };\n}\n","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule Object.es7\n * @polyfill\n * @nolint\n */\n\n(function() {\n 'use strict';\n\n const hasOwnProperty = Object.prototype.hasOwnProperty;\n\n /**\n * Returns an array of the given object's own enumerable entries.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\n */\n if (typeof Object.entries !== 'function') {\n Object.entries = function(object) {\n // `null` and `undefined` values are not allowed.\n if (object == null) {\n throw new TypeError('Object.entries called on non-object');\n }\n\n const entries = [];\n for (const key in object) {\n if (hasOwnProperty.call(object, key)) {\n entries.push([key, object[key]]);\n }\n }\n return entries;\n };\n }\n\n /**\n * Returns an array of the given object's own enumerable entries.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values\n */\n if (typeof Object.values !== 'function') {\n Object.values = function(object) {\n // `null` and `undefined` values are not allowed.\n if (object == null) {\n throw new TypeError('Object.values called on non-object');\n }\n\n const values = [];\n for (const key in object) {\n if (hasOwnProperty.call(object, key)) {\n values.push(object[key]);\n }\n }\n return values;\n };\n }\n})();\n","\"use strict\";\r\n// This is the win32 specific entry point to the SDX. -- The code here should be minimal\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/* tslint:enable:no-unused-variable */\r\nvar react_native_1 = require(\"react-native\");\r\nrequire(\"@microsoft/office-api/office.runtime.reactnative\");\r\nvar reka_react_native_1 = require(\"@office-iss/reka-react-native\");\r\nvar SavePrompt_1 = require(\"./SavePrompt\");\r\nvar ModelEvaluationService_1 = require(\"./SavePrompt/ModelEvaluationService\");\r\nrequire('@microsoft/office-api/office.runtime');\r\nreact_native_1.AppRegistry.registerComponent('SavePrompt', function () { return SavePrompt_1.SaveCallout; });\r\nreka_react_native_1.initReka(ModelEvaluationService_1.ModelEvaluationService);\r\n","module.exports = OfficePlatformGlobal.ReactNative.Components;","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","\"use strict\";\r\n// This is the win32 specific entry point to the SDX. -- The code here should be minimal\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/* tslint:disable:no-unused-variable */\r\nvar React = require(\"react\");\r\n/* tslint:enable:no-unused-variable */\r\nrequire(\"@microsoft/office-api/office.runtime.reactnative\");\r\nrequire('@microsoft/office-api/office.runtime');\r\nvar DefaultButton_1 = require(\"@office-iss/polyester/lib/common/DefaultButton\");\r\nvar Text_1 = require(\"@office-iss/polyester/lib/common/Text\");\r\nvar View_1 = require(\"@office-iss/polyester/lib/common/View\");\r\nvar StyleSheet_1 = require(\"@office-iss/polyester/lib/common/StyleSheet\");\r\nvar SavePrompt = require(\"./SavePrompt/SavePrompt.g\");\r\nvar strings = require('../assets/strings.resjson');\r\nvar SaveCallout = /** @class */ (function (_super) {\r\n __extends(SaveCallout, _super);\r\n function SaveCallout(props) {\r\n var _this = _super.call(this, props) || this;\r\n _this.saveButtonClicked = function () {\r\n SavePrompt.NativeServices.NativeFileIOSave.SaveFile({ docId: _this.props.docId })\r\n .then(function (value) {\r\n _this.setState({ message: value.Result });\r\n console.log('Calling Save callback successfully. Token returned:' + value.Result + '=');\r\n })\r\n .catch(function (err) {\r\n console.log('Calling Save callback returned with error: ' + err.stack);\r\n });\r\n };\r\n _this.notNowButtonClicked = function () {\r\n SavePrompt.NativeServices.NativeNotNow.NotNow({ docId: _this.props.docId })\r\n .then(function (value) {\r\n _this.setState({ message: value.Result });\r\n console.log('Calling Not Now callback successfully. Token returned:' + value.Result + '=');\r\n })\r\n .catch(function (err) {\r\n console.log('Calling Not Now callback returned with error: ' + err.stack);\r\n });\r\n };\r\n _this.state = { message: 'empty' };\r\n return _this;\r\n }\r\n SaveCallout.prototype.render = function () {\r\n return (React.createElement(View_1.View, { style: styles.outside },\r\n React.createElement(Text_1.Text, { textStyle: \"LargeStandard\" }, strings.getString('calloutTitle')),\r\n React.createElement(View_1.View, { style: styles.gap }),\r\n React.createElement(Text_1.Text, null,\r\n strings.getString('calloutText'),\r\n \" \"),\r\n React.createElement(View_1.View, { style: styles.gap }),\r\n React.createElement(View_1.View, { style: styles.container },\r\n React.createElement(DefaultButton_1.DefaultButton, { text: strings.getString('saveButtonText'), onClick: this.saveButtonClicked }),\r\n React.createElement(View_1.View, { style: styles.space }),\r\n React.createElement(DefaultButton_1.DefaultButton, { text: strings.getString('notNowButtonText'), onClick: this.notNowButtonClicked }))));\r\n };\r\n return SaveCallout;\r\n}(React.Component));\r\nexports.SaveCallout = SaveCallout;\r\nvar styles = {\r\n container: StyleSheet_1.StyleSheet.createViewStyle({\r\n flex: 1,\r\n flexDirection: 'row',\r\n justifyContent: 'flex-end',\r\n }),\r\n outside: StyleSheet_1.StyleSheet.createViewStyle({\r\n bottom: 1,\r\n padding: 6,\r\n margin: 5,\r\n }),\r\n space: StyleSheet_1.StyleSheet.createViewStyle({\r\n width: 8,\r\n }),\r\n gap: StyleSheet_1.StyleSheet.createViewStyle({\r\n height: 4,\r\n })\r\n};\r\n","module.exports = OfficePlatformGlobal.React;","module.exports = OfficePlatformGlobal.Ply.DefaultButton;","module.exports = OfficePlatformGlobal.Ply.Text;","module.exports = OfficePlatformGlobal.Ply.View;","module.exports = OfficePlatformGlobal.Ply.StyleSheet;","module.exports = OfficePlatformGlobal.Reka;","const ssr = require('@office-iss/sdx-string-resources');\nmodule.exports = ssr.StringResources.createLazyTable({\"location\":\"strings.resjson\"});","module.exports = OfficePlatformGlobal.SDX.StringResources;","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar FileIO = require(\"./SavePrompt.g\");\r\nvar MlConfiguration_1 = require(\"./MlConfiguration\");\r\nvar ISavePromptModel_1 = require(\"./MLModels/ISavePromptModel\");\r\nvar SavePromptModelHeuristic_1 = require(\"./MLModels/SavePromptModelHeuristic\");\r\nvar SavePromptModelLR_1 = require(\"./MLModels/SavePromptModelLR\");\r\nvar SavePromptModelClickstream_1 = require(\"./MLModels/SavePromptModelClickstream\");\r\nvar SavePromptModelOnyx_1 = require(\"./MLModels/SavePromptModelOnyx\");\r\nvar ModelEvaluationService = /** @class */ (function () {\r\n function ModelEvaluationService() {\r\n this.SavePromptMLModel = null;\r\n }\r\n ModelEvaluationService.prototype.evaluate = function (modelInput) {\r\n if (this.SavePromptMLModel === null) {\r\n return Promise.resolve(MlConfiguration_1.getDefaultModelOutput());\r\n }\r\n if (!ISavePromptModel_1.checkCompatibility(this.SavePromptMLModel.getModelRequirements(), modelInput)) {\r\n var configErrorOutput = MlConfiguration_1.getDefaultModelOutput();\r\n configErrorOutput.isModelFlightable = false;\r\n return Promise.resolve(configErrorOutput);\r\n }\r\n var startTime = Date.now();\r\n var outputPayload = this.SavePromptMLModel.evaluate(modelInput);\r\n var calcTime = Date.now() - startTime;\r\n outputPayload.calcDurationSec = calcTime;\r\n return Promise.resolve(outputPayload);\r\n };\r\n ModelEvaluationService.prototype.initConfiguration = function (configPayload) {\r\n MlConfiguration_1.MLConfiguration.register(configPayload);\r\n var modelID = MlConfiguration_1.MLConfiguration.getModelID();\r\n var configResponse = {\r\n validConfig: true,\r\n bundleVersion: '1.0.0.0'\r\n };\r\n switch (modelID) {\r\n case MlConfiguration_1.SavePromptModel.LR: {\r\n this.SavePromptMLModel = new SavePromptModelLR_1.SavePromptModelLRImpl();\r\n break;\r\n }\r\n case MlConfiguration_1.SavePromptModel.ClickStream: {\r\n this.SavePromptMLModel = new SavePromptModelClickstream_1.SavePromptModelClickStreamImpl();\r\n break;\r\n }\r\n case MlConfiguration_1.SavePromptModel.Onyx: {\r\n this.SavePromptMLModel = new SavePromptModelOnyx_1.SavePromptModelOnyxImpl();\r\n break;\r\n }\r\n case MlConfiguration_1.SavePromptModel.Heuristic: {\r\n this.SavePromptMLModel = new SavePromptModelHeuristic_1.SavePromptModelHeuristicImpl();\r\n break;\r\n }\r\n default: {\r\n configResponse.validConfig = false;\r\n break;\r\n }\r\n }\r\n return Promise.resolve(configResponse);\r\n };\r\n ModelEvaluationService.ServiceInfo = FileIO.ServiceInfos.ModelEvaluationService;\r\n return ModelEvaluationService;\r\n}());\r\nexports.ModelEvaluationService = ModelEvaluationService;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction checkCompatibility(requirements, modelInputPayload) {\r\n for (var _i = 0, requirements_1 = requirements; _i < requirements_1.length; _i++) {\r\n var key = requirements_1[_i];\r\n if (!(key in modelInputPayload.modelConstantInput)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nexports.checkCompatibility = checkCompatibility;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar MlConfiguration_1 = require(\"../MlConfiguration\");\r\nvar SavePromptModelHeuristicImpl = /** @class */ (function () {\r\n function SavePromptModelHeuristicImpl() {\r\n }\r\n SavePromptModelHeuristicImpl.prototype.getModelRequirements = function () {\r\n return [MlConfiguration_1.ModelParameter.DwellTimeSec, MlConfiguration_1.ModelParameter.RowCount, MlConfiguration_1.ModelParameter.TileUpdateCount];\r\n };\r\n SavePromptModelHeuristicImpl.prototype.evaluate = function (modelInputPayload) {\r\n var res = MlConfiguration_1.getDefaultModelOutput();\r\n var modelConstants = modelInputPayload.modelConstantInput;\r\n if (modelConstants[MlConfiguration_1.ModelParameter.RowCount] < 52 /* rowCountThreshold */) {\r\n return res;\r\n }\r\n if (modelConstants[MlConfiguration_1.ModelParameter.TileUpdateCount] < 146 /* tileUpdateCountThreshold */) {\r\n return res;\r\n }\r\n if (modelConstants[MlConfiguration_1.ModelParameter.DwellTimeSec] < 60 /* dwellTimeSecThreshold */) {\r\n return res;\r\n }\r\n res.output = true;\r\n return res;\r\n };\r\n return SavePromptModelHeuristicImpl;\r\n}());\r\nexports.SavePromptModelHeuristicImpl = SavePromptModelHeuristicImpl;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar MlConfiguration_1 = require(\"../MlConfiguration\");\r\nvar SavePromptModelLRImpl = /** @class */ (function () {\r\n function SavePromptModelLRImpl() {\r\n }\r\n SavePromptModelLRImpl.prototype.getModelRequirements = function () {\r\n return [MlConfiguration_1.ModelParameter.DwellTimeSec, MlConfiguration_1.ModelParameter.RowCount, MlConfiguration_1.ModelParameter.TileUpdateCount];\r\n };\r\n SavePromptModelLRImpl.prototype.evaluate = function (modelInputPayload) {\r\n var res = MlConfiguration_1.getDefaultModelOutput();\r\n var modelConstants = modelInputPayload.modelConstantInput;\r\n var dwellTimeHrs = modelConstants[MlConfiguration_1.ModelParameter.DwellTimeSec] / 3600.0;\r\n if (dwellTimeHrs === 0) {\r\n return res;\r\n }\r\n var tileUpdateRate = modelConstants[MlConfiguration_1.ModelParameter.TileUpdateCount] / dwellTimeHrs;\r\n var threshold = 14.285950663717738;\r\n var output = (0.01582433 * modelConstants[MlConfiguration_1.ModelParameter.TileUpdateCount]) +\r\n (-0.02992947 * dwellTimeHrs) + (0.00025957 * modelConstants[MlConfiguration_1.ModelParameter.RowCount]) +\r\n (-0.00069022 * tileUpdateRate) +\r\n (-0.99775024);\r\n if (output >= threshold) {\r\n res.output = true;\r\n }\r\n return res;\r\n };\r\n return SavePromptModelLRImpl;\r\n}());\r\nexports.SavePromptModelLRImpl = SavePromptModelLRImpl;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar MlConfiguration_1 = require(\"../MlConfiguration\");\r\nvar SavePromptModelClickStreamImpl = /** @class */ (function () {\r\n function SavePromptModelClickStreamImpl() {\r\n this.tcidToWeight = {\r\n 24: -1.3288369925779793,\r\n 768: 0.8288308468483366,\r\n 795: -1.273178170186842,\r\n 2521: -1.4574533693095872,\r\n 2626: -0.8023760403852735,\r\n 2799: 0.795099188397689,\r\n 3719: -1.1199206689708436,\r\n 3997: -0.8041372457110557,\r\n 5736: -0.8393742397453676,\r\n 5908: -1.230428584719355,\r\n 7035: -1.4001748573525037,\r\n 11323: -0.923789089850057,\r\n 12499: -1.0191671847061208,\r\n 12808: 1.0866703843329601,\r\n 13145: -0.805440472452837,\r\n 14767: 0.804483081317101,\r\n 14791: 0.8086062956132883,\r\n 15292: 0.9237440576419294,\r\n 16238: 1.003080676681458,\r\n 18074: 0.8434182149627534,\r\n 20802: -2.14110610345336,\r\n 24134: -1.2205327164872002,\r\n 27187: 0.8740641028617783,\r\n 27302: -1.1409566136789155,\r\n 27323: -0.9636398087590168\r\n };\r\n }\r\n SavePromptModelClickStreamImpl.prototype.getModelRequirements = function () {\r\n return [MlConfiguration_1.ModelParameter.DwellTimeSec, MlConfiguration_1.ModelParameter.RowCount, MlConfiguration_1.ModelParameter.TileUpdateCount, MlConfiguration_1.ModelParameter.RelevantTcidsExists];\r\n };\r\n SavePromptModelClickStreamImpl.prototype.evaluate = function (modelInputPayload) {\r\n var res = MlConfiguration_1.getDefaultModelOutput();\r\n var modelConstants = modelInputPayload.modelConstantInput;\r\n var dwellTimeHrs = modelConstants[MlConfiguration_1.ModelParameter.DwellTimeSec] / 3600.0;\r\n if (dwellTimeHrs === 0) {\r\n return res;\r\n }\r\n var tileUpdateRate = modelConstants[MlConfiguration_1.ModelParameter.TileUpdateCount] / dwellTimeHrs;\r\n // Using weights of noclickstream features obtained from jupyter notebook\r\n var noClickstreamSignal = (3.84075809e-04 * modelConstants[MlConfiguration_1.ModelParameter.RowCount]) +\r\n (6.94562125e-03 * modelConstants[MlConfiguration_1.ModelParameter.TileUpdateCount]) +\r\n (-9.46702474e-03 * dwellTimeHrs) +\r\n (1.81743748e-05 * tileUpdateRate);\r\n /*\r\n Initialising clickstream signal with number of clicks feature weighed by its weight\r\n This weight has been obtained from jupyter notebook\r\n */\r\n var clickstreamSignal = -5.67784228e-02 * modelInputPayload.relevantTcids.length;\r\n /* Using weight of respective TCIDs for clickstreamsignal from jupyter notebook */\r\n for (var _i = 0, _a = modelInputPayload.relevantTcids; _i < _a.length; _i++) {\r\n var tcid = _a[_i];\r\n if (tcid in this.tcidToWeight) {\r\n clickstreamSignal += this.tcidToWeight[tcid];\r\n }\r\n }\r\n var threshold = 16248 /*clickstreamLRThreshold */ / 10.0e3;\r\n /*\r\n Coefficients have been calculated using scikit library for\r\n Regression model. for details, refer jupyter notebook.\r\n Adding the intercept value obtained from jupyter notebook\r\n */\r\n var output = clickstreamSignal + noClickstreamSignal + (-0.23831275);\r\n if (output >= threshold) {\r\n res.output = true;\r\n }\r\n return res;\r\n };\r\n return SavePromptModelClickStreamImpl;\r\n}());\r\nexports.SavePromptModelClickStreamImpl = SavePromptModelClickStreamImpl;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar MlConfiguration_1 = require(\"../MlConfiguration\");\r\nvar SavePromptModelOnyxImpl = /** @class */ (function () {\r\n function SavePromptModelOnyxImpl() {\r\n this.tcidToWeight = {\r\n 19: -0.9634002655461523,\r\n 24: -1.6320642705216424,\r\n 795: -1.2616032096018865,\r\n 2521: -1.3165550392176244,\r\n 2799: 0.7772081792469913,\r\n 3719: -1.0500886124973445,\r\n 5736: -1.2813985472431204,\r\n 6920: 1.0602900051006168,\r\n 7035: -1.5295724715956758,\r\n 12499: -1.1640716749344764,\r\n 19139: -1.0939200022925253,\r\n 20802: -1.4124485909961755,\r\n 27302: -0.8096784986791372\r\n };\r\n }\r\n SavePromptModelOnyxImpl.prototype.getModelRequirements = function () {\r\n return [MlConfiguration_1.ModelParameter.DwellTimeSec, MlConfiguration_1.ModelParameter.RowCount, MlConfiguration_1.ModelParameter.TileUpdateCount, MlConfiguration_1.ModelParameter.RelevantTcidsExists];\r\n };\r\n SavePromptModelOnyxImpl.prototype.evaluate = function (modelInputPayload) {\r\n var res = MlConfiguration_1.getDefaultModelOutput();\r\n var modelConstants = modelInputPayload.modelConstantInput;\r\n var dwellTimeHrs = modelConstants[MlConfiguration_1.ModelParameter.DwellTimeSec] / 3600.0;\r\n if (dwellTimeHrs === 0) {\r\n return res;\r\n }\r\n var tileUpdateRate = modelConstants[MlConfiguration_1.ModelParameter.TileUpdateCount] / dwellTimeHrs;\r\n // Using weights of noclickstream features obtained from jupyter notebook\r\n var noClickstreamSignal = (3.00133378e-04 * modelConstants[MlConfiguration_1.ModelParameter.RowCount]) +\r\n (1.09039234e-02 * modelConstants[MlConfiguration_1.ModelParameter.TileUpdateCount]) +\r\n (-3.13122907e-03 * dwellTimeHrs) +\r\n (-2.12025020e-05 * tileUpdateRate);\r\n /*\r\n Initialising clickstream signal with number of clicks feature weighed by its weight\r\n This weight has been obtained from jupyter notebook\r\n */\r\n var clickstreamSignal = -4.93733704e-02 * modelInputPayload.relevantTcids.length;\r\n /* Using weight of respective TCIDs for clickstreamsignal from jupyter notebook */\r\n for (var _i = 0, _a = modelInputPayload.relevantTcids; _i < _a.length; _i++) {\r\n var tcid = _a[_i];\r\n if (tcid in this.tcidToWeight) {\r\n clickstreamSignal += this.tcidToWeight[tcid];\r\n }\r\n }\r\n var threshold = 47079 /* onyxClickStreamThreshold */ / 1.0e4;\r\n /*\r\n Coefficients have been calculated using scikit library for\r\n Regression model. for details, refer jupyter notebook.\r\n Adding the intercept value obtained from jupyter notebook\r\n */\r\n var output = clickstreamSignal + noClickstreamSignal + (-0.98225566);\r\n if (output >= threshold) {\r\n res.output = true;\r\n }\r\n return res;\r\n };\r\n return SavePromptModelOnyxImpl;\r\n}());\r\nexports.SavePromptModelOnyxImpl = SavePromptModelOnyxImpl;\r\n"],"sourceRoot":""}