@learnorama/mozaik-sdk 0.12.4-staging.47.1 → 0.13.0-staging.48.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/account.d.ts +1 -1
- package/dist/api/account.js.map +1 -1
- package/dist/api/admin-catalogue.d.ts +1 -1
- package/dist/api/admin-catalogue.js.map +1 -1
- package/dist/api/admin-consumption.d.ts +1 -1
- package/dist/api/admin-consumption.js.map +1 -1
- package/dist/api/admin-contracts.d.ts +1 -1
- package/dist/api/admin-contracts.js.map +1 -1
- package/dist/api/admin-desk.d.ts +1 -1
- package/dist/api/admin-desk.js.map +1 -1
- package/dist/api/admin-licenses.d.ts +1 -1
- package/dist/api/admin-licenses.js.map +1 -1
- package/dist/api/admin-partner-selections.d.ts +1 -1
- package/dist/api/admin-partner-selections.js.map +1 -1
- package/dist/api/admin-patrons.d.ts +1 -1
- package/dist/api/admin-patrons.js.map +1 -1
- package/dist/api/admin-reviews.d.ts +1 -1
- package/dist/api/admin-reviews.js.map +1 -1
- package/dist/api/admin-roles.d.ts +1 -1
- package/dist/api/admin-roles.js.map +1 -1
- package/dist/api/admin-support.d.ts +1 -1
- package/dist/api/admin-support.js.map +1 -1
- package/dist/api/admin-tenants.d.ts +1 -1
- package/dist/api/admin-tenants.js.map +1 -1
- package/dist/api/admin-tutoring.d.ts +1 -1
- package/dist/api/admin-tutoring.js.map +1 -1
- package/dist/api/auth.d.ts +1 -1
- package/dist/api/auth.js.map +1 -1
- package/dist/api/biblio-billing-webhooks.d.ts +18 -0
- package/dist/api/biblio-billing-webhooks.js +62 -0
- package/dist/api/biblio-billing-webhooks.js.map +1 -0
- package/dist/api/biblio-billing.d.ts +192 -0
- package/dist/api/biblio-billing.js +645 -0
- package/dist/api/biblio-billing.js.map +1 -0
- package/dist/api/biblio-catalogue.d.ts +1 -1
- package/dist/api/biblio-catalogue.js.map +1 -1
- package/dist/api/biblio-home.d.ts +1 -1
- package/dist/api/biblio-home.js.map +1 -1
- package/dist/api/biblio-learning-author-profiles.d.ts +108 -0
- package/dist/api/biblio-learning-author-profiles.js +331 -0
- package/dist/api/biblio-learning-author-profiles.js.map +1 -0
- package/dist/api/biblio-learning-authoring.d.ts +168 -0
- package/dist/api/biblio-learning-authoring.js +586 -0
- package/dist/api/biblio-learning-authoring.js.map +1 -0
- package/dist/api/biblio-learning-editorial.d.ts +54 -0
- package/dist/api/biblio-learning-editorial.js +149 -0
- package/dist/api/biblio-learning-editorial.js.map +1 -0
- package/dist/api/biblio-learning-feedback.d.ts +60 -0
- package/dist/api/biblio-learning-feedback.js +180 -0
- package/dist/api/biblio-learning-feedback.js.map +1 -0
- package/dist/api/biblio-learning-finance.d.ts +186 -0
- package/dist/api/biblio-learning-finance.js +622 -0
- package/dist/api/biblio-learning-finance.js.map +1 -0
- package/dist/api/biblio-learning-integrations.d.ts +60 -0
- package/dist/api/biblio-learning-integrations.js +215 -0
- package/dist/api/biblio-learning-integrations.js.map +1 -0
- package/dist/api/biblio-learning-membership.d.ts +24 -0
- package/dist/api/biblio-learning-membership.js +69 -0
- package/dist/api/biblio-learning-membership.js.map +1 -0
- package/dist/api/biblio-learning.d.ts +222 -0
- package/dist/api/biblio-learning.js +697 -0
- package/dist/api/biblio-learning.js.map +1 -0
- package/dist/api/biblio-library.d.ts +1 -1
- package/dist/api/biblio-library.js.map +1 -1
- package/dist/api/biblio-nextory.d.ts +1 -1
- package/dist/api/biblio-nextory.js.map +1 -1
- package/dist/api/biblio-press.d.ts +1 -1
- package/dist/api/biblio-press.js.map +1 -1
- package/dist/api/biblio-search.d.ts +1 -1
- package/dist/api/biblio-search.js.map +1 -1
- package/dist/api/biblio-telemetry.d.ts +1 -1
- package/dist/api/biblio-telemetry.js.map +1 -1
- package/dist/api/consumption.d.ts +1 -1
- package/dist/api/consumption.js.map +1 -1
- package/dist/api/cvs-app.d.ts +1 -1
- package/dist/api/cvs-app.js.map +1 -1
- package/dist/api/cvs-documents.d.ts +1 -1
- package/dist/api/cvs-documents.js.map +1 -1
- package/dist/api/cvs-favorites.d.ts +1 -1
- package/dist/api/cvs-favorites.js.map +1 -1
- package/dist/api/cvs-ils.d.ts +1 -1
- package/dist/api/cvs-ils.js.map +1 -1
- package/dist/api/cvs-loans.d.ts +1 -1
- package/dist/api/cvs-loans.js.map +1 -1
- package/dist/api/cvs-payments.d.ts +1 -1
- package/dist/api/cvs-payments.js.map +1 -1
- package/dist/api/cvs-streaming.d.ts +1 -1
- package/dist/api/cvs-streaming.js.map +1 -1
- package/dist/api/index.d.ts +11 -1
- package/dist/api/index.js +11 -1
- package/dist/api/partner-catalogue.d.ts +1 -1
- package/dist/api/partner-catalogue.js.map +1 -1
- package/dist/api/partner-reader.d.ts +1 -1
- package/dist/api/partner-reader.js.map +1 -1
- package/dist/api/profiles.d.ts +1 -1
- package/dist/api/profiles.js.map +1 -1
- package/dist/api/search.d.ts +1 -1
- package/dist/api/search.js.map +1 -1
- package/dist/api/tutoring-catalogue.d.ts +1 -1
- package/dist/api/tutoring-catalogue.js.map +1 -1
- package/dist/api/tutoring-chat.d.ts +1 -1
- package/dist/api/tutoring-chat.js.map +1 -1
- package/dist/api/tutoring-dispatch.d.ts +1 -1
- package/dist/api/tutoring-dispatch.js.map +1 -1
- package/dist/api/tutoring-practitioner.d.ts +1 -1
- package/dist/api/tutoring-practitioner.js.map +1 -1
- package/dist/api/tutoring-requests.d.ts +1 -1
- package/dist/api/tutoring-requests.js.map +1 -1
- package/dist/chunks/client2.d.ts +1 -1
- package/dist/chunks/connection.d.ts +1 -1
- package/dist/chunks/index.d.ts +10038 -3487
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +2 -2
- package/dist/models.js +329 -1
- package/dist/models.js.map +1 -1
- package/dist/react/account.d.ts +1 -1
- package/dist/react/account.js +1 -1
- package/dist/react/account.js.map +1 -1
- package/dist/react/admin-catalogue.d.ts +1 -1
- package/dist/react/admin-catalogue.js +1 -1
- package/dist/react/admin-catalogue.js.map +1 -1
- package/dist/react/admin-consumption.d.ts +1 -1
- package/dist/react/admin-consumption.js +1 -1
- package/dist/react/admin-consumption.js.map +1 -1
- package/dist/react/admin-contracts.d.ts +1 -1
- package/dist/react/admin-contracts.js +1 -1
- package/dist/react/admin-contracts.js.map +1 -1
- package/dist/react/admin-desk.d.ts +1 -1
- package/dist/react/admin-desk.js +1 -1
- package/dist/react/admin-desk.js.map +1 -1
- package/dist/react/admin-licenses.d.ts +1 -1
- package/dist/react/admin-licenses.js +1 -1
- package/dist/react/admin-licenses.js.map +1 -1
- package/dist/react/admin-partner-selections.d.ts +1 -1
- package/dist/react/admin-partner-selections.js +1 -1
- package/dist/react/admin-partner-selections.js.map +1 -1
- package/dist/react/admin-patrons.d.ts +1 -1
- package/dist/react/admin-patrons.js +1 -1
- package/dist/react/admin-patrons.js.map +1 -1
- package/dist/react/admin-reviews.d.ts +1 -1
- package/dist/react/admin-reviews.js +1 -1
- package/dist/react/admin-reviews.js.map +1 -1
- package/dist/react/admin-roles.d.ts +1 -1
- package/dist/react/admin-roles.js +1 -1
- package/dist/react/admin-roles.js.map +1 -1
- package/dist/react/admin-support.d.ts +1 -1
- package/dist/react/admin-support.js +1 -1
- package/dist/react/admin-support.js.map +1 -1
- package/dist/react/admin-tenants.d.ts +1 -1
- package/dist/react/admin-tenants.js +1 -1
- package/dist/react/admin-tenants.js.map +1 -1
- package/dist/react/admin-tutoring.d.ts +1 -1
- package/dist/react/admin-tutoring.js +1 -1
- package/dist/react/admin-tutoring.js.map +1 -1
- package/dist/react/auth.d.ts +1 -1
- package/dist/react/auth.js +1 -1
- package/dist/react/auth.js.map +1 -1
- package/dist/react/biblio-billing-webhooks.d.ts +56 -0
- package/dist/react/biblio-billing-webhooks.js +126 -0
- package/dist/react/biblio-billing-webhooks.js.map +1 -0
- package/dist/react/biblio-billing.d.ts +876 -0
- package/dist/react/biblio-billing.js +1491 -0
- package/dist/react/biblio-billing.js.map +1 -0
- package/dist/react/biblio-catalogue.d.ts +1 -1
- package/dist/react/biblio-catalogue.js +1 -1
- package/dist/react/biblio-catalogue.js.map +1 -1
- package/dist/react/biblio-home.d.ts +1 -1
- package/dist/react/biblio-home.js +1 -1
- package/dist/react/biblio-home.js.map +1 -1
- package/dist/react/biblio-learning-author-profiles.d.ts +513 -0
- package/dist/react/biblio-learning-author-profiles.js +795 -0
- package/dist/react/biblio-learning-author-profiles.js.map +1 -0
- package/dist/react/biblio-learning-authoring.d.ts +745 -0
- package/dist/react/biblio-learning-authoring.js +1335 -0
- package/dist/react/biblio-learning-authoring.js.map +1 -0
- package/dist/react/biblio-learning-editorial.d.ts +264 -0
- package/dist/react/biblio-learning-editorial.js +371 -0
- package/dist/react/biblio-learning-editorial.js.map +1 -0
- package/dist/react/biblio-learning-feedback.d.ts +280 -0
- package/dist/react/biblio-learning-feedback.js +433 -0
- package/dist/react/biblio-learning-feedback.js.map +1 -0
- package/dist/react/biblio-learning-finance.d.ts +868 -0
- package/dist/react/biblio-learning-finance.js +1439 -0
- package/dist/react/biblio-learning-finance.js.map +1 -0
- package/dist/react/biblio-learning-integrations.d.ts +237 -0
- package/dist/react/biblio-learning-integrations.js +483 -0
- package/dist/react/biblio-learning-integrations.js.map +1 -0
- package/dist/react/biblio-learning-membership.d.ts +99 -0
- package/dist/react/biblio-learning-membership.js +165 -0
- package/dist/react/biblio-learning-membership.js.map +1 -0
- package/dist/react/biblio-learning.d.ts +1047 -0
- package/dist/react/biblio-learning.js +1667 -0
- package/dist/react/biblio-learning.js.map +1 -0
- package/dist/react/biblio-library.d.ts +1 -1
- package/dist/react/biblio-library.js +1 -1
- package/dist/react/biblio-library.js.map +1 -1
- package/dist/react/biblio-nextory.d.ts +1 -1
- package/dist/react/biblio-nextory.js +1 -1
- package/dist/react/biblio-nextory.js.map +1 -1
- package/dist/react/biblio-press.d.ts +1 -1
- package/dist/react/biblio-press.js +1 -1
- package/dist/react/biblio-press.js.map +1 -1
- package/dist/react/biblio-search.d.ts +1 -1
- package/dist/react/biblio-search.js +1 -1
- package/dist/react/biblio-search.js.map +1 -1
- package/dist/react/biblio-telemetry.d.ts +1 -1
- package/dist/react/biblio-telemetry.js +1 -1
- package/dist/react/biblio-telemetry.js.map +1 -1
- package/dist/react/chat.d.ts +1 -1
- package/dist/react/consumption.d.ts +1 -1
- package/dist/react/consumption.js +1 -1
- package/dist/react/consumption.js.map +1 -1
- package/dist/react/cvs-app.d.ts +1 -1
- package/dist/react/cvs-app.js +1 -1
- package/dist/react/cvs-app.js.map +1 -1
- package/dist/react/cvs-documents.d.ts +1 -1
- package/dist/react/cvs-documents.js +1 -1
- package/dist/react/cvs-documents.js.map +1 -1
- package/dist/react/cvs-favorites.d.ts +1 -1
- package/dist/react/cvs-favorites.js +1 -1
- package/dist/react/cvs-favorites.js.map +1 -1
- package/dist/react/cvs-ils.d.ts +1 -1
- package/dist/react/cvs-ils.js +1 -1
- package/dist/react/cvs-ils.js.map +1 -1
- package/dist/react/cvs-loans.d.ts +1 -1
- package/dist/react/cvs-loans.js +1 -1
- package/dist/react/cvs-loans.js.map +1 -1
- package/dist/react/cvs-payments.d.ts +1 -1
- package/dist/react/cvs-payments.js +1 -1
- package/dist/react/cvs-payments.js.map +1 -1
- package/dist/react/cvs-streaming.d.ts +1 -1
- package/dist/react/cvs-streaming.js +1 -1
- package/dist/react/cvs-streaming.js.map +1 -1
- package/dist/react/index.d.ts +11 -1
- package/dist/react/index.js +11 -1
- package/dist/react/partner-catalogue.d.ts +1 -1
- package/dist/react/partner-catalogue.js +1 -1
- package/dist/react/partner-catalogue.js.map +1 -1
- package/dist/react/partner-reader.d.ts +1 -1
- package/dist/react/partner-reader.js +1 -1
- package/dist/react/partner-reader.js.map +1 -1
- package/dist/react/profiles.d.ts +1 -1
- package/dist/react/profiles.js +1 -1
- package/dist/react/profiles.js.map +1 -1
- package/dist/react/search.d.ts +1 -1
- package/dist/react/search.js +1 -1
- package/dist/react/search.js.map +1 -1
- package/dist/react/tutoring-catalogue.d.ts +1 -1
- package/dist/react/tutoring-catalogue.js +1 -1
- package/dist/react/tutoring-catalogue.js.map +1 -1
- package/dist/react/tutoring-chat.d.ts +1 -1
- package/dist/react/tutoring-chat.js +1 -1
- package/dist/react/tutoring-chat.js.map +1 -1
- package/dist/react/tutoring-dispatch.d.ts +1 -1
- package/dist/react/tutoring-dispatch.js +1 -1
- package/dist/react/tutoring-dispatch.js.map +1 -1
- package/dist/react/tutoring-practitioner.d.ts +1 -1
- package/dist/react/tutoring-practitioner.js +1 -1
- package/dist/react/tutoring-practitioner.js.map +1 -1
- package/dist/react/tutoring-requests.d.ts +1 -1
- package/dist/react/tutoring-requests.js +1 -1
- package/dist/react/tutoring-requests.js.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biblio-learning-author-profiles.js","names":[],"sources":["../../src/react/biblio-learning-author-profiles/biblio-learning-author-profiles.ts"],"sourcesContent":["/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Mozaik backend\n * Four products behind one API — Biblio, Médiathèques, the partner catalogues (Nextory and YouScribe) and Prof Express. Authentication is Keycloak SSO only, once, for all of them: see the **auth** section below for the browser flow and the three failure modes.\n * OpenAPI spec version: 0.13.0\n */\nimport {\n useMutation,\n useQuery\n} from '@tanstack/react-query';\nimport type {\n DataTag,\n DefinedInitialDataOptions,\n DefinedUseQueryResult,\n MutationFunction,\n QueryClient,\n QueryFunction,\n QueryKey,\n UndefinedInitialDataOptions,\n UseMutationOptions,\n UseMutationResult,\n UseQueryOptions,\n UseQueryResult\n} from '@tanstack/react-query';\n\nimport type {\n CourseReviewWrite,\n HTTPExceptionResponse,\n LearningAssetRead,\n LearningAuthorDefinitionWrite,\n LearningAuthorFragmentsParams,\n LearningAuthorMessageWrite,\n LearningAuthorMessagesParams,\n LearningAuthorProfileAdminPage,\n LearningAuthorProfileAdminRead,\n LearningAuthorProfileCreateWrite,\n LearningAuthorProfilePage,\n LearningAuthorProfileRead,\n LearningAuthorRevisionPage,\n LearningAuthorRevisionRead,\n LearningAuthorRevisionUpdateWrite,\n LearningAuthorRevisionsParams,\n LearningEditorialFragmentDetailRead,\n LearningEditorialFragmentPage,\n LearningEditorialMessagePage,\n LearningEditorialMessageRead,\n LearningOwnAuthorProfilesParams,\n LearningPublicAuthorProfilesParams,\n LearningUploadRead,\n LearningUploadWrite,\n ValidationErrorResponse\n} from '../../models';\n\nimport { request } from '../../client';\nimport type { ErrorType , BodyType } from '../../client';\n\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\n\n\nconst withQueryKey = <T extends object, K>(query: T, queryKey: K): T & { queryKey: K } => {\n const result = { queryKey } as T & { queryKey: K };\n for (const key of Object.keys(query)) {\n // The explicit queryKey always wins, matching the previous\n // `{ ...query, queryKey }` spread where it was set last.\n if (key === 'queryKey') continue;\n Object.defineProperty(result, key, {\n enumerable: true,\n configurable: true,\n get: () => (query as Record<string, unknown>)[key],\n });\n }\n return result;\n};\n\nexport const getLearningOwnAuthorProfilesUrl = (params?: LearningOwnAuthorProfilesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/learning/author/profiles?${stringifiedParams}` : `/learning/author/profiles`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Includes inactive drafts and active public profiles, ordered by author ID. An imported active public snapshot may have no native publishedRevisionId; this does not imply that a publication date is known.\n * @summary List author profiles I can manage\n */\nexport const learningOwnAuthorProfiles = async (params?: LearningOwnAuthorProfilesParams, options?: Parameters<typeof request>[1]): Promise<LearningAuthorProfileAdminPage> => {\n\n return request<LearningAuthorProfileAdminPage>(getLearningOwnAuthorProfilesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningOwnAuthorProfilesQueryKey = (params?: LearningOwnAuthorProfilesParams,) => {\n return [\n `/learning/author/profiles`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningOwnAuthorProfilesQueryOptions = <TData = Awaited<ReturnType<typeof learningOwnAuthorProfiles>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(params?: LearningOwnAuthorProfilesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningOwnAuthorProfiles>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningOwnAuthorProfilesQueryKey(params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningOwnAuthorProfiles>>> = ({ signal }) => learningOwnAuthorProfiles(params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningOwnAuthorProfiles>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningOwnAuthorProfilesQueryResult = NonNullable<Awaited<ReturnType<typeof learningOwnAuthorProfiles>>>\nexport type LearningOwnAuthorProfilesQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningOwnAuthorProfiles<TData = Awaited<ReturnType<typeof learningOwnAuthorProfiles>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params: undefined | LearningOwnAuthorProfilesParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningOwnAuthorProfiles>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningOwnAuthorProfiles>>,\n TError,\n Awaited<ReturnType<typeof learningOwnAuthorProfiles>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningOwnAuthorProfiles<TData = Awaited<ReturnType<typeof learningOwnAuthorProfiles>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningOwnAuthorProfilesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningOwnAuthorProfiles>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningOwnAuthorProfiles>>,\n TError,\n Awaited<ReturnType<typeof learningOwnAuthorProfiles>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningOwnAuthorProfiles<TData = Awaited<ReturnType<typeof learningOwnAuthorProfiles>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningOwnAuthorProfilesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningOwnAuthorProfiles>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List author profiles I can manage\n */\n\nexport function useLearningOwnAuthorProfiles<TData = Awaited<ReturnType<typeof learningOwnAuthorProfiles>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningOwnAuthorProfilesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningOwnAuthorProfiles>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningOwnAuthorProfilesQueryOptions(params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningCreateAuthorProfileUrl = () => {\n\n\n\n\n return `/learning/author/profiles`\n}\n\n/**\n * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Creates an inactive teaching profile and its initial editable revision. The definition is not public until approved. Omitting authorId creates a new public author identity; binding an existing authorId or another ownerUserId requires global authority. Portrait assets must be eligible images in the chosen catalogue.\n * @summary Create an author profile and its first draft\n */\nexport const learningCreateAuthorProfile = async (learningAuthorProfileCreateWrite: LearningAuthorProfileCreateWrite, options?: Parameters<typeof request>[1]): Promise<LearningAuthorProfileAdminRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningAuthorProfileAdminRead>(getLearningCreateAuthorProfileUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningAuthorProfileCreateWrite)\n }\n);}\n\n\n\n\n\nexport const getLearningCreateAuthorProfileMutationKey = () => ['learningCreateAuthorProfile'] as const;\n\nexport const getLearningCreateAuthorProfileMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningCreateAuthorProfile>>, TError,LearningCreateAuthorProfileMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof learningCreateAuthorProfile>>, TError,LearningCreateAuthorProfileMutationVariables, TContext> => {\n\nconst mutationKey = getLearningCreateAuthorProfileMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof learningCreateAuthorProfile>>, LearningCreateAuthorProfileMutationVariables> = (props) => {\n const {data} = props ?? {};\n\n return learningCreateAuthorProfile(data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type LearningCreateAuthorProfileMutationResult = NonNullable<Awaited<ReturnType<typeof learningCreateAuthorProfile>>>\n export type LearningCreateAuthorProfileMutationBody = BodyType<LearningAuthorProfileCreateWrite>\n export type LearningCreateAuthorProfileMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type LearningCreateAuthorProfileMutationVariables = {data: BodyType<LearningAuthorProfileCreateWrite>}\n\n /**\n * @summary Create an author profile and its first draft\n */\nexport const useLearningCreateAuthorProfile = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningCreateAuthorProfile>>, TError,LearningCreateAuthorProfileMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof learningCreateAuthorProfile>>,\n TError,\n LearningCreateAuthorProfileMutationVariables,\n TContext\n > => {\n return useMutation(getLearningCreateAuthorProfileMutationOptions(options), queryClient);\n }\n export const getLearningAuthorProfileAdminUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Returns ownership and the native published revision pointer without exposing raw provider metadata. authorId is the existing public author identity. A null publishedRevisionId can describe a newly created profile or an imported public snapshot; use isActive and revision history for context.\n * @summary Read an author's private profile metadata\n */\nexport const learningAuthorProfileAdmin = async (authorId: number, options?: Parameters<typeof request>[1]): Promise<LearningAuthorProfileAdminRead> => {\n\n return request<LearningAuthorProfileAdminRead>(getLearningAuthorProfileAdminUrl(authorId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningAuthorProfileAdminQueryKey = (authorId: number,) => {\n return [\n `/learning/author/profiles/${authorId}`\n ] as const;\n }\n\n\nexport const getLearningAuthorProfileAdminQueryOptions = <TData = Awaited<ReturnType<typeof learningAuthorProfileAdmin>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorProfileAdmin>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningAuthorProfileAdminQueryKey(authorId);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningAuthorProfileAdmin>>> = ({ signal }) => learningAuthorProfileAdmin(authorId, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: authorId !== null && authorId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningAuthorProfileAdmin>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningAuthorProfileAdminQueryResult = NonNullable<Awaited<ReturnType<typeof learningAuthorProfileAdmin>>>\nexport type LearningAuthorProfileAdminQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningAuthorProfileAdmin<TData = Awaited<ReturnType<typeof learningAuthorProfileAdmin>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorProfileAdmin>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorProfileAdmin>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorProfileAdmin>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorProfileAdmin<TData = Awaited<ReturnType<typeof learningAuthorProfileAdmin>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorProfileAdmin>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorProfileAdmin>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorProfileAdmin>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorProfileAdmin<TData = Awaited<ReturnType<typeof learningAuthorProfileAdmin>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorProfileAdmin>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Read an author's private profile metadata\n */\n\nexport function useLearningAuthorProfileAdmin<TData = Awaited<ReturnType<typeof learningAuthorProfileAdmin>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorProfileAdmin>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningAuthorProfileAdminQueryOptions(authorId,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningAuthorMessagesUrl = (authorId: number,\n params?: LearningAuthorMessagesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/learning/author/profiles/${authorId}/messages?${stringifiedParams}` : `/learning/author/profiles/${authorId}/messages`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by message ID. Includes native profile discussion and matching imported source messages when available. Author messages do not carry courseId or course revisionId. Historical messages can have unknown author attribution or creation date.\n * @summary List private editorial messages for an author\n */\nexport const learningAuthorMessages = async (authorId: number,\n params?: LearningAuthorMessagesParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialMessagePage> => {\n\n return request<LearningEditorialMessagePage>(getLearningAuthorMessagesUrl(authorId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningAuthorMessagesQueryKey = (authorId: number,\n params?: LearningAuthorMessagesParams,) => {\n return [\n `/learning/author/profiles/${authorId}/messages`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningAuthorMessagesQueryOptions = <TData = Awaited<ReturnType<typeof learningAuthorMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(authorId: number,\n params?: LearningAuthorMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningAuthorMessagesQueryKey(authorId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningAuthorMessages>>> = ({ signal }) => learningAuthorMessages(authorId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: authorId !== null && authorId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningAuthorMessages>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningAuthorMessagesQueryResult = NonNullable<Awaited<ReturnType<typeof learningAuthorMessages>>>\nexport type LearningAuthorMessagesQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningAuthorMessages<TData = Awaited<ReturnType<typeof learningAuthorMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params: undefined | LearningAuthorMessagesParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorMessages>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorMessages>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorMessages>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorMessages<TData = Awaited<ReturnType<typeof learningAuthorMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params?: LearningAuthorMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorMessages>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorMessages>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorMessages>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorMessages<TData = Awaited<ReturnType<typeof learningAuthorMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params?: LearningAuthorMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List private editorial messages for an author\n */\n\nexport function useLearningAuthorMessages<TData = Awaited<ReturnType<typeof learningAuthorMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params?: LearningAuthorMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningAuthorMessagesQueryOptions(authorId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningAddAuthorMessageUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/messages`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Appends a message to the profile's editorial discussion, attributed to the effective profile. The source object fields identify the native LearningAuthorProfile subject; they are not a course revision reference. Messages do not change publication status.\n * @summary Add a private author profile message\n */\nexport const learningAddAuthorMessage = async (authorId: number,\n learningAuthorMessageWrite: LearningAuthorMessageWrite, options?: Parameters<typeof request>[1]): Promise<LearningEditorialMessageRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningEditorialMessageRead>(getLearningAddAuthorMessageUrl(authorId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningAuthorMessageWrite)\n }\n);}\n\n\n\n\n\nexport const getLearningAddAuthorMessageMutationKey = () => ['learningAddAuthorMessage'] as const;\n\nexport const getLearningAddAuthorMessageMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningAddAuthorMessage>>, TError,LearningAddAuthorMessageMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof learningAddAuthorMessage>>, TError,LearningAddAuthorMessageMutationVariables, TContext> => {\n\nconst mutationKey = getLearningAddAuthorMessageMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof learningAddAuthorMessage>>, LearningAddAuthorMessageMutationVariables> = (props) => {\n const {authorId,data} = props ?? {};\n\n return learningAddAuthorMessage(authorId,data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type LearningAddAuthorMessageMutationResult = NonNullable<Awaited<ReturnType<typeof learningAddAuthorMessage>>>\n export type LearningAddAuthorMessageMutationBody = BodyType<LearningAuthorMessageWrite>\n export type LearningAddAuthorMessageMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type LearningAddAuthorMessageMutationVariables = {authorId: number;data: BodyType<LearningAuthorMessageWrite>}\n\n /**\n * @summary Add a private author profile message\n */\nexport const useLearningAddAuthorMessage = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningAddAuthorMessage>>, TError,LearningAddAuthorMessageMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof learningAddAuthorMessage>>,\n TError,\n LearningAddAuthorMessageMutationVariables,\n TContext\n > => {\n return useMutation(getLearningAddAuthorMessageMutationOptions(options), queryClient);\n }\n export const getLearningPreviewAuthorPortraitUrl = (authorId: number,\n assetId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/portraits/${assetId}`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Returns a delivery descriptor for a candidate image that the caller may use in this profile's catalogue. assetId may refer to a completed private portrait upload or eligible teaching image. Previewing does not publish it; the public portrait remains tied to the current public profile.\n * @summary Preview an eligible private author portrait\n */\nexport const learningPreviewAuthorPortrait = async (authorId: number,\n assetId: number, options?: Parameters<typeof request>[1]): Promise<LearningAssetRead> => {\n\n return request<LearningAssetRead>(getLearningPreviewAuthorPortraitUrl(authorId,assetId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningPreviewAuthorPortraitQueryKey = (authorId: number,\n assetId: number,) => {\n return [\n `/learning/author/profiles/${authorId}/portraits/${assetId}`\n ] as const;\n }\n\n\nexport const getLearningPreviewAuthorPortraitQueryOptions = <TData = Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(authorId: number,\n assetId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningPreviewAuthorPortraitQueryKey(authorId,assetId);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>> = ({ signal }) => learningPreviewAuthorPortrait(authorId,assetId, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: authorId !== null && authorId !== undefined && assetId !== null && assetId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningPreviewAuthorPortraitQueryResult = NonNullable<Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>>\nexport type LearningPreviewAuthorPortraitQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningPreviewAuthorPortrait<TData = Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n assetId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>,\n TError,\n Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningPreviewAuthorPortrait<TData = Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n assetId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>,\n TError,\n Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningPreviewAuthorPortrait<TData = Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n assetId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Preview an eligible private author portrait\n */\n\nexport function useLearningPreviewAuthorPortrait<TData = Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n assetId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPreviewAuthorPortrait>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningPreviewAuthorPortraitQueryOptions(authorId,assetId,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningAuthorFragmentsUrl = (authorId: number,\n params?: LearningAuthorFragmentsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/learning/author/profiles/${authorId}/revision-fragments?${stringifiedParams}` : `/learning/author/profiles/${authorId}/revision-fragments`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. Returns summaries for the profile's matched source identity, ordered by fragment ID. No source identity match produces an empty collection. Payload bytes are available from the scoped detail endpoint.\n * @summary List an author's imported revision fragments\n */\nexport const learningAuthorFragments = async (authorId: number,\n params?: LearningAuthorFragmentsParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialFragmentPage> => {\n\n return request<LearningEditorialFragmentPage>(getLearningAuthorFragmentsUrl(authorId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningAuthorFragmentsQueryKey = (authorId: number,\n params?: LearningAuthorFragmentsParams,) => {\n return [\n `/learning/author/profiles/${authorId}/revision-fragments`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningAuthorFragmentsQueryOptions = <TData = Awaited<ReturnType<typeof learningAuthorFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(authorId: number,\n params?: LearningAuthorFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningAuthorFragmentsQueryKey(authorId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningAuthorFragments>>> = ({ signal }) => learningAuthorFragments(authorId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: authorId !== null && authorId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragments>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningAuthorFragmentsQueryResult = NonNullable<Awaited<ReturnType<typeof learningAuthorFragments>>>\nexport type LearningAuthorFragmentsQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningAuthorFragments<TData = Awaited<ReturnType<typeof learningAuthorFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params: undefined | LearningAuthorFragmentsParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragments>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorFragments>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorFragments>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorFragments<TData = Awaited<ReturnType<typeof learningAuthorFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params?: LearningAuthorFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragments>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorFragments>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorFragments>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorFragments<TData = Awaited<ReturnType<typeof learningAuthorFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params?: LearningAuthorFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List an author's imported revision fragments\n */\n\nexport function useLearningAuthorFragments<TData = Awaited<ReturnType<typeof learningAuthorFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params?: LearningAuthorFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningAuthorFragmentsQueryOptions(authorId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningAuthorFragmentUrl = (authorId: number,\n fragmentId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/revision-fragments/${fragmentId}`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. fragmentId must match the selected author's source identity and catalogue. sourcePayload contains opaque base64-encoded source bytes when retained; inspect them as evidence, never execute or deserialize them as trusted application objects.\n * @summary Read an author's imported revision fragment\n */\nexport const learningAuthorFragment = async (authorId: number,\n fragmentId: number, options?: Parameters<typeof request>[1]): Promise<LearningEditorialFragmentDetailRead> => {\n\n return request<LearningEditorialFragmentDetailRead>(getLearningAuthorFragmentUrl(authorId,fragmentId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningAuthorFragmentQueryKey = (authorId: number,\n fragmentId: number,) => {\n return [\n `/learning/author/profiles/${authorId}/revision-fragments/${fragmentId}`\n ] as const;\n }\n\n\nexport const getLearningAuthorFragmentQueryOptions = <TData = Awaited<ReturnType<typeof learningAuthorFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(authorId: number,\n fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragment>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningAuthorFragmentQueryKey(authorId,fragmentId);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningAuthorFragment>>> = ({ signal }) => learningAuthorFragment(authorId,fragmentId, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: authorId !== null && authorId !== undefined && fragmentId !== null && fragmentId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragment>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningAuthorFragmentQueryResult = NonNullable<Awaited<ReturnType<typeof learningAuthorFragment>>>\nexport type LearningAuthorFragmentQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningAuthorFragment<TData = Awaited<ReturnType<typeof learningAuthorFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n fragmentId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragment>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorFragment>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorFragment>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorFragment<TData = Awaited<ReturnType<typeof learningAuthorFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragment>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorFragment>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorFragment>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorFragment<TData = Awaited<ReturnType<typeof learningAuthorFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragment>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Read an author's imported revision fragment\n */\n\nexport function useLearningAuthorFragment<TData = Awaited<ReturnType<typeof learningAuthorFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorFragment>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningAuthorFragmentQueryOptions(authorId,fragmentId,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningAuthorRevisionsUrl = (authorId: number,\n params?: LearningAuthorRevisionsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/learning/author/profiles/${authorId}/revisions?${stringifiedParams}` : `/learning/author/profiles/${authorId}/revisions`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by revision ID descending. These are complete native definitions. Partial imported revisions are available separately from revision-fragments and are not promoted into this history. version counts revisions; editVersion counts replacements within a draft.\n * @summary List an author's native editorial revisions\n */\nexport const learningAuthorRevisions = async (authorId: number,\n params?: LearningAuthorRevisionsParams, options?: Parameters<typeof request>[1]): Promise<LearningAuthorRevisionPage> => {\n\n return request<LearningAuthorRevisionPage>(getLearningAuthorRevisionsUrl(authorId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningAuthorRevisionsQueryKey = (authorId: number,\n params?: LearningAuthorRevisionsParams,) => {\n return [\n `/learning/author/profiles/${authorId}/revisions`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningAuthorRevisionsQueryOptions = <TData = Awaited<ReturnType<typeof learningAuthorRevisions>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(authorId: number,\n params?: LearningAuthorRevisionsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorRevisions>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningAuthorRevisionsQueryKey(authorId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningAuthorRevisions>>> = ({ signal }) => learningAuthorRevisions(authorId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: authorId !== null && authorId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningAuthorRevisions>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningAuthorRevisionsQueryResult = NonNullable<Awaited<ReturnType<typeof learningAuthorRevisions>>>\nexport type LearningAuthorRevisionsQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningAuthorRevisions<TData = Awaited<ReturnType<typeof learningAuthorRevisions>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params: undefined | LearningAuthorRevisionsParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorRevisions>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorRevisions>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorRevisions>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorRevisions<TData = Awaited<ReturnType<typeof learningAuthorRevisions>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params?: LearningAuthorRevisionsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorRevisions>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorRevisions>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorRevisions>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorRevisions<TData = Awaited<ReturnType<typeof learningAuthorRevisions>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params?: LearningAuthorRevisionsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorRevisions>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List an author's native editorial revisions\n */\n\nexport function useLearningAuthorRevisions<TData = Awaited<ReturnType<typeof learningAuthorRevisions>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number,\n params?: LearningAuthorRevisionsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorRevisions>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningAuthorRevisionsQueryOptions(authorId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningDraftAuthorRevisionUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/revisions`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Creates the next numbered revision from the supplied full definition. No existing draft or submitted revision may be present. Rejected or published definitions remain in history. The public profile stays unchanged until this draft is submitted and approved.\n * @summary Create the next author profile draft\n */\nexport const learningDraftAuthorRevision = async (authorId: number,\n learningAuthorDefinitionWrite: LearningAuthorDefinitionWrite, options?: Parameters<typeof request>[1]): Promise<LearningAuthorRevisionRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningAuthorRevisionRead>(getLearningDraftAuthorRevisionUrl(authorId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningAuthorDefinitionWrite)\n }\n);}\n\n\n\n\n\nexport const getLearningDraftAuthorRevisionMutationKey = () => ['learningDraftAuthorRevision'] as const;\n\nexport const getLearningDraftAuthorRevisionMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningDraftAuthorRevision>>, TError,LearningDraftAuthorRevisionMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof learningDraftAuthorRevision>>, TError,LearningDraftAuthorRevisionMutationVariables, TContext> => {\n\nconst mutationKey = getLearningDraftAuthorRevisionMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof learningDraftAuthorRevision>>, LearningDraftAuthorRevisionMutationVariables> = (props) => {\n const {authorId,data} = props ?? {};\n\n return learningDraftAuthorRevision(authorId,data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type LearningDraftAuthorRevisionMutationResult = NonNullable<Awaited<ReturnType<typeof learningDraftAuthorRevision>>>\n export type LearningDraftAuthorRevisionMutationBody = BodyType<LearningAuthorDefinitionWrite>\n export type LearningDraftAuthorRevisionMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type LearningDraftAuthorRevisionMutationVariables = {authorId: number;data: BodyType<LearningAuthorDefinitionWrite>}\n\n /**\n * @summary Create the next author profile draft\n */\nexport const useLearningDraftAuthorRevision = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningDraftAuthorRevision>>, TError,LearningDraftAuthorRevisionMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof learningDraftAuthorRevision>>,\n TError,\n LearningDraftAuthorRevisionMutationVariables,\n TContext\n > => {\n return useMutation(getLearningDraftAuthorRevisionMutationOptions(options), queryClient);\n }\n export const getLearningEditAuthorRevisionUrl = (authorId: number,\n revisionId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/revisions/${revisionId}`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Replaces the full draft definition and increments editVersion. expectedEditVersion must match the latest response. Only draft status is editable; a rejected profile revision needs a new successor. Neither this edit nor a private portrait preview changes the public profile.\n * @summary Replace an editable author profile draft\n */\nexport const learningEditAuthorRevision = async (authorId: number,\n revisionId: number,\n learningAuthorRevisionUpdateWrite: LearningAuthorRevisionUpdateWrite, options?: Parameters<typeof request>[1]): Promise<LearningAuthorRevisionRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningAuthorRevisionRead>(getLearningEditAuthorRevisionUrl(authorId,revisionId),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningAuthorRevisionUpdateWrite)\n }\n);}\n\n\n\n\n\nexport const getLearningEditAuthorRevisionMutationKey = () => ['learningEditAuthorRevision'] as const;\n\nexport const getLearningEditAuthorRevisionMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningEditAuthorRevision>>, TError,LearningEditAuthorRevisionMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof learningEditAuthorRevision>>, TError,LearningEditAuthorRevisionMutationVariables, TContext> => {\n\nconst mutationKey = getLearningEditAuthorRevisionMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof learningEditAuthorRevision>>, LearningEditAuthorRevisionMutationVariables> = (props) => {\n const {authorId,revisionId,data} = props ?? {};\n\n return learningEditAuthorRevision(authorId,revisionId,data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type LearningEditAuthorRevisionMutationResult = NonNullable<Awaited<ReturnType<typeof learningEditAuthorRevision>>>\n export type LearningEditAuthorRevisionMutationBody = BodyType<LearningAuthorRevisionUpdateWrite>\n export type LearningEditAuthorRevisionMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type LearningEditAuthorRevisionMutationVariables = {authorId: number;revisionId: number;data: BodyType<LearningAuthorRevisionUpdateWrite>}\n\n /**\n * @summary Replace an editable author profile draft\n */\nexport const useLearningEditAuthorRevision = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningEditAuthorRevision>>, TError,LearningEditAuthorRevisionMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof learningEditAuthorRevision>>,\n TError,\n LearningEditAuthorRevisionMutationVariables,\n TContext\n > => {\n return useMutation(getLearningEditAuthorRevisionMutationOptions(options), queryClient);\n }\n export const getLearningReviewAuthorRevisionUrl = (authorId: number,\n revisionId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/revisions/${revisionId}/review`\n}\n\n/**\n * Requires review authority for the author's active catalogue or global authority; ownership alone is insufficient. Only submitted revisions can be reviewed. Approval atomically updates the public identity, biography, portrait and activity flag, and supersedes the previous published revision. Rejection retains the current public profile and stores the review note.\n * @summary Approve or reject an author profile revision\n */\nexport const learningReviewAuthorRevision = async (authorId: number,\n revisionId: number,\n courseReviewWrite: CourseReviewWrite, options?: Parameters<typeof request>[1]): Promise<LearningAuthorRevisionRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningAuthorRevisionRead>(getLearningReviewAuthorRevisionUrl(authorId,revisionId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(courseReviewWrite)\n }\n);}\n\n\n\n\n\nexport const getLearningReviewAuthorRevisionMutationKey = () => ['learningReviewAuthorRevision'] as const;\n\nexport const getLearningReviewAuthorRevisionMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningReviewAuthorRevision>>, TError,LearningReviewAuthorRevisionMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof learningReviewAuthorRevision>>, TError,LearningReviewAuthorRevisionMutationVariables, TContext> => {\n\nconst mutationKey = getLearningReviewAuthorRevisionMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof learningReviewAuthorRevision>>, LearningReviewAuthorRevisionMutationVariables> = (props) => {\n const {authorId,revisionId,data} = props ?? {};\n\n return learningReviewAuthorRevision(authorId,revisionId,data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type LearningReviewAuthorRevisionMutationResult = NonNullable<Awaited<ReturnType<typeof learningReviewAuthorRevision>>>\n export type LearningReviewAuthorRevisionMutationBody = BodyType<CourseReviewWrite>\n export type LearningReviewAuthorRevisionMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type LearningReviewAuthorRevisionMutationVariables = {authorId: number;revisionId: number;data: BodyType<CourseReviewWrite>}\n\n /**\n * @summary Approve or reject an author profile revision\n */\nexport const useLearningReviewAuthorRevision = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningReviewAuthorRevision>>, TError,LearningReviewAuthorRevisionMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof learningReviewAuthorRevision>>,\n TError,\n LearningReviewAuthorRevisionMutationVariables,\n TContext\n > => {\n return useMutation(getLearningReviewAuthorRevisionMutationOptions(options), queryClient);\n }\n export const getLearningSubmitAuthorRevisionUrl = (authorId: number,\n revisionId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/revisions/${revisionId}/submit`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Only a draft may be submitted. Revalidates the portrait, records submittedAt and freezes editing while awaiting review. The currently public biography and portrait remain in place until approval.\n * @summary Submit an author profile draft for review\n */\nexport const learningSubmitAuthorRevision = async (authorId: number,\n revisionId: number, options?: Parameters<typeof request>[1]): Promise<LearningAuthorRevisionRead> => {\n\n return request<LearningAuthorRevisionRead>(getLearningSubmitAuthorRevisionUrl(authorId,revisionId),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningSubmitAuthorRevisionMutationKey = () => ['learningSubmitAuthorRevision'] as const;\n\nexport const getLearningSubmitAuthorRevisionMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningSubmitAuthorRevision>>, TError,LearningSubmitAuthorRevisionMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof learningSubmitAuthorRevision>>, TError,LearningSubmitAuthorRevisionMutationVariables, TContext> => {\n\nconst mutationKey = getLearningSubmitAuthorRevisionMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof learningSubmitAuthorRevision>>, LearningSubmitAuthorRevisionMutationVariables> = (props) => {\n const {authorId,revisionId} = props ?? {};\n\n return learningSubmitAuthorRevision(authorId,revisionId,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type LearningSubmitAuthorRevisionMutationResult = NonNullable<Awaited<ReturnType<typeof learningSubmitAuthorRevision>>>\n\n export type LearningSubmitAuthorRevisionMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type LearningSubmitAuthorRevisionMutationVariables = {authorId: number;revisionId: number}\n\n /**\n * @summary Submit an author profile draft for review\n */\nexport const useLearningSubmitAuthorRevision = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningSubmitAuthorRevision>>, TError,LearningSubmitAuthorRevisionMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof learningSubmitAuthorRevision>>,\n TError,\n LearningSubmitAuthorRevisionMutationVariables,\n TContext\n > => {\n return useMutation(getLearningSubmitAuthorRevisionMutationOptions(options), queryClient);\n }\n export const getLearningReserveAuthorPortraitUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/uploads`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Reserves a PNG or JPEG of at most 10 MiB. Send exactly sizeBytes raw bytes with the declared Content-Type to uploadUrl using method before expiresAt. Reservation alone creates no usable portrait; reference the asset returned after upload completion in an author revision, then submit and approve it to make it public.\n * @summary Reserve a private author portrait upload\n */\nexport const learningReserveAuthorPortrait = async (authorId: number,\n learningUploadWrite: LearningUploadWrite, options?: Parameters<typeof request>[1]): Promise<LearningUploadRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningUploadRead>(getLearningReserveAuthorPortraitUrl(authorId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningUploadWrite)\n }\n);}\n\n\n\n\n\nexport const getLearningReserveAuthorPortraitMutationKey = () => ['learningReserveAuthorPortrait'] as const;\n\nexport const getLearningReserveAuthorPortraitMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningReserveAuthorPortrait>>, TError,LearningReserveAuthorPortraitMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof learningReserveAuthorPortrait>>, TError,LearningReserveAuthorPortraitMutationVariables, TContext> => {\n\nconst mutationKey = getLearningReserveAuthorPortraitMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof learningReserveAuthorPortrait>>, LearningReserveAuthorPortraitMutationVariables> = (props) => {\n const {authorId,data} = props ?? {};\n\n return learningReserveAuthorPortrait(authorId,data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type LearningReserveAuthorPortraitMutationResult = NonNullable<Awaited<ReturnType<typeof learningReserveAuthorPortrait>>>\n export type LearningReserveAuthorPortraitMutationBody = BodyType<LearningUploadWrite>\n export type LearningReserveAuthorPortraitMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type LearningReserveAuthorPortraitMutationVariables = {authorId: number;data: BodyType<LearningUploadWrite>}\n\n /**\n * @summary Reserve a private author portrait upload\n */\nexport const useLearningReserveAuthorPortrait = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningReserveAuthorPortrait>>, TError,LearningReserveAuthorPortraitMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof learningReserveAuthorPortrait>>,\n TError,\n LearningReserveAuthorPortraitMutationVariables,\n TContext\n > => {\n return useMutation(getLearningReserveAuthorPortraitMutationOptions(options), queryClient);\n }\n export const getLearningPublicAuthorProfilesUrl = (params?: LearningPublicAuthorProfilesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/learning/authors?${stringifiedParams}` : `/learning/authors`\n}\n\n/**\n * Requires an authenticated effective profile in the learning context. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Lists active profiles in active catalogues, ordered by author ID. Returns the current public projection, including imported public snapshots, with no private ownership, draft or review metadata. portraitUrl is the API locator for a separate media delivery request.\n * @summary List published teaching author profiles\n */\nexport const learningPublicAuthorProfiles = async (params?: LearningPublicAuthorProfilesParams, options?: Parameters<typeof request>[1]): Promise<LearningAuthorProfilePage> => {\n\n return request<LearningAuthorProfilePage>(getLearningPublicAuthorProfilesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningPublicAuthorProfilesQueryKey = (params?: LearningPublicAuthorProfilesParams,) => {\n return [\n `/learning/authors`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningPublicAuthorProfilesQueryOptions = <TData = Awaited<ReturnType<typeof learningPublicAuthorProfiles>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(params?: LearningPublicAuthorProfilesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfiles>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningPublicAuthorProfilesQueryKey(params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningPublicAuthorProfiles>>> = ({ signal }) => learningPublicAuthorProfiles(params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfiles>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningPublicAuthorProfilesQueryResult = NonNullable<Awaited<ReturnType<typeof learningPublicAuthorProfiles>>>\nexport type LearningPublicAuthorProfilesQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningPublicAuthorProfiles<TData = Awaited<ReturnType<typeof learningPublicAuthorProfiles>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params: undefined | LearningPublicAuthorProfilesParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfiles>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningPublicAuthorProfiles>>,\n TError,\n Awaited<ReturnType<typeof learningPublicAuthorProfiles>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningPublicAuthorProfiles<TData = Awaited<ReturnType<typeof learningPublicAuthorProfiles>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningPublicAuthorProfilesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfiles>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningPublicAuthorProfiles>>,\n TError,\n Awaited<ReturnType<typeof learningPublicAuthorProfiles>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningPublicAuthorProfiles<TData = Awaited<ReturnType<typeof learningPublicAuthorProfiles>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningPublicAuthorProfilesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfiles>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List published teaching author profiles\n */\n\nexport function useLearningPublicAuthorProfiles<TData = Awaited<ReturnType<typeof learningPublicAuthorProfiles>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningPublicAuthorProfilesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfiles>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningPublicAuthorProfilesQueryOptions(params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningPublicAuthorProfileUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/authors/${authorId}`\n}\n\n/**\n * Returns the current public profile to an authenticated effective profile in the learning context. Both the profile and its catalogue must be active. Pending drafts and review notes are private. Follow portraitUrl through the portrait endpoint to obtain a delivery descriptor.\n * @summary Read a published teaching author profile\n */\nexport const learningPublicAuthorProfile = async (authorId: number, options?: Parameters<typeof request>[1]): Promise<LearningAuthorProfileRead> => {\n\n return request<LearningAuthorProfileRead>(getLearningPublicAuthorProfileUrl(authorId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningPublicAuthorProfileQueryKey = (authorId: number,) => {\n return [\n `/learning/authors/${authorId}`\n ] as const;\n }\n\n\nexport const getLearningPublicAuthorProfileQueryOptions = <TData = Awaited<ReturnType<typeof learningPublicAuthorProfile>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfile>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningPublicAuthorProfileQueryKey(authorId);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningPublicAuthorProfile>>> = ({ signal }) => learningPublicAuthorProfile(authorId, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: authorId !== null && authorId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfile>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningPublicAuthorProfileQueryResult = NonNullable<Awaited<ReturnType<typeof learningPublicAuthorProfile>>>\nexport type LearningPublicAuthorProfileQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningPublicAuthorProfile<TData = Awaited<ReturnType<typeof learningPublicAuthorProfile>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfile>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningPublicAuthorProfile>>,\n TError,\n Awaited<ReturnType<typeof learningPublicAuthorProfile>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningPublicAuthorProfile<TData = Awaited<ReturnType<typeof learningPublicAuthorProfile>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfile>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningPublicAuthorProfile>>,\n TError,\n Awaited<ReturnType<typeof learningPublicAuthorProfile>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningPublicAuthorProfile<TData = Awaited<ReturnType<typeof learningPublicAuthorProfile>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfile>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Read a published teaching author profile\n */\n\nexport function useLearningPublicAuthorProfile<TData = Awaited<ReturnType<typeof learningPublicAuthorProfile>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningPublicAuthorProfile>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningPublicAuthorProfileQueryOptions(authorId,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningAuthorPortraitUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/authors/${authorId}/portrait`\n}\n\n/**\n * Requires an active public author in an active catalogue. Returns a media delivery descriptor for the approved or imported public portrait, not image bytes. Draft portrait assets are accessible only through the private preview endpoint. Delivery URLs may expire and do not disclose storage keys or provider metadata.\n * @summary Get the currently public author portrait\n */\nexport const learningAuthorPortrait = async (authorId: number, options?: Parameters<typeof request>[1]): Promise<LearningAssetRead> => {\n\n return request<LearningAssetRead>(getLearningAuthorPortraitUrl(authorId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningAuthorPortraitQueryKey = (authorId: number,) => {\n return [\n `/learning/authors/${authorId}/portrait`\n ] as const;\n }\n\n\nexport const getLearningAuthorPortraitQueryOptions = <TData = Awaited<ReturnType<typeof learningAuthorPortrait>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorPortrait>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningAuthorPortraitQueryKey(authorId);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningAuthorPortrait>>> = ({ signal }) => learningAuthorPortrait(authorId, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: authorId !== null && authorId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningAuthorPortrait>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningAuthorPortraitQueryResult = NonNullable<Awaited<ReturnType<typeof learningAuthorPortrait>>>\nexport type LearningAuthorPortraitQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningAuthorPortrait<TData = Awaited<ReturnType<typeof learningAuthorPortrait>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorPortrait>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorPortrait>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorPortrait>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorPortrait<TData = Awaited<ReturnType<typeof learningAuthorPortrait>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorPortrait>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningAuthorPortrait>>,\n TError,\n Awaited<ReturnType<typeof learningAuthorPortrait>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningAuthorPortrait<TData = Awaited<ReturnType<typeof learningAuthorPortrait>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorPortrait>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Get the currently public author portrait\n */\n\nexport function useLearningAuthorPortrait<TData = Awaited<ReturnType<typeof learningAuthorPortrait>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n authorId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningAuthorPortrait>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningAuthorPortraitQueryOptions(authorId,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\n"],"mappings":";;;;;;;;;;;AA8DA,MAAM,gBAAqC,OAAU,aAAqC;CACxF,MAAM,SAAS,EAAE,SAAS;CAC1B,KAAK,MAAM,OAAO,OAAO,KAAK,KAAK,GAAG;EAGpC,IAAI,QAAQ,YAAY;EACxB,OAAO,eAAe,QAAQ,KAAK;GACjC,YAAY;GACZ,cAAc;GACd,WAAY,MAAkC;EAChD,CAAC;CACH;CACA,OAAO;AACT;AAEA,MAAa,mCAAmC,WAA8C;CAC5F,MAAM,mBAAmB,IAAI,gBAAgB;CAE7C,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAErD,IAAI,UAAU,KAAA,GACZ,iBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;CAExE,CAAC;CAED,MAAM,oBAAoB,iBAAiB,SAAS;CAEpD,OAAO,kBAAkB,SAAS,IAAI,6BAA6B,sBAAsB;AAC3F;;;;;AAMA,MAAa,4BAA4B,OAAO,QAA0C,YAAqF;CAE7K,OAAO,QAAwC,gCAAgC,MAAM,GACrF;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAMF,MAAa,wCAAwC,WAA8C;CAC/F,OAAO,CACP,6BAA6B,GAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CACtD;AACA;AAGJ,MAAa,4CAAgL,QAA0C,YAClO;CAEL,MAAM,EAAC,OAAO,cAAc,SAAS,mBAAkB,WAAW,CAAC;CAEjE,MAAM,WAAY,cAAc,YAAY,qCAAqC,MAAM;CAIrF,MAAM,WAAiF,EAAE,aAAa,0BAA0B,QAAQ;EAAE;EAAQ,GAAG;CAAe,CAAC;CAMtK,OAAQ;EAAE;EAAU;EAAS,GAAG;CAAY;AAC/C;;;;AAkCA,SAAgB,6BACf,QAA0C,SACxC,aACiF;CAElF,MAAM,eAAe,yCAAyC,QAAO,OAAO;CAE5E,MAAM,QAAQ,SAAS,cAAc,WAAW;CAEhD,OAAO,aAAa,OAAO,aAAa,QAAQ;AAClD;AAOA,MAAa,0CAA0C;CAKrD,OAAO;AACT;;;;;AAMA,MAAa,8BAA8B,OAAO,kCAAoE,YAAqF;CAEvM,MAAM,cAAc,MAAwF;EAC5G,IAAI,CAAC,GAAG,OAAO,CAAC;EAChB,IAAI,aAAa,SAAS,OAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;EAC/D,IAAI,OAAO,YAAY,GACrB,OAAO,OAAO,YACZ,MAAM,KAAK,IAAkC,UAAU,MAAM,KAAK,KAAK,CAAqB,CAC9F;EAEF,MAAM,UAAsD,CAAC;EAC7D,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAgD,CAAC,GAClF,IAAI,UAAU,KAAA,GAAW,QAAQ,QAAQ;EAE3C,OAAO;CACT;CACF,OAAO,QAAwC,kCAAkC,GAC/E;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,gCAAgC;CACvD,CACF;AAAE;AAMF,MAAa,kDAAkD,CAAC,6BAA6B;AAE7F,MAAa,iDACW,YACyH;CAEjJ,MAAM,cAAc,0CAA0C;CAC9D,MAAM,EAAC,UAAU,iBAAiB,SAAS,mBAAkB,UACvD,QAAQ,YAAY,iBAAiB,QAAQ,YAAY,QAAQ,SAAS,cAC1E,UACE;EAAC,GAAG;EAAS,UAAU;GAAC,GAAG,QAAQ;GAAU;EAAW;CAAC,IACzD;EAAC,UAAU,EAAE,YAAa;EAAG,SAAS,KAAA;CAAS;CAKjD,MAAM,cAAuI,UAAU;EACnJ,MAAM,EAAC,SAAQ,SAAS,CAAC;EAEzB,OAAQ,4BAA4B,MAAK,cAAc;CACzD;CAON,OAAQ;EAAE;EAAY,GAAG;CAAgB;AAAC;;;;AAU5C,MAAa,kCACW,SACrB,gBAKQ;CACL,OAAO,YAAY,8CAA8C,OAAO,GAAG,WAAW;AACxF;AACA,MAAa,oCAAoC,aAAsB;CAKzE,OAAO,6BAA6B;AACtC;;;;;AAMA,MAAa,6BAA6B,OAAO,UAAkB,YAAqF;CAEtJ,OAAO,QAAwC,iCAAiC,QAAQ,GACxF;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAMF,MAAa,yCAAyC,aAAsB;CACxE,OAAO,CACP,6BAA6B,UAC7B;AACA;AAGJ,MAAa,6CAAkL,UAAkB,YAC5M;CAEL,MAAM,EAAC,OAAO,cAAc,SAAS,mBAAkB,WAAW,CAAC;CAEjE,MAAM,WAAY,cAAc,YAAY,sCAAsC,QAAQ;CAIxF,MAAM,WAAkF,EAAE,aAAa,2BAA2B,UAAU;EAAE;EAAQ,GAAG;CAAe,CAAC;CAM1K,OAAQ;EAAE;EAAU;EAAS,SAAS,aAAa,QAAQ,aAAa,KAAA;EAAW,GAAG;CAAY;AACrG;;;;AAkCA,SAAgB,8BACf,UAAkB,SAChB,aACiF;CAElF,MAAM,eAAe,0CAA0C,UAAS,OAAO;CAE/E,MAAM,QAAQ,SAAS,cAAc,WAAW;CAEhD,OAAO,aAAa,OAAO,aAAa,QAAQ;AAClD;AAOA,MAAa,gCAAgC,UACzC,WAA2C;CAC7C,MAAM,mBAAmB,IAAI,gBAAgB;CAE7C,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAErD,IAAI,UAAU,KAAA,GACZ,iBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;CAExE,CAAC;CAED,MAAM,oBAAoB,iBAAiB,SAAS;CAEpD,OAAO,kBAAkB,SAAS,IAAI,6BAA6B,SAAS,YAAY,sBAAsB,6BAA6B,SAAS;AACtJ;;;;;AAMA,MAAa,yBAAyB,OAAO,UACzC,QAAuC,YAAmF;CAE5H,OAAO,QAAsC,6BAA6B,UAAS,MAAM,GACzF;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAMF,MAAa,qCAAqC,UAC9C,WAA2C;CAC3C,OAAO,CACP,6BAA6B,SAAS,YAAY,GAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CAC3E;AACA;AAGJ,MAAa,yCAA0K,UACnL,QAAuC,YACtC;CAEL,MAAM,EAAC,OAAO,cAAc,SAAS,mBAAkB,WAAW,CAAC;CAEjE,MAAM,WAAY,cAAc,YAAY,kCAAkC,UAAS,MAAM;CAI3F,MAAM,WAA8E,EAAE,aAAa,uBAAuB,UAAS,QAAQ;EAAE;EAAQ,GAAG;CAAe,CAAC;CAMzK,OAAQ;EAAE;EAAU;EAAS,SAAS,aAAa,QAAQ,aAAa,KAAA;EAAW,GAAG;CAAY;AACrG;;;;AAqCA,SAAgB,0BACf,UACG,QAAuC,SACxC,aACiF;CAElF,MAAM,eAAe,sCAAsC,UAAS,QAAO,OAAO;CAElF,MAAM,QAAQ,SAAS,cAAc,WAAW;CAEhD,OAAO,aAAa,OAAO,aAAa,QAAQ;AAClD;AAOA,MAAa,kCAAkC,aAAsB;CAKnE,OAAO,6BAA6B,SAAS;AAC/C;;;;;AAMA,MAAa,2BAA2B,OAAO,UAC3C,4BAAwD,YAAmF;CAE3I,MAAM,cAAc,MAAwF;EAC5G,IAAI,CAAC,GAAG,OAAO,CAAC;EAChB,IAAI,aAAa,SAAS,OAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;EAC/D,IAAI,OAAO,YAAY,GACrB,OAAO,OAAO,YACZ,MAAM,KAAK,IAAkC,UAAU,MAAM,KAAK,KAAK,CAAqB,CAC9F;EAEF,MAAM,UAAsD,CAAC;EAC7D,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAgD,CAAC,GAClF,IAAI,UAAU,KAAA,GAAW,QAAQ,QAAQ;EAE3C,OAAO;CACT;CACF,OAAO,QAAsC,+BAA+B,QAAQ,GAClF;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,0BAA0B;CACjD,CACF;AAAE;AAMF,MAAa,+CAA+C,CAAC,0BAA0B;AAEvF,MAAa,8CACW,YACmH;CAE3I,MAAM,cAAc,uCAAuC;CAC3D,MAAM,EAAC,UAAU,iBAAiB,SAAS,mBAAkB,UACvD,QAAQ,YAAY,iBAAiB,QAAQ,YAAY,QAAQ,SAAS,cAC1E,UACE;EAAC,GAAG;EAAS,UAAU;GAAC,GAAG,QAAQ;GAAU;EAAW;CAAC,IACzD;EAAC,UAAU,EAAE,YAAa;EAAG,SAAS,KAAA;CAAS;CAKjD,MAAM,cAAiI,UAAU;EAC7I,MAAM,EAAC,UAAS,SAAQ,SAAS,CAAC;EAElC,OAAQ,yBAAyB,UAAS,MAAK,cAAc;CAC/D;CAON,OAAQ;EAAE;EAAY,GAAG;CAAgB;AAAC;;;;AAU5C,MAAa,+BACW,SACrB,gBAKQ;CACL,OAAO,YAAY,2CAA2C,OAAO,GAAG,WAAW;AACrF;AACA,MAAa,uCAAuC,UACpD,YAAqB;CAKvB,OAAO,6BAA6B,SAAS,aAAa;AAC5D;;;;;AAMA,MAAa,gCAAgC,OAAO,UAChD,SAAiB,YAAwE;CAE3F,OAAO,QAA2B,oCAAoC,UAAS,OAAO,GACtF;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAMF,MAAa,4CAA4C,UACrD,YAAqB;CACrB,OAAO,CACP,6BAA6B,SAAS,aAAa,SACnD;AACA;AAGJ,MAAa,gDAAwL,UACjM,SAAiB,YAChB;CAEL,MAAM,EAAC,OAAO,cAAc,SAAS,mBAAkB,WAAW,CAAC;CAEjE,MAAM,WAAY,cAAc,YAAY,yCAAyC,UAAS,OAAO;CAInG,MAAM,WAAqF,EAAE,aAAa,8BAA8B,UAAS,SAAS;EAAE;EAAQ,GAAG;CAAe,CAAC;CAMxL,OAAQ;EAAE;EAAU;EAAS,SAAS,aAAa,QAAQ,aAAa,KAAA,KAAa,YAAY,QAAQ,YAAY,KAAA;EAAW,GAAG;CAAY;AAClJ;;;;AAqCA,SAAgB,iCACf,UACG,SAAiB,SAClB,aACiF;CAElF,MAAM,eAAe,6CAA6C,UAAS,SAAQ,OAAO;CAE1F,MAAM,QAAQ,SAAS,cAAc,WAAW;CAEhD,OAAO,aAAa,OAAO,aAAa,QAAQ;AAClD;AAOA,MAAa,iCAAiC,UAC1C,WAA4C;CAC9C,MAAM,mBAAmB,IAAI,gBAAgB;CAE7C,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAErD,IAAI,UAAU,KAAA,GACZ,iBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;CAExE,CAAC;CAED,MAAM,oBAAoB,iBAAiB,SAAS;CAEpD,OAAO,kBAAkB,SAAS,IAAI,6BAA6B,SAAS,sBAAsB,sBAAsB,6BAA6B,SAAS;AAChK;;;;;AAMA,MAAa,0BAA0B,OAAO,UAC1C,QAAwC,YAAoF;CAE9H,OAAO,QAAuC,8BAA8B,UAAS,MAAM,GAC3F;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAMF,MAAa,sCAAsC,UAC/C,WAA4C;CAC5C,OAAO,CACP,6BAA6B,SAAS,sBAAsB,GAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CACrF;AACA;AAGJ,MAAa,0CAA4K,UACrL,QAAwC,YACvC;CAEL,MAAM,EAAC,OAAO,cAAc,SAAS,mBAAkB,WAAW,CAAC;CAEjE,MAAM,WAAY,cAAc,YAAY,mCAAmC,UAAS,MAAM;CAI5F,MAAM,WAA+E,EAAE,aAAa,wBAAwB,UAAS,QAAQ;EAAE;EAAQ,GAAG;CAAe,CAAC;CAM3K,OAAQ;EAAE;EAAU;EAAS,SAAS,aAAa,QAAQ,aAAa,KAAA;EAAW,GAAG;CAAY;AACrG;;;;AAqCA,SAAgB,2BACf,UACG,QAAwC,SACzC,aACiF;CAElF,MAAM,eAAe,uCAAuC,UAAS,QAAO,OAAO;CAEnF,MAAM,QAAQ,SAAS,cAAc,WAAW;CAEhD,OAAO,aAAa,OAAO,aAAa,QAAQ;AAClD;AAOA,MAAa,gCAAgC,UACzC,eAAwB;CAK1B,OAAO,6BAA6B,SAAS,sBAAsB;AACrE;;;;;AAMA,MAAa,yBAAyB,OAAO,UACzC,YAAoB,YAA0F;CAEhH,OAAO,QAA6C,6BAA6B,UAAS,UAAU,GACpG;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAMF,MAAa,qCAAqC,UAC9C,eAAwB;CACxB,OAAO,CACP,6BAA6B,SAAS,sBAAsB,YAC5D;AACA;AAGJ,MAAa,yCAA0K,UACnL,YAAoB,YACnB;CAEL,MAAM,EAAC,OAAO,cAAc,SAAS,mBAAkB,WAAW,CAAC;CAEjE,MAAM,WAAY,cAAc,YAAY,kCAAkC,UAAS,UAAU;CAI/F,MAAM,WAA8E,EAAE,aAAa,uBAAuB,UAAS,YAAY;EAAE;EAAQ,GAAG;CAAe,CAAC;CAM7K,OAAQ;EAAE;EAAU;EAAS,SAAS,aAAa,QAAQ,aAAa,KAAA,KAAa,eAAe,QAAQ,eAAe,KAAA;EAAW,GAAG;CAAY;AACxJ;;;;AAqCA,SAAgB,0BACf,UACG,YAAoB,SACrB,aACiF;CAElF,MAAM,eAAe,sCAAsC,UAAS,YAAW,OAAO;CAEtF,MAAM,QAAQ,SAAS,cAAc,WAAW;CAEhD,OAAO,aAAa,OAAO,aAAa,QAAQ;AAClD;AAOA,MAAa,iCAAiC,UAC1C,WAA4C;CAC9C,MAAM,mBAAmB,IAAI,gBAAgB;CAE7C,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAErD,IAAI,UAAU,KAAA,GACZ,iBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;CAExE,CAAC;CAED,MAAM,oBAAoB,iBAAiB,SAAS;CAEpD,OAAO,kBAAkB,SAAS,IAAI,6BAA6B,SAAS,aAAa,sBAAsB,6BAA6B,SAAS;AACvJ;;;;;AAMA,MAAa,0BAA0B,OAAO,UAC1C,QAAwC,YAAiF;CAE3H,OAAO,QAAoC,8BAA8B,UAAS,MAAM,GACxF;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAMF,MAAa,sCAAsC,UAC/C,WAA4C;CAC5C,OAAO,CACP,6BAA6B,SAAS,aAAa,GAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CAC5E;AACA;AAGJ,MAAa,0CAA4K,UACrL,QAAwC,YACvC;CAEL,MAAM,EAAC,OAAO,cAAc,SAAS,mBAAkB,WAAW,CAAC;CAEjE,MAAM,WAAY,cAAc,YAAY,mCAAmC,UAAS,MAAM;CAI5F,MAAM,WAA+E,EAAE,aAAa,wBAAwB,UAAS,QAAQ;EAAE;EAAQ,GAAG;CAAe,CAAC;CAM3K,OAAQ;EAAE;EAAU;EAAS,SAAS,aAAa,QAAQ,aAAa,KAAA;EAAW,GAAG;CAAY;AACrG;;;;AAqCA,SAAgB,2BACf,UACG,QAAwC,SACzC,aACiF;CAElF,MAAM,eAAe,uCAAuC,UAAS,QAAO,OAAO;CAEnF,MAAM,QAAQ,SAAS,cAAc,WAAW;CAEhD,OAAO,aAAa,OAAO,aAAa,QAAQ;AAClD;AAOA,MAAa,qCAAqC,aAAsB;CAKtE,OAAO,6BAA6B,SAAS;AAC/C;;;;;AAMA,MAAa,8BAA8B,OAAO,UAC9C,+BAA8D,YAAiF;CAE/I,MAAM,cAAc,MAAwF;EAC5G,IAAI,CAAC,GAAG,OAAO,CAAC;EAChB,IAAI,aAAa,SAAS,OAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;EAC/D,IAAI,OAAO,YAAY,GACrB,OAAO,OAAO,YACZ,MAAM,KAAK,IAAkC,UAAU,MAAM,KAAK,KAAK,CAAqB,CAC9F;EAEF,MAAM,UAAsD,CAAC;EAC7D,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAgD,CAAC,GAClF,IAAI,UAAU,KAAA,GAAW,QAAQ,QAAQ;EAE3C,OAAO;CACT;CACF,OAAO,QAAoC,kCAAkC,QAAQ,GACnF;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,6BAA6B;CACpD,CACF;AAAE;AAMF,MAAa,kDAAkD,CAAC,6BAA6B;AAE7F,MAAa,iDACW,YACyH;CAEjJ,MAAM,cAAc,0CAA0C;CAC9D,MAAM,EAAC,UAAU,iBAAiB,SAAS,mBAAkB,UACvD,QAAQ,YAAY,iBAAiB,QAAQ,YAAY,QAAQ,SAAS,cAC1E,UACE;EAAC,GAAG;EAAS,UAAU;GAAC,GAAG,QAAQ;GAAU;EAAW;CAAC,IACzD;EAAC,UAAU,EAAE,YAAa;EAAG,SAAS,KAAA;CAAS;CAKjD,MAAM,cAAuI,UAAU;EACnJ,MAAM,EAAC,UAAS,SAAQ,SAAS,CAAC;EAElC,OAAQ,4BAA4B,UAAS,MAAK,cAAc;CAClE;CAON,OAAQ;EAAE;EAAY,GAAG;CAAgB;AAAC;;;;AAU5C,MAAa,kCACW,SACrB,gBAKQ;CACL,OAAO,YAAY,8CAA8C,OAAO,GAAG,WAAW;AACxF;AACA,MAAa,oCAAoC,UACjD,eAAwB;CAK1B,OAAO,6BAA6B,SAAS,aAAa;AAC5D;;;;;AAMA,MAAa,6BAA6B,OAAO,UAC7C,YACA,mCAAsE,YAAiF;CAEvJ,MAAM,cAAc,MAAwF;EAC5G,IAAI,CAAC,GAAG,OAAO,CAAC;EAChB,IAAI,aAAa,SAAS,OAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;EAC/D,IAAI,OAAO,YAAY,GACrB,OAAO,OAAO,YACZ,MAAM,KAAK,IAAkC,UAAU,MAAM,KAAK,KAAK,CAAqB,CAC9F;EAEF,MAAM,UAAsD,CAAC;EAC7D,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAgD,CAAC,GAClF,IAAI,UAAU,KAAA,GAAW,QAAQ,QAAQ;EAE3C,OAAO;CACT;CACF,OAAO,QAAoC,iCAAiC,UAAS,UAAU,GAC7F;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,iCAAiC;CACxD,CACF;AAAE;AAMF,MAAa,iDAAiD,CAAC,4BAA4B;AAE3F,MAAa,gDACW,YACuH;CAE/I,MAAM,cAAc,yCAAyC;CAC7D,MAAM,EAAC,UAAU,iBAAiB,SAAS,mBAAkB,UACvD,QAAQ,YAAY,iBAAiB,QAAQ,YAAY,QAAQ,SAAS,cAC1E,UACE;EAAC,GAAG;EAAS,UAAU;GAAC,GAAG,QAAQ;GAAU;EAAW;CAAC,IACzD;EAAC,UAAU,EAAE,YAAa;EAAG,SAAS,KAAA;CAAS;CAKjD,MAAM,cAAqI,UAAU;EACjJ,MAAM,EAAC,UAAS,YAAW,SAAQ,SAAS,CAAC;EAE7C,OAAQ,2BAA2B,UAAS,YAAW,MAAK,cAAc;CAC5E;CAON,OAAQ;EAAE;EAAY,GAAG;CAAgB;AAAC;;;;AAU5C,MAAa,iCACW,SACrB,gBAKQ;CACL,OAAO,YAAY,6CAA6C,OAAO,GAAG,WAAW;AACvF;AACA,MAAa,sCAAsC,UACnD,eAAwB;CAK1B,OAAO,6BAA6B,SAAS,aAAa,WAAW;AACvE;;;;;AAMA,MAAa,+BAA+B,OAAO,UAC/C,YACA,mBAAsC,YAAiF;CAEvH,MAAM,cAAc,MAAwF;EAC5G,IAAI,CAAC,GAAG,OAAO,CAAC;EAChB,IAAI,aAAa,SAAS,OAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;EAC/D,IAAI,OAAO,YAAY,GACrB,OAAO,OAAO,YACZ,MAAM,KAAK,IAAkC,UAAU,MAAM,KAAK,KAAK,CAAqB,CAC9F;EAEF,MAAM,UAAsD,CAAC;EAC7D,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAgD,CAAC,GAClF,IAAI,UAAU,KAAA,GAAW,QAAQ,QAAQ;EAE3C,OAAO;CACT;CACF,OAAO,QAAoC,mCAAmC,UAAS,UAAU,GAC/F;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,iBAAiB;CACxC,CACF;AAAE;AAMF,MAAa,mDAAmD,CAAC,8BAA8B;AAE/F,MAAa,kDACW,YAC2H;CAEnJ,MAAM,cAAc,2CAA2C;CAC/D,MAAM,EAAC,UAAU,iBAAiB,SAAS,mBAAkB,UACvD,QAAQ,YAAY,iBAAiB,QAAQ,YAAY,QAAQ,SAAS,cAC1E,UACE;EAAC,GAAG;EAAS,UAAU;GAAC,GAAG,QAAQ;GAAU;EAAW;CAAC,IACzD;EAAC,UAAU,EAAE,YAAa;EAAG,SAAS,KAAA;CAAS;CAKjD,MAAM,cAAyI,UAAU;EACrJ,MAAM,EAAC,UAAS,YAAW,SAAQ,SAAS,CAAC;EAE7C,OAAQ,6BAA6B,UAAS,YAAW,MAAK,cAAc;CAC9E;CAON,OAAQ;EAAE;EAAY,GAAG;CAAgB;AAAC;;;;AAU5C,MAAa,mCACW,SACrB,gBAKQ;CACL,OAAO,YAAY,+CAA+C,OAAO,GAAG,WAAW;AACzF;AACA,MAAa,sCAAsC,UACnD,eAAwB;CAK1B,OAAO,6BAA6B,SAAS,aAAa,WAAW;AACvE;;;;;AAMA,MAAa,+BAA+B,OAAO,UAC/C,YAAoB,YAAiF;CAEvG,OAAO,QAAoC,mCAAmC,UAAS,UAAU,GACjG;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAMF,MAAa,mDAAmD,CAAC,8BAA8B;AAE/F,MAAa,kDACW,YAC2H;CAEnJ,MAAM,cAAc,2CAA2C;CAC/D,MAAM,EAAC,UAAU,iBAAiB,SAAS,mBAAkB,UACvD,QAAQ,YAAY,iBAAiB,QAAQ,YAAY,QAAQ,SAAS,cAC1E,UACE;EAAC,GAAG;EAAS,UAAU;GAAC,GAAG,QAAQ;GAAU;EAAW;CAAC,IACzD;EAAC,UAAU,EAAE,YAAa;EAAG,SAAS,KAAA;CAAS;CAKjD,MAAM,cAAyI,UAAU;EACrJ,MAAM,EAAC,UAAS,eAAc,SAAS,CAAC;EAExC,OAAQ,6BAA6B,UAAS,YAAW,cAAc;CACzE;CAON,OAAQ;EAAE;EAAY,GAAG;CAAgB;AAAC;;;;AAU5C,MAAa,mCACW,SACrB,gBAKQ;CACL,OAAO,YAAY,+CAA+C,OAAO,GAAG,WAAW;AACzF;AACA,MAAa,uCAAuC,aAAsB;CAK5E,OAAO,6BAA6B,SAAS;AAC/C;;;;;AAMA,MAAa,gCAAgC,OAAO,UAChD,qBAA0C,YAAyE;CAEnH,MAAM,cAAc,MAAwF;EAC5G,IAAI,CAAC,GAAG,OAAO,CAAC;EAChB,IAAI,aAAa,SAAS,OAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;EAC/D,IAAI,OAAO,YAAY,GACrB,OAAO,OAAO,YACZ,MAAM,KAAK,IAAkC,UAAU,MAAM,KAAK,KAAK,CAAqB,CAC9F;EAEF,MAAM,UAAsD,CAAC;EAC7D,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAgD,CAAC,GAClF,IAAI,UAAU,KAAA,GAAW,QAAQ,QAAQ;EAE3C,OAAO;CACT;CACF,OAAO,QAA4B,oCAAoC,QAAQ,GAC7E;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,mBAAmB;CAC1C,CACF;AAAE;AAMF,MAAa,oDAAoD,CAAC,+BAA+B;AAEjG,MAAa,mDACW,YAC6H;CAErJ,MAAM,cAAc,4CAA4C;CAChE,MAAM,EAAC,UAAU,iBAAiB,SAAS,mBAAkB,UACvD,QAAQ,YAAY,iBAAiB,QAAQ,YAAY,QAAQ,SAAS,cAC1E,UACE;EAAC,GAAG;EAAS,UAAU;GAAC,GAAG,QAAQ;GAAU;EAAW;CAAC,IACzD;EAAC,UAAU,EAAE,YAAa;EAAG,SAAS,KAAA;CAAS;CAKjD,MAAM,cAA2I,UAAU;EACvJ,MAAM,EAAC,UAAS,SAAQ,SAAS,CAAC;EAElC,OAAQ,8BAA8B,UAAS,MAAK,cAAc;CACpE;CAON,OAAQ;EAAE;EAAY,GAAG;CAAgB;AAAC;;;;AAU5C,MAAa,oCACW,SACrB,gBAKQ;CACL,OAAO,YAAY,gDAAgD,OAAO,GAAG,WAAW;AAC1F;AACA,MAAa,sCAAsC,WAAiD;CACtG,MAAM,mBAAmB,IAAI,gBAAgB;CAE7C,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAErD,IAAI,UAAU,KAAA,GACZ,iBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;CAExE,CAAC;CAED,MAAM,oBAAoB,iBAAiB,SAAS;CAEpD,OAAO,kBAAkB,SAAS,IAAI,qBAAqB,sBAAsB;AACnF;;;;;AAMA,MAAa,+BAA+B,OAAO,QAA6C,YAAgF;CAE9K,OAAO,QAAmC,mCAAmC,MAAM,GACnF;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAMF,MAAa,2CAA2C,WAAiD;CACrG,OAAO,CACP,qBAAqB,GAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CAC9C;AACA;AAGJ,MAAa,+CAAsL,QAA6C,YAC3O;CAEL,MAAM,EAAC,OAAO,cAAc,SAAS,mBAAkB,WAAW,CAAC;CAEjE,MAAM,WAAY,cAAc,YAAY,wCAAwC,MAAM;CAIxF,MAAM,WAAoF,EAAE,aAAa,6BAA6B,QAAQ;EAAE;EAAQ,GAAG;CAAe,CAAC;CAM5K,OAAQ;EAAE;EAAU;EAAS,GAAG;CAAY;AAC/C;;;;AAkCA,SAAgB,gCACf,QAA6C,SAC3C,aACiF;CAElF,MAAM,eAAe,4CAA4C,QAAO,OAAO;CAE/E,MAAM,QAAQ,SAAS,cAAc,WAAW;CAEhD,OAAO,aAAa,OAAO,aAAa,QAAQ;AAClD;AAOA,MAAa,qCAAqC,aAAsB;CAKtE,OAAO,qBAAqB;AAC9B;;;;;AAMA,MAAa,8BAA8B,OAAO,UAAkB,YAAgF;CAElJ,OAAO,QAAmC,kCAAkC,QAAQ,GACpF;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAMF,MAAa,0CAA0C,aAAsB;CACzE,OAAO,CACP,qBAAqB,UACrB;AACA;AAGJ,MAAa,8CAAoL,UAAkB,YAC9M;CAEL,MAAM,EAAC,OAAO,cAAc,SAAS,mBAAkB,WAAW,CAAC;CAEjE,MAAM,WAAY,cAAc,YAAY,uCAAuC,QAAQ;CAIzF,MAAM,WAAmF,EAAE,aAAa,4BAA4B,UAAU;EAAE;EAAQ,GAAG;CAAe,CAAC;CAM5K,OAAQ;EAAE;EAAU;EAAS,SAAS,aAAa,QAAQ,aAAa,KAAA;EAAW,GAAG;CAAY;AACrG;;;;AAkCA,SAAgB,+BACf,UAAkB,SAChB,aACiF;CAElF,MAAM,eAAe,2CAA2C,UAAS,OAAO;CAEhF,MAAM,QAAQ,SAAS,cAAc,WAAW;CAEhD,OAAO,aAAa,OAAO,aAAa,QAAQ;AAClD;AAOA,MAAa,gCAAgC,aAAsB;CAKjE,OAAO,qBAAqB,SAAS;AACvC;;;;;AAMA,MAAa,yBAAyB,OAAO,UAAkB,YAAwE;CAErI,OAAO,QAA2B,6BAA6B,QAAQ,GACvE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAMF,MAAa,qCAAqC,aAAsB;CACpE,OAAO,CACP,qBAAqB,SAAS,UAC9B;AACA;AAGJ,MAAa,yCAA0K,UAAkB,YACpM;CAEL,MAAM,EAAC,OAAO,cAAc,SAAS,mBAAkB,WAAW,CAAC;CAEjE,MAAM,WAAY,cAAc,YAAY,kCAAkC,QAAQ;CAIpF,MAAM,WAA8E,EAAE,aAAa,uBAAuB,UAAU;EAAE;EAAQ,GAAG;CAAe,CAAC;CAMlK,OAAQ;EAAE;EAAU;EAAS,SAAS,aAAa,QAAQ,aAAa,KAAA;EAAW,GAAG;CAAY;AACrG;;;;AAkCA,SAAgB,0BACf,UAAkB,SAChB,aACiF;CAElF,MAAM,eAAe,sCAAsC,UAAS,OAAO;CAE3E,MAAM,QAAQ,SAAS,cAAc,WAAW;CAEhD,OAAO,aAAa,OAAO,aAAa,QAAQ;AAClD"}
|