{"version":3,"sources":["jsdelivr-header.js","/npm/@xmpp/client@0.14.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OCNS,IAAK,IAAK,WAAc,2BAC1B,eAAgB,yBAChB,eAAgB,yBAChB,SAAU,mBACV,SAAU,mBACV,gBAAiB,0BACjB,oBAAqB,+BACrB,cAAe,4BACf,cAAe,4BACf,aAAc,uBACd,cAAe,wBACf,WAAY,qBACZ,UAAW,oBACX,qBAAsB,gCACtB,sBAAuB,iCACvB,WAAY,8CACZ,UAAW,4CACX,gBAAiB,wBACjB,cAAe,gCACf,UAAW,0BACX,cAAe,8BACf,iBAAkB,oCAElB,yBAA0B,uCAC1B,cAAe,qBAEtB,SAAS,OAAO,EAAU,CAAC,GACzB,IAAI,SAAE,EAAQ,YAAE,EAAW,SAAE,EAAQ,SAAE,EAAQ,UAAE,KAAc,GAC7D,EAEF,MAAM,OAAE,EAAM,QAAE,GAAY,GACvB,GAAU,IACb,EAAO,OAAS,UAAU,IAG5B,MAAM,EAAS,IAAI,OAAO,GACtB,GAAY,EAAO,SACrB,EAAO,IAAM,IAAI,EAAU,EAAO,SAGpC,MAAM,EAAY,WAAW,CAAE,WACzB,EAAY,WAAW,CAAE,WACzB,EAAM,iBAAiB,KAAM,CAAE,WAC/B,EAAM,iBAAiB,KAAM,CAAE,WAE/B,EAAa,YAAY,CAAE,WAC3B,EAAiB,gBAAgB,CAAE,eACnC,EAAW,UAAU,CAAE,aAAY,WACnC,EAAW,UAAU,CAAE,aAAY,WACnC,EAAU,SAAS,CAAE,WAGrB,EAAc,IAAI,YAClB,EAAa,OAAO,QAAQ,IACP,mBAAd,WAA4B,CAAE,qBACzC,YACA,sBACC,KAAI,EAAE,EAAG,MAAO,CAAG,CAAC,GAAI,EAAE,OAG7B,IAAc,IAAI,aAAc,CAAE,GAAI,WAAW,OAAO,eAGxD,MAAM,EAAW,iBAAiB,UAAW,CAAE,mBACzC,EAAQ,OACZ,CAAE,iBAAgB,eAClB,qBAAqB,GAAe,CAAE,WAAU,YAAY,IAGxD,EAAO,MAAM,CACjB,QACA,WAEF,EAAM,MAAM,CAAE,SAGd,MAAM,EAAQ,OAAO,CAAE,QAAO,UAAU,GAGxC,aAAa,EAAK,aAGlB,MAAM,EAAO,MACX,CAAE,iBAAgB,eAClB,qBAAqB,GAAe,CAAE,WAAU,YAAY,IAExD,EAAmB,kBAAkB,CACzC,iBACA,SACA,aACA,QACA,UAEI,EAAkB,iBACtB,CAAE,WAAU,kBACZ,GAOF,OAJA,GAAU,IAAI,gBAAiB,QAAQ,KAC9B,CAAC,KAGH,OAAO,OAAO,EAAQ,CAC3B,SACA,YACA,MACA,YACA,MACA,aACA,iBACA,WACA,WACA,UACA,WACA,cACA,QACA,OACA,kBACA,mBACA,aACA,QACA,QAEJ,CAKA,SAAS,iBAAiB,KAAW,GACnC,GAAsB,mBAAX,EAIX,OAAO,KAAU,EACnB,QAES,IAAK,IAAK","file":"/npm/@xmpp/client@0.14.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@xmpp/client@0.14.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { xml, jid, Client } from \"@xmpp/client-core\";\nimport _reconnect from \"@xmpp/reconnect\";\nimport _websocket from \"@xmpp/websocket\";\nimport _tcp from \"@xmpp/tcp\";\nimport _tls from \"@xmpp/tls\";\nimport _middleware from \"@xmpp/middleware\";\nimport _streamFeatures from \"@xmpp/stream-features\";\nimport _iqCaller from \"@xmpp/iq/caller.js\";\nimport _iqCallee from \"@xmpp/iq/callee.js\";\nimport _resolve from \"@xmpp/resolve\";\nimport _starttls from \"@xmpp/starttls\";\nimport _sasl2 from \"@xmpp/sasl2\";\nimport _sasl from \"@xmpp/sasl\";\nimport _resourceBinding from \"@xmpp/resource-binding\";\nimport _streamManagement from \"@xmpp/stream-management\";\nimport _bind2 from \"@xmpp/client-core/src/bind2/bind2.js\";\nimport _fast from \"@xmpp/client-core/src/fast/fast.js\";\nimport SASLFactory from \"saslmechanisms\";\nimport scramsha1 from \"@xmpp/sasl-scram-sha-1\";\nimport plain from \"@xmpp/sasl-plain\";\nimport anonymous from \"@xmpp/sasl-anonymous\";\nimport htsha256none from \"@xmpp/sasl-ht-sha-256-none\";\n\nimport createOnAuthenticate from \"./lib/createOnAuthenticate.js\";\nimport getDomain from \"./lib/getDomain.js\";\n\nfunction client(options = {}) {\n  let { resource, credentials, username, password, userAgent, ...params } =\n    options;\n\n  const { domain, service } = params;\n  if (!domain && service) {\n    params.domain = getDomain(service);\n  }\n\n  const entity = new Client(params);\n  if (username && params.domain) {\n    entity.jid = jid(username, params.domain);\n  }\n\n  const reconnect = _reconnect({ entity });\n  const websocket = _websocket({ entity });\n  const tcp = setupIfAvailable(_tcp, { entity });\n  const tls = setupIfAvailable(_tls, { entity });\n\n  const middleware = _middleware({ entity });\n  const streamFeatures = _streamFeatures({ middleware });\n  const iqCaller = _iqCaller({ middleware, entity });\n  const iqCallee = _iqCallee({ middleware, entity });\n  const resolve = _resolve({ entity });\n\n  // SASL mechanisms - order matters and define priority\n  const saslFactory = new SASLFactory();\n  const mechanisms = Object.entries({\n    ...(typeof scramsha1 === \"function\" && { scramsha1 }),\n    plain,\n    anonymous,\n  }).map(([k, v]) => ({ [k]: v(saslFactory) }));\n\n  // eslint-disable-next-line n/no-unsupported-features/node-builtins\n  userAgent ??= xml(\"user-agent\", { id: globalThis.crypto.randomUUID() });\n\n  // Stream features - order matters and define priority\n  const starttls = setupIfAvailable(_starttls, { streamFeatures });\n  const sasl2 = _sasl2(\n    { streamFeatures, saslFactory },\n    createOnAuthenticate(credentials ?? { username, password }, userAgent),\n  );\n\n  const fast = _fast({\n    sasl2,\n    entity,\n  });\n  sasl2.setup({ fast });\n\n  // SASL2 inline features\n  const bind2 = _bind2({ sasl2, entity }, resource);\n\n  // FAST mechanisms - order matters and define priority\n  htsha256none(fast.saslFactory);\n\n  // Stream features - order matters and define priority\n  const sasl = _sasl(\n    { streamFeatures, saslFactory },\n    createOnAuthenticate(credentials ?? { username, password }, userAgent),\n  );\n  const streamManagement = _streamManagement({\n    streamFeatures,\n    entity,\n    middleware,\n    bind2,\n    sasl2,\n  });\n  const resourceBinding = _resourceBinding(\n    { iqCaller, streamFeatures },\n    resource,\n  );\n\n  iqCallee?.get(\"urn:xmpp:ping\", \"ping\", () => {\n    return {};\n  });\n\n  return Object.assign(entity, {\n    entity,\n    reconnect,\n    tcp,\n    websocket,\n    tls,\n    middleware,\n    streamFeatures,\n    iqCaller,\n    iqCallee,\n    resolve,\n    starttls,\n    saslFactory,\n    sasl2,\n    sasl,\n    resourceBinding,\n    streamManagement,\n    mechanisms,\n    bind2,\n    fast,\n  });\n}\n\n// In browsers and react-native some packages are excluded\n// see package.json and https://metrobundler.dev/docs/configuration/#resolvermainfields\n// in which case the default import returns an empty object\nfunction setupIfAvailable(module, ...args) {\n  if (typeof module !== \"function\") {\n    return undefined;\n  }\n\n  return module(...args);\n}\n\nexport { xml, jid, client };\n"]}