langflow-base-nightly 0.5.0.dev6__py3-none-any.whl → 0.5.0.dev8__py3-none-any.whl
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.
- langflow/api/v1/endpoints.py +18 -21
- langflow/api/v1/schemas.py +29 -4
- langflow/frontend/assets/{SlackIcon-Bsdt9l8V.js → SlackIcon-BotWPNKm.js} +1 -1
- langflow/frontend/assets/{Wikipedia-CYMoTVdP.js → Wikipedia-DRNSYQow.js} +1 -1
- langflow/frontend/assets/{Wolfram-Bg_vSeax.js → Wolfram-Db_jUSZI.js} +1 -1
- langflow/frontend/assets/{index-D4AU2UC5.js → index-19eRIFZ4.js} +1 -1
- langflow/frontend/assets/{index-rqGxlCeu.js → index-2TJmaEup.js} +1 -1
- langflow/frontend/assets/{index-CI1W9FgK.js → index-3vqHLc3t.js} +1 -1
- langflow/frontend/assets/{index-3BMa0ERx.js → index-9eXY-QWQ.js} +1 -1
- langflow/frontend/assets/{index-DiLtvko9.js → index-B-ES6eS-.js} +1 -1
- langflow/frontend/assets/{index-CC03CeHx.js → index-B1sswgB8.js} +1 -1
- langflow/frontend/assets/{index-DiqMu1gz.js → index-B3deLAql.js} +1 -1
- langflow/frontend/assets/{index-DaAuqDfG.js → index-B5EkhN3K.js} +1 -1
- langflow/frontend/assets/{index-BF9CTzRg.js → index-B5Oxgk9P.js} +1 -1
- langflow/frontend/assets/{index-Bqr4Ou8S.js → index-B6o6dq6E.js} +1 -1
- langflow/frontend/assets/{index-CE_5zwoF.js → index-B75wIMbZ.js} +1 -1
- langflow/frontend/assets/{index-Rlw9Py-5.js → index-BBMaOGes.js} +1 -1
- langflow/frontend/assets/{index-B7e8tMm6.js → index-BD5Qd3fi.js} +1 -1
- langflow/frontend/assets/{index-BePq9Fzc.js → index-BFj0D1r7.js} +1 -1
- langflow/frontend/assets/{index-D9nx1Zey.js → index-BOHPjPHg.js} +1 -1
- langflow/frontend/assets/{index-Cb9tDuMy.js → index-BOyq956u.js} +1 -1
- langflow/frontend/assets/{index-9FewfUXK.js → index-BPbfRYEA.js} +1 -1
- langflow/frontend/assets/{index-CCvVRd7U.js → index-BVhxSlDg.js} +1 -1
- langflow/frontend/assets/{index-D3Mn8ct7.js → index-BXLF4EEk.js} +1 -1
- langflow/frontend/assets/{index-DTwOInKz.js → index-BangDkTU.js} +1 -1
- langflow/frontend/assets/{index-CHYf24HO.js → index-BbQbwO0t.js} +1 -1
- langflow/frontend/assets/{index-YIx1Mi4R.js → index-BdhLcBhs.js} +1 -1
- langflow/frontend/assets/{index-B6ScGXTv.js → index-BhqoRytd.js} +1 -1
- langflow/frontend/assets/{index-CAXTG3Z_.js → index-BkDauS6L.js} +1 -1
- langflow/frontend/assets/{index-D83rM7Og.js → index-BlVoki6h.js} +1 -1
- langflow/frontend/assets/{index-tWpcZp54.js → index-Bppwxzbg.js} +1 -1
- langflow/frontend/assets/{index-f9N5LySI.js → index-BsyeSq2y.js} +1 -1
- langflow/frontend/assets/{index-B_hK8H3f.js → index-BuasQFB9.js} +1 -1
- langflow/frontend/assets/{index-D-3XzZWH.js → index-BwlRbSOp.js} +1 -1
- langflow/frontend/assets/{index-D_Mv5ivk.js → index-ByGM4QOw.js} +1 -1
- langflow/frontend/assets/{index-D-QOXM06.js → index-C2ZbGcjb.js} +1 -1
- langflow/frontend/assets/{index-yffPesT6.js → index-C2phiJRY.js} +1 -1
- langflow/frontend/assets/{index-EAuzcI6q.js → index-C2s1ji9H.js} +1 -1
- langflow/frontend/assets/{index-DKTVP52U.js → index-C4BUzloQ.js} +1 -1
- langflow/frontend/assets/{index-biMJKanX.js → index-C7B7bkdw.js} +1 -1
- langflow/frontend/assets/{index-B50Ktwas.js → index-C8ndiw7Q.js} +1 -1
- langflow/frontend/assets/{index-CrnrmQPT.js → index-CAmO1XSL.js} +1 -1
- langflow/frontend/assets/{index-BE8B1Pp9.js → index-CDHXigRf.js} +1 -1
- langflow/frontend/assets/{index-BGHKon4P.js → index-CDRdM5TZ.js} +1 -1
- langflow/frontend/assets/{index-BjpnwoH1.js → index-CDSNOzuw.js} +1980 -1980
- langflow/frontend/assets/{index-CJxQGzD1.js → index-CDkpZKzC.js} +1 -1
- langflow/frontend/assets/{index--4pmwDL0.js → index-CF7pTwIL.js} +1 -1
- langflow/frontend/assets/{index-CnGACPHR.js → index-CGhiKIDc.js} +1 -1
- langflow/frontend/assets/{index-Bu9coNhs.js → index-CJvkgxHw.js} +1 -1
- langflow/frontend/assets/{index-D5r36ohI.js → index-CKRjoqeo.js} +1 -1
- langflow/frontend/assets/{index-BaFU8ZSW.js → index-CMK4jYBV.js} +1 -1
- langflow/frontend/assets/{index-BIGG6rSh.js → index-CMYQp6pC.js} +1 -1
- langflow/frontend/assets/{index-BDD0a7Vs.js → index-CMf3qp3F.js} +1 -1
- langflow/frontend/assets/{index-CgDlKx-W.js → index-CODEJbFb.js} +1 -1
- langflow/frontend/assets/{index-B1pscN2V.js → index-COm8KYOy.js} +1 -1
- langflow/frontend/assets/{index-vblrDZAS.js → index-CPi2CElO.js} +1 -1
- langflow/frontend/assets/{index-BwcBt_-r.js → index-CQI2hSXh.js} +1 -1
- langflow/frontend/assets/{index-CmCLKI9d.js → index-CQpFrkqi.js} +1 -1
- langflow/frontend/assets/{index-BDKxmpzo.js → index-CRoCIu83.js} +1 -1
- langflow/frontend/assets/{index-CRLXSh6D.js → index-CTaTVU6A.js} +1 -1
- langflow/frontend/assets/{index-DNb-Oy10.js → index-CVfho6H1.js} +1 -1
- langflow/frontend/assets/{index-DPPn1HZ3.js → index-Cb-gNPdm.js} +1 -1
- langflow/frontend/assets/{index-X0loyrUl.js → index-Cb44GO2-.js} +1 -1
- langflow/frontend/assets/{index-CQbl89Bw.js → index-Cc4M6_Fy.js} +1 -1
- langflow/frontend/assets/{index-CYkV7n_3.js → index-CfY-quU3.js} +1 -1
- langflow/frontend/assets/{index-DElQjfHZ.js → index-CiodZmyb.js} +1 -1
- langflow/frontend/assets/{index-CaJoHmmk.js → index-CnXzxDXQ.js} +1 -1
- langflow/frontend/assets/{index-BEdy-xuQ.js → index-Cq19RyYM.js} +1 -1
- langflow/frontend/assets/{index-TmQtblx1.js → index-Cq6t6B77.js} +1 -1
- langflow/frontend/assets/{index-DRLMpLTi.js → index-D-Dm_2dJ.js} +1 -1
- langflow/frontend/assets/{index-DWLjv7PG.js → index-D-jkcji5.js} +1 -1
- langflow/frontend/assets/{index-CRkIFqxX.js → index-D18rYlC2.js} +1 -1
- langflow/frontend/assets/{index-BDcqD3qG.js → index-D1RpzgF-.js} +1 -1
- langflow/frontend/assets/{index-CpdJzYvU.js → index-D1aaBEVW.js} +1 -1
- langflow/frontend/assets/{index-CyrC4qaJ.js → index-D1gs-kle.js} +1 -1
- langflow/frontend/assets/index-DBZ4408N.js +1 -0
- langflow/frontend/assets/{index-BW4z4zWN.js → index-DClHt8s8.js} +1 -1
- langflow/frontend/assets/{index-Z8OD_VL0.js → index-DEEl5v3D.js} +1 -1
- langflow/frontend/assets/{index-BryVivNe.js → index-DJKnttt_.js} +1 -1
- langflow/frontend/assets/{index-DVQZAer9.js → index-DKsEUeWS.js} +1 -1
- langflow/frontend/assets/{index-D2gFCvAW.js → index-DM-IghpO.js} +1 -1
- langflow/frontend/assets/{index-Q261aTSC.js → index-DMI44bfI.js} +1 -1
- langflow/frontend/assets/{index-C2_UkLb_.js → index-DN8sDPsU.js} +1 -1
- langflow/frontend/assets/{index-Sn3JO6yV.js → index-DOGGSk6U.js} +1 -1
- langflow/frontend/assets/{index-CmkK05SQ.js → index-DQXZuPZj.js} +1 -1
- langflow/frontend/assets/{index-BrIz1I6v.js → index-DR9RVbk7.js} +1 -1
- langflow/frontend/assets/{index-BLMs3LIY.js → index-DTpPH-qx.js} +1 -1
- langflow/frontend/assets/{index-jFXVxi-M.js → index-DU3H6Mds.js} +1 -1
- langflow/frontend/assets/{index-CXZMqgLx.js → index-DVc55Ocl.js} +1 -1
- langflow/frontend/assets/{index-B7NFDke4.js → index-DVq9C8tV.js} +1 -1
- langflow/frontend/assets/{index-BrL6LEfO.js → index-DWVXan_1.js} +1 -1
- langflow/frontend/assets/{index-BXCIv1Jn.js → index-DZFxYYFn.js} +1 -1
- langflow/frontend/assets/{index-CjmOde20.js → index-DcjXNb_-.js} +1 -1
- langflow/frontend/assets/{index-C6co77Vr.js → index-DfskV-9v.js} +1 -1
- langflow/frontend/assets/{index-DyRhbrWw.js → index-DhTYsc2t.js} +1 -1
- langflow/frontend/assets/{index-5BlFwFBk.js → index-DiPI-D9B.js} +1 -1
- langflow/frontend/assets/{index-DoZ1U_bA.js → index-DjWYMbHt.js} +1 -1
- langflow/frontend/assets/{index-Cgk4PzAD.js → index-Djk9t5II.js} +1 -1
- langflow/frontend/assets/{index-Bm83uR_3.js → index-DkhYUMYL.js} +1 -1
- langflow/frontend/assets/{index-Bfbnh7Wg.js → index-DlQJ30-N.js} +1 -1
- langflow/frontend/assets/{index-fGYlNOW0.js → index-DqbvHtMI.js} +1 -1
- langflow/frontend/assets/{index-DPv692Dg.js → index-DqlruG43.js} +1 -1
- langflow/frontend/assets/{index-BQMzjO4O.js → index-DrK2fUFE.js} +1 -1
- langflow/frontend/assets/{index-z9gdB2tC.js → index-Ds4x3X2V.js} +1 -1
- langflow/frontend/assets/{index-3cdFEOu9.js → index-DtrUiU1_.js} +1 -1
- langflow/frontend/assets/{index-f8cAHJCW.js → index-Dz_Mkcgd.js} +1 -1
- langflow/frontend/assets/{index-BaYnlrDF.js → index-GFf8D09h.js} +1 -1
- langflow/frontend/assets/{index-Cl8kfe8z.js → index-HjrnO1wn.js} +1 -1
- langflow/frontend/assets/{index-BCAFqW3T.js → index-HvyyG2sS.js} +1 -1
- langflow/frontend/assets/{index-1AydgvnP.js → index-KWI6UqFH.js} +1 -1
- langflow/frontend/assets/{index-CXft4qic.js → index-LwzAiYbw.js} +1 -1
- langflow/frontend/assets/index-MB8UM6Ob.css +1 -0
- langflow/frontend/assets/{index-BaeGZkqw.js → index-O2Bsl-oh.js} +1 -1
- langflow/frontend/assets/{index-DWRlIFp8.js → index-XdytYvV3.js} +1 -1
- langflow/frontend/assets/{index-DuusIBkR.js → index-b7e24JLR.js} +1 -1
- langflow/frontend/assets/{index-D_QQT2Ol.js → index-cx7aCRlX.js} +1 -1
- langflow/frontend/assets/{index-DvD29KFp.js → index-eI0i0Az1.js} +1 -1
- langflow/frontend/assets/{index-BPGxHse3.js → index-hBPtgyCi.js} +1 -1
- langflow/frontend/assets/{index-BZeIVQ0x.js → index-jPlDcnJ4.js} +1 -1
- langflow/frontend/assets/{index-C7i1UHzu.js → index-kFptuRSN.js} +1 -1
- langflow/frontend/assets/{index-DS1ZxAu1.js → index-kMJ0V4NP.js} +1 -1
- langflow/frontend/assets/{index-BHWNk_bF.js → index-q3MWMz-i.js} +1 -1
- langflow/frontend/assets/{index-D_W6o__C.js → index-uW6TJm8N.js} +1 -1
- langflow/frontend/assets/{index-aVqRpHJQ.js → index-y_Xw1u9n.js} +1 -1
- langflow/frontend/assets/{index-8M9VgCur.js → index-z7mu-rPB.js} +1 -1
- langflow/frontend/assets/lazyIconImports-qQ2xBw6p.js +2 -0
- langflow/frontend/assets/{use-post-add-user-BLwwWOR9.js → use-post-add-user-e7yXa1cg.js} +1 -1
- langflow/frontend/index.html +2 -2
- langflow/services/database/service.py +12 -8
- langflow/services/database/session.py +62 -0
- langflow/services/settings/base.py +11 -0
- langflow/services/utils.py +4 -2
- {langflow_base_nightly-0.5.0.dev6.dist-info → langflow_base_nightly-0.5.0.dev8.dist-info}/METADATA +1 -1
- {langflow_base_nightly-0.5.0.dev6.dist-info → langflow_base_nightly-0.5.0.dev8.dist-info}/RECORD +136 -135
- langflow/frontend/assets/index-CYIVEhXL.css +0 -1
- langflow/frontend/assets/index-cBHsPhPd.js +0 -1
- langflow/frontend/assets/lazyIconImports-D4uzrvOT.js +0 -2
- {langflow_base_nightly-0.5.0.dev6.dist-info → langflow_base_nightly-0.5.0.dev8.dist-info}/WHEEL +0 -0
- {langflow_base_nightly-0.5.0.dev6.dist-info → langflow_base_nightly-0.5.0.dev8.dist-info}/entry_points.txt +0 -0
langflow/api/v1/endpoints.py
CHANGED
|
@@ -49,13 +49,12 @@ from langflow.services.database.models.flow.model import Flow, FlowRead
|
|
|
49
49
|
from langflow.services.database.models.flow.utils import get_all_webhook_components_in_flow
|
|
50
50
|
from langflow.services.database.models.user.model import User, UserRead
|
|
51
51
|
from langflow.services.deps import get_session_service, get_settings_service, get_telemetry_service
|
|
52
|
-
from langflow.services.settings.feature_flags import FEATURE_FLAGS
|
|
53
52
|
from langflow.services.telemetry.schema import RunPayload
|
|
54
53
|
from langflow.utils.compression import compress_response
|
|
55
54
|
from langflow.utils.version import get_version_info
|
|
56
55
|
|
|
57
56
|
if TYPE_CHECKING:
|
|
58
|
-
from langflow.
|
|
57
|
+
from langflow.events.event_manager import EventManager
|
|
59
58
|
from langflow.services.settings.service import SettingsService
|
|
60
59
|
|
|
61
60
|
router = APIRouter(tags=["Base"])
|
|
@@ -681,22 +680,15 @@ async def custom_component_update(
|
|
|
681
680
|
code_request: UpdateCustomComponentRequest,
|
|
682
681
|
user: CurrentActiveUser,
|
|
683
682
|
):
|
|
684
|
-
"""Update
|
|
683
|
+
"""Update an existing custom component with new code and configuration.
|
|
685
684
|
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
Args:
|
|
691
|
-
code_request (CustomComponentRequest): The code request containing the updated code for the custom component.
|
|
692
|
-
user (User, optional): The user making the request. Defaults to the current active user.
|
|
693
|
-
|
|
694
|
-
Returns:
|
|
695
|
-
dict: The updated custom component node.
|
|
685
|
+
Processes the provided code and template updates, applies parameter changes (including those loaded from the
|
|
686
|
+
database), updates the component's build configuration, and validates outputs. Returns the updated component node as
|
|
687
|
+
a JSON-serializable dictionary.
|
|
696
688
|
|
|
697
689
|
Raises:
|
|
698
|
-
HTTPException: If
|
|
699
|
-
SerializationError: If
|
|
690
|
+
HTTPException: If an error occurs during component building or updating.
|
|
691
|
+
SerializationError: If serialization of the updated component node fails.
|
|
700
692
|
"""
|
|
701
693
|
try:
|
|
702
694
|
component = Component(_code=code_request.code)
|
|
@@ -752,14 +744,19 @@ async def custom_component_update(
|
|
|
752
744
|
raise SerializationError.from_exception(exc, data=component_node) from exc
|
|
753
745
|
|
|
754
746
|
|
|
755
|
-
@router.get("/config"
|
|
756
|
-
async def get_config():
|
|
747
|
+
@router.get("/config")
|
|
748
|
+
async def get_config() -> ConfigResponse:
|
|
749
|
+
"""Retrieve the current application configuration settings.
|
|
750
|
+
|
|
751
|
+
Returns:
|
|
752
|
+
ConfigResponse: The configuration settings of the application.
|
|
753
|
+
|
|
754
|
+
Raises:
|
|
755
|
+
HTTPException: If an error occurs while retrieving the configuration.
|
|
756
|
+
"""
|
|
757
757
|
try:
|
|
758
758
|
settings_service: SettingsService = get_settings_service()
|
|
759
|
+
return ConfigResponse.from_settings(settings_service.settings)
|
|
759
760
|
|
|
760
|
-
return {
|
|
761
|
-
"feature_flags": FEATURE_FLAGS,
|
|
762
|
-
**settings_service.settings.model_dump(),
|
|
763
|
-
}
|
|
764
761
|
except Exception as exc:
|
|
765
762
|
raise HTTPException(status_code=500, detail=str(exc)) from exc
|
langflow/api/v1/schemas.py
CHANGED
|
@@ -17,13 +17,13 @@ from langflow.graph.schema import RunOutputs
|
|
|
17
17
|
from langflow.schema.dotdict import dotdict
|
|
18
18
|
from langflow.schema.graph import Tweaks
|
|
19
19
|
from langflow.schema.schema import InputType, OutputType, OutputValue
|
|
20
|
-
from langflow.serialization import constants as serialization_constants
|
|
21
20
|
from langflow.serialization.serialization import get_max_items_length, get_max_text_length, serialize
|
|
22
21
|
from langflow.services.database.models.api_key.model import ApiKeyRead
|
|
23
22
|
from langflow.services.database.models.base import orjson_dumps
|
|
24
23
|
from langflow.services.database.models.flow.model import FlowCreate, FlowRead
|
|
25
24
|
from langflow.services.database.models.user.model import UserRead
|
|
26
|
-
from langflow.services.settings.
|
|
25
|
+
from langflow.services.settings.base import Settings
|
|
26
|
+
from langflow.services.settings.feature_flags import FEATURE_FLAGS, FeatureFlags
|
|
27
27
|
from langflow.services.tracing.schema import Log
|
|
28
28
|
|
|
29
29
|
|
|
@@ -395,8 +395,8 @@ class FlowDataRequest(BaseModel):
|
|
|
395
395
|
|
|
396
396
|
class ConfigResponse(BaseModel):
|
|
397
397
|
feature_flags: FeatureFlags
|
|
398
|
-
serialization_max_items_length: int
|
|
399
|
-
serialization_max_text_length: int
|
|
398
|
+
serialization_max_items_length: int
|
|
399
|
+
serialization_max_text_length: int
|
|
400
400
|
frontend_timeout: int
|
|
401
401
|
auto_saving: bool
|
|
402
402
|
auto_saving_interval: int
|
|
@@ -407,6 +407,31 @@ class ConfigResponse(BaseModel):
|
|
|
407
407
|
public_flow_expiration: int
|
|
408
408
|
event_delivery: Literal["polling", "streaming", "direct"]
|
|
409
409
|
|
|
410
|
+
@classmethod
|
|
411
|
+
def from_settings(cls, settings: Settings) -> "ConfigResponse":
|
|
412
|
+
"""Create a ConfigResponse instance using values from a Settings object and global feature flags.
|
|
413
|
+
|
|
414
|
+
Parameters:
|
|
415
|
+
settings (Settings): The Settings object containing configuration values.
|
|
416
|
+
|
|
417
|
+
Returns:
|
|
418
|
+
ConfigResponse: An instance populated with configuration and feature flag values.
|
|
419
|
+
"""
|
|
420
|
+
return cls(
|
|
421
|
+
feature_flags=FEATURE_FLAGS,
|
|
422
|
+
serialization_max_items_length=settings.max_items_length,
|
|
423
|
+
serialization_max_text_length=settings.max_text_length,
|
|
424
|
+
frontend_timeout=settings.frontend_timeout,
|
|
425
|
+
auto_saving=settings.auto_saving,
|
|
426
|
+
auto_saving_interval=settings.auto_saving_interval,
|
|
427
|
+
health_check_max_retries=settings.health_check_max_retries,
|
|
428
|
+
max_file_size_upload=settings.max_file_size_upload,
|
|
429
|
+
webhook_polling_interval=settings.webhook_polling_interval,
|
|
430
|
+
public_flow_cleanup_interval=settings.public_flow_cleanup_interval,
|
|
431
|
+
public_flow_expiration=settings.public_flow_expiration,
|
|
432
|
+
event_delivery=settings.event_delivery,
|
|
433
|
+
)
|
|
434
|
+
|
|
410
435
|
|
|
411
436
|
class CancelFlowResponse(BaseModel):
|
|
412
437
|
"""Response model for flow build cancellation."""
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as a}from"./index-
|
|
1
|
+
import{j as a}from"./index-CDSNOzuw.js";const s=l=>a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 54 54",width:"1em",height:"1em",...l,children:a.jsxs("g",{fill:"none",fillRule:"evenodd",children:[a.jsx("path",{fill:"#36C5F0",d:"M19.712.133a5.381 5.381 0 0 0-5.376 5.387 5.381 5.381 0 0 0 5.376 5.386h5.376V5.52A5.381 5.381 0 0 0 19.712.133m0 14.365H5.376A5.381 5.381 0 0 0 0 19.884a5.381 5.381 0 0 0 5.376 5.387h14.336a5.381 5.381 0 0 0 5.376-5.387 5.381 5.381 0 0 0-5.376-5.386"}),a.jsx("path",{fill:"#2EB67D",d:"M53.76 19.884a5.381 5.381 0 0 0-5.376-5.386 5.381 5.381 0 0 0-5.376 5.386v5.387h5.376a5.381 5.381 0 0 0 5.376-5.387m-14.336 0V5.52A5.381 5.381 0 0 0 34.048.133a5.381 5.381 0 0 0-5.376 5.387v14.364a5.381 5.381 0 0 0 5.376 5.387 5.381 5.381 0 0 0 5.376-5.387"}),a.jsx("path",{fill:"#ECB22E",d:"M34.048 54a5.381 5.381 0 0 0 5.376-5.387 5.381 5.381 0 0 0-5.376-5.386h-5.376v5.386A5.381 5.381 0 0 0 34.048 54m0-14.365h14.336a5.381 5.381 0 0 0 5.376-5.386 5.381 5.381 0 0 0-5.376-5.387H34.048a5.381 5.381 0 0 0-5.376 5.387 5.381 5.381 0 0 0 5.376 5.386"}),a.jsx("path",{fill:"#E01E5A",d:"M0 34.249a5.381 5.381 0 0 0 5.376 5.386 5.381 5.381 0 0 0 5.376-5.386v-5.387H5.376A5.381 5.381 0 0 0 0 34.25m14.336-.001v14.364A5.381 5.381 0 0 0 19.712 54a5.381 5.381 0 0 0 5.376-5.387V34.25a5.381 5.381 0 0 0-5.376-5.387 5.381 5.381 0 0 0-5.376 5.387"})]})});export{s as default};
|