@iblai/web-containers 1.56.1 → 1.58.0

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.
Files changed (127) hide show
  1. package/dist/cjs/_virtual/index2.js +2 -2
  2. package/dist/cjs/_virtual/index3.js +2 -2
  3. package/dist/cjs/components/chat/hooks/use-chat-file-drag-drop.js +13 -3
  4. package/dist/cjs/components/chat/hooks/use-chat-file-drag-drop.js.map +1 -1
  5. package/dist/cjs/components/chat/hooks/use-chat-file-upload.js +12 -16
  6. package/dist/cjs/components/chat/hooks/use-chat-file-upload.js.map +1 -1
  7. package/dist/cjs/components/chat/index.js +2 -2
  8. package/dist/cjs/components/chat/index.js.map +1 -1
  9. package/dist/cjs/components/chat/not-allowed-files-notice.js +62 -0
  10. package/dist/cjs/components/chat/not-allowed-files-notice.js.map +1 -0
  11. package/dist/cjs/components/chat/ui/button.js +4 -4
  12. package/dist/cjs/components/chat/ui/button.js.map +1 -1
  13. package/dist/cjs/components/chat-input-form/composer-plus-menu.js +94 -17
  14. package/dist/cjs/components/chat-input-form/composer-plus-menu.js.map +1 -1
  15. package/dist/cjs/components/chat-input-form/mcp-connect-explainer-dialog.js +29 -0
  16. package/dist/cjs/components/chat-input-form/mcp-connect-explainer-dialog.js.map +1 -0
  17. package/dist/cjs/components/chat-input-form/mcp-servers-menu.js +199 -0
  18. package/dist/cjs/components/chat-input-form/mcp-servers-menu.js.map +1 -0
  19. package/dist/cjs/components/chat-input-form/use-mcp-active-count.js +56 -0
  20. package/dist/cjs/components/chat-input-form/use-mcp-active-count.js.map +1 -0
  21. package/dist/cjs/components/chat-input-form.js +19 -6
  22. package/dist/cjs/components/chat-input-form.js.map +1 -1
  23. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-dialogs.js +755 -90
  24. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-dialogs.js.map +1 -1
  25. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js +386 -984
  26. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js.map +1 -1
  27. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/field-info.js +16 -0
  28. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/field-info.js.map +1 -0
  29. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/index.js +6 -3
  30. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/index.js.map +1 -1
  31. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/mcp-connector-helpers.js +463 -0
  32. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/mcp-connector-helpers.js.map +1 -0
  33. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/oauth-app-fields.js +329 -0
  34. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/oauth-app-fields.js.map +1 -0
  35. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/remove-connector-dialog.js +20 -0
  36. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/remove-connector-dialog.js.map +1 -0
  37. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/use-mcp-server-actions.js +744 -0
  38. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/use-mcp-server-actions.js.map +1 -0
  39. package/dist/cjs/components/modals/user-profile-modal.js +2 -0
  40. package/dist/cjs/components/modals/user-profile-modal.js.map +1 -1
  41. package/dist/cjs/components/ui/accordion.js +40 -0
  42. package/dist/cjs/components/ui/accordion.js.map +1 -0
  43. package/dist/cjs/i18n/messages/en.json.js +165 -20
  44. package/dist/cjs/i18n/messages/en.json.js.map +1 -1
  45. package/dist/cjs/i18n/messages/es.json.js +165 -20
  46. package/dist/cjs/i18n/messages/es.json.js.map +1 -1
  47. package/dist/cjs/i18n/messages/fr.json.js +165 -20
  48. package/dist/cjs/i18n/messages/fr.json.js.map +1 -1
  49. package/dist/cjs/i18n/messages/zh.json.js +165 -20
  50. package/dist/cjs/i18n/messages/zh.json.js.map +1 -1
  51. package/dist/cjs/index.js +2 -0
  52. package/dist/cjs/index.js.map +1 -1
  53. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-accordion@1.2.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types_re_b91476821b9fe8f172a947f727875267/node_modules/@radix-ui/react-accordion/dist/index.js +317 -0
  54. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-accordion@1.2.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types_re_b91476821b9fe8f172a947f727875267/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -0
  55. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types__d84e28844e8116e61b459b615fab358a/node_modules/@radix-ui/react-collapsible/dist/index.js +173 -0
  56. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types__d84e28844e8116e61b459b615fab358a/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -0
  57. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-collection@1.1.4_@types_react-dom@19.2.1_@types_react@19.1.17__@types_r_7047fbfe61c39c77a2126486502acdb6/node_modules/@radix-ui/react-collection/dist/index.js +73 -0
  58. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-collection@1.1.4_@types_react-dom@19.2.1_@types_react@19.1.17__@types_r_7047fbfe61c39c77a2126486502acdb6/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -0
  59. package/dist/cjs/node_modules/.pnpm/css-mediaquery@0.1.2/node_modules/css-mediaquery/index.js +1 -1
  60. package/dist/cjs/node_modules/.pnpm/matchmediaquery@0.4.2/node_modules/matchmediaquery/index.js +1 -1
  61. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  62. package/dist/cjs/web-containers/tsconfig.build.tsbuildinfo +1 -0
  63. package/dist/esm/_virtual/index2.js +2 -2
  64. package/dist/esm/_virtual/index3.js +2 -2
  65. package/dist/esm/components/chat/hooks/use-chat-file-drag-drop.js +14 -4
  66. package/dist/esm/components/chat/hooks/use-chat-file-drag-drop.js.map +1 -1
  67. package/dist/esm/components/chat/hooks/use-chat-file-upload.js +13 -17
  68. package/dist/esm/components/chat/hooks/use-chat-file-upload.js.map +1 -1
  69. package/dist/esm/components/chat/index.js +2 -2
  70. package/dist/esm/components/chat/index.js.map +1 -1
  71. package/dist/esm/components/chat/not-allowed-files-notice.js +60 -0
  72. package/dist/esm/components/chat/not-allowed-files-notice.js.map +1 -0
  73. package/dist/esm/components/chat-input-form/composer-plus-menu.js +94 -17
  74. package/dist/esm/components/chat-input-form/composer-plus-menu.js.map +1 -1
  75. package/dist/esm/components/chat-input-form/mcp-connect-explainer-dialog.js +27 -0
  76. package/dist/esm/components/chat-input-form/mcp-connect-explainer-dialog.js.map +1 -0
  77. package/dist/esm/components/chat-input-form/mcp-servers-menu.js +197 -0
  78. package/dist/esm/components/chat-input-form/mcp-servers-menu.js.map +1 -0
  79. package/dist/esm/components/chat-input-form/use-mcp-active-count.js +54 -0
  80. package/dist/esm/components/chat-input-form/use-mcp-active-count.js.map +1 -0
  81. package/dist/esm/components/chat-input-form.js +19 -6
  82. package/dist/esm/components/chat-input-form.js.map +1 -1
  83. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-dialogs.js +755 -92
  84. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-dialogs.js.map +1 -1
  85. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js +361 -968
  86. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js.map +1 -1
  87. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/field-info.js +14 -0
  88. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/field-info.js.map +1 -0
  89. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/index.js +6 -3
  90. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/index.js.map +1 -1
  91. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/mcp-connector-helpers.js +431 -0
  92. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/mcp-connector-helpers.js.map +1 -0
  93. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/oauth-app-fields.js +313 -0
  94. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/oauth-app-fields.js.map +1 -0
  95. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/remove-connector-dialog.js +18 -0
  96. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/remove-connector-dialog.js.map +1 -0
  97. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/use-mcp-server-actions.js +742 -0
  98. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/use-mcp-server-actions.js.map +1 -0
  99. package/dist/esm/components/modals/user-profile-modal.js +2 -0
  100. package/dist/esm/components/modals/user-profile-modal.js.map +1 -1
  101. package/dist/esm/components/ui/accordion.js +16 -0
  102. package/dist/esm/components/ui/accordion.js.map +1 -0
  103. package/dist/esm/i18n/messages/en.json.js +163 -21
  104. package/dist/esm/i18n/messages/en.json.js.map +1 -1
  105. package/dist/esm/i18n/messages/es.json.js +163 -21
  106. package/dist/esm/i18n/messages/es.json.js.map +1 -1
  107. package/dist/esm/i18n/messages/fr.json.js +163 -21
  108. package/dist/esm/i18n/messages/fr.json.js.map +1 -1
  109. package/dist/esm/i18n/messages/zh.json.js +163 -21
  110. package/dist/esm/i18n/messages/zh.json.js.map +1 -1
  111. package/dist/esm/index.js +1 -0
  112. package/dist/esm/index.js.map +1 -1
  113. package/dist/esm/node_modules/.pnpm/@radix-ui_react-accordion@1.2.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types_re_b91476821b9fe8f172a947f727875267/node_modules/@radix-ui/react-accordion/dist/index.js +306 -0
  114. package/dist/esm/node_modules/.pnpm/@radix-ui_react-accordion@1.2.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types_re_b91476821b9fe8f172a947f727875267/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -0
  115. package/dist/esm/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types__d84e28844e8116e61b459b615fab358a/node_modules/@radix-ui/react-collapsible/dist/index.js +146 -0
  116. package/dist/esm/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types__d84e28844e8116e61b459b615fab358a/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -0
  117. package/dist/esm/node_modules/.pnpm/@radix-ui_react-collection@1.1.4_@types_react-dom@19.2.1_@types_react@19.1.17__@types_r_7047fbfe61c39c77a2126486502acdb6/node_modules/@radix-ui/react-collection/dist/index.js +71 -0
  118. package/dist/esm/node_modules/.pnpm/@radix-ui_react-collection@1.1.4_@types_react-dom@19.2.1_@types_react@19.1.17__@types_r_7047fbfe61c39c77a2126486502acdb6/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -0
  119. package/dist/esm/node_modules/.pnpm/css-mediaquery@0.1.2/node_modules/css-mediaquery/index.js +1 -1
  120. package/dist/esm/node_modules/.pnpm/matchmediaquery@0.4.2/node_modules/matchmediaquery/index.js +1 -1
  121. package/dist/esm/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  122. package/dist/esm/web-containers/tsconfig.build.tsbuildinfo +1 -0
  123. package/dist/index.d.ts +31 -2
  124. package/dist/package.json +1 -1
  125. package/package.json +3 -3
  126. package/dist/cjs/web-containers/tsconfig.tsbuildinfo +0 -1
  127. package/dist/esm/web-containers/tsconfig.tsbuildinfo +0 -1
@@ -1847,6 +1847,7 @@ var chatInputFormInsideButtons = {
1847
1847
  studyMode: "Mode Étude",
1848
1848
  deepResearch: "Recherche Approfondie",
1849
1849
  memory: "Mémoire",
1850
+ mcp: "MCP",
1850
1851
  cowork: "Cowork",
1851
1852
  coworkNeedsBackend: "Activez un grand modèle local ou connectez-vous à un espace de travail pour utiliser Cowork.",
1852
1853
  coworkModelTooSmall: "Votre modèle local est trop petit pour Cowork. Choisissez un modèle d’au moins 14 Go dans Modèles Locaux.",
@@ -3140,6 +3141,12 @@ var localLlmUseModelDownload = {
3140
3141
  setupTimedOut: "La configuration du Gestionnaire de modèles prend trop de temps. Réessayez dans quelques minutes.",
3141
3142
  setupTitle: "Configuration du Gestionnaire de modèles"
3142
3143
  };
3144
+ var mcpTab = {
3145
+ header: {
3146
+ title: "MCP",
3147
+ description: "Services externes que votre agent peut utiliser dans les discussions. Activez ou désactivez chacun pour cet agent."
3148
+ }
3149
+ };
3143
3150
  var mcpTabConnectorDialogs = {
3144
3151
  invalidImageFile: "Veuillez sélectionner un fichier image valide.",
3145
3152
  imageTooLarge: "La taille de l'image doit être inférieure à 2 Mo.",
@@ -3150,54 +3157,168 @@ var mcpTabConnectorDialogs = {
3150
3157
  missingRequiredParams: "Paramètres requis manquants",
3151
3158
  connectorUpdatedSuccess: "Connecteur mis à jour avec succès",
3152
3159
  oauthUrlInvalid: "Cette URL de serveur MCP ne peut pas être utilisée pour l'authentification OAuth. Veuillez vérifier l'URL et réessayer.",
3153
- oauthConfigNotFound: "Impossible de trouver la configuration OAuth pour cette URL",
3154
3160
  oauthProcessFailed: "Échec du traitement du connecteur OAuth",
3155
- editMcpConnector: "Modifier le connecteur MCP",
3161
+ editMcpConnector: "Configurer le connecteur MCP",
3156
3162
  addMcpConnector: "Ajouter un connecteur MCP",
3163
+ moreInfo: "Plus d'informations sur {label}",
3157
3164
  uploadConnectorImageLabel: "Téléverser l'image du connecteur",
3158
3165
  connectorThumbnailAlt: "Miniature du connecteur",
3159
3166
  connectorNameLabel: "Nom du connecteur",
3167
+ connectorNameInfo: "Le nom que les personnes voient pour ce connecteur dans le chat et dans les paramètres de l'agent.",
3160
3168
  connectorNamePlaceholder: "Saisir le nom du connecteur",
3161
3169
  connectorServerLabel: "Serveur du connecteur",
3170
+ connectorServerInfo: "L'adresse web du serveur MCP. Le service que vous voulez connecter l'indique, généralement sur sa page pour les développeurs ou ses intégrations.",
3162
3171
  connectorServerPlaceholder: "https://api.example.com/mcp",
3163
3172
  descriptionLabel: "Description",
3173
+ descriptionInfo: "Une courte note sur ce que ce connecteur permet à l'agent de faire. Elle s'affiche sur la carte du connecteur.",
3164
3174
  optional: "Optionnel",
3165
3175
  descriptionPlaceholder: "Décrivez ce que fait ce connecteur...",
3166
3176
  connectorScopeLabel: "Portée du connecteur",
3177
+ connectorScopeInfo: "Les agents qui peuvent utiliser ce connecteur : tous les agents de votre organisation, ou seulement celui-ci.",
3167
3178
  allAgents: "Tous les agents",
3168
3179
  thisAgent: "Cet agent",
3169
3180
  mcpAvailableAllAgents: "Ce MCP sera disponible pour tous les agents.",
3170
3181
  mcpAvailableThisAgent: "Ce MCP sera uniquement disponible pour cet agent.",
3182
+ userCanDisableLabel: "Autoriser les utilisateurs à le désactiver",
3183
+ userCanDisableInfo: "Si cette option est activée, les personnes peuvent désactiver ce connecteur dans leurs propres chats. Sinon, il reste actif dans tous les chats.",
3184
+ userCanDisableOnHint: "Les personnes peuvent le désactiver dans leurs propres discussions.",
3185
+ userCanDisableOffHint: "Il reste actif dans toutes les discussions. Personne ne peut le désactiver.",
3171
3186
  transportLabel: "Transport",
3187
+ transportInfo: "La façon dont l'agent communique avec le serveur. Gardez la valeur par défaut, sauf si le service vous indique d'en utiliser une autre.",
3172
3188
  websocket: "WebSocket",
3173
3189
  streamableHttp: "HTTP en flux",
3174
3190
  authMethodLabel: "Méthode d'authentification",
3191
+ authMethodInfo: "La façon dont le serveur vérifie que l'agent peut l'utiliser : aucune vérification, une clé que vous collez, ou une connexion avec un compte.",
3175
3192
  noAuthentication: "Aucune authentification",
3176
3193
  apiKey: "Clé API",
3177
3194
  oauth: "OAuth",
3178
3195
  authScopeLabel: "Portée de l'authentification",
3179
- tenant: "Locataire",
3196
+ authScopeInfo: "Le compte que l'agent utilise avec ce service : celui de chaque personne, un compte partagé pour cet agent, ou un compte partagé pour toute votre organisation.",
3197
+ tenant: "Organisation",
3180
3198
  agent: "Agent",
3181
3199
  user: "Utilisateur",
3182
- oauthScopeTenantHint: "La connexion OAuth sera disponible pour tous les agents de ce locataire.",
3183
- oauthScopeMentorHint: "La connexion OAuth sera uniquement disponible pour cet agent.",
3184
- oauthScopeUserHint: "Chaque utilisateur devra s'authentifier individuellement lors des conversations.",
3200
+ oauthScopeTenantHint: "Une seule connexion, partagée par tous les agents de votre organisation.",
3201
+ oauthScopeMentorHint: "Une seule connexion, partagée par toutes les personnes qui discutent avec cet agent.",
3202
+ oauthScopeUserHint: "Chaque personne se connecte avec son propre compte depuis la discussion.",
3203
+ connectionLabel: "Connexion",
3204
+ connected: "Connecté",
3205
+ notConnected: "Non connecté",
3206
+ connectionInfoUser: "Votre propre connexion à ce service. Les autres personnes se connectent avec leur propre compte depuis le chat.",
3207
+ connectionInfoAgent: "Le compte unique qu'utilisent toutes les personnes qui discutent avec cet agent. « Déconnecter » ferme la session de ce compte et désactive le connecteur pour cet agent.",
3208
+ connectionInfoOrganization: "Le compte unique qu'utilisent tous les agents de votre organisation pour ce service. « Déconnecter » ferme la session de ce compte et désactive le connecteur pour cet agent.",
3185
3209
  tokenTypeLabel: "Type de jeton",
3210
+ tokenTypeInfo: "Le type de clé attendu par le serveur. La plupart des services utilisent Bearer.",
3186
3211
  other: "Autre",
3187
3212
  customTokenTypeLabel: "Type de jeton personnalisé",
3213
+ customTokenTypeInfo: "Le nom du type de clé attendu par le serveur, s'il ne figure pas dans la liste.",
3188
3214
  customTokenTypePlaceholder: "ex. X-Custom-Auth",
3189
3215
  customTokenTypeHint: "Caractères alphanumériques et tirets uniquement. 50 caractères maximum.",
3190
3216
  tokenLabel: "Jeton",
3217
+ tokenInfo: "La clé du service qui permet à l'agent de l'utiliser. Elle est masquée après l'enregistrement.",
3191
3218
  tokenPlaceholder: "Saisir votre jeton",
3192
3219
  existingTokenHidden: "Le jeton existant est masqué. Saisissez un nouveau jeton pour le remplacer, ou laissez tel quel pour conserver le jeton actuel.",
3193
3220
  saving: "Enregistrement...",
3194
3221
  update: "Mettre à jour",
3195
- connect: "Connecter"
3222
+ connect: "Connecter",
3223
+ diagnosticMcpServerUrl: "Ce serveur n'a pas répondu. Vérifiez que l'adresse est correcte et que le serveur est en ligne, puis réessayez. Dès qu'il répond, vous pourrez ajouter ici les identifiants de votre propre application s'il en a besoin.",
3224
+ diagnosticMcpServerUrlBlocked: "Cette adresse ne peut pas être utilisée. Saisissez l'adresse publique du serveur, commençant par https://.",
3225
+ diagnosticTimedOut: "Ce serveur a mis trop de temps à répondre. Réessayez dans un instant.",
3226
+ diagnosticProviderNameConflict: "Un fournisseur portant ce nom existe déjà. Choisissez un autre nom.",
3227
+ diagnosticInternalError: "Une erreur s'est produite. Réessayez.",
3228
+ appCredentialsLabel: "Identifiants de l'application",
3229
+ appCredentialsInfo: "Les informations de l'application de votre organisation auprès du service, utilisée pour la connexion. Nécessaire uniquement si le service ne peut pas configurer la connexion lui-même.",
3230
+ appCredentialsOnlyHint: "Saisissez les informations de l'application que vous avez enregistrée auprès de {name}. Les personnes qui discutent avec l'agent se connectent via elle.",
3231
+ needsManualApp: "Ce service nécessite une application que vous créez dans ses paramètres développeur. Saisissez les informations de l'application ci-dessous.",
3232
+ appCredentialsSaved: "Identifiants de l'application enregistrés.",
3233
+ needsManualAppExisting: "Votre organisation a déjà une application pour ce service. Saisissez ses informations ci-dessous pour l'utiliser ici.",
3234
+ signInProviderChecking: "Vérification du service de connexion…",
3235
+ signInProviderUnknown: "Ce service n'est pas encore configuré sur la plateforme ; ses identifiants d'application ne peuvent donc pas être enregistrés ici.",
3236
+ signInProviderLoadFailed: "Impossible de vérifier le service de connexion.",
3237
+ signInProviderRetry: "Réessayer",
3238
+ needsManualAppMetadata: "Ce service ne publie pas ses paramètres de connexion. Créez une application dans ses paramètres développeur, puis saisissez ci-dessous ses informations et ses deux adresses de connexion.",
3239
+ discoveryFailedStatus: "Nous n'avons pas pu vérifier cette adresse (erreur {status}). Réessayez dans un instant.",
3240
+ discoveryUnreachable: "Impossible de joindre le serveur pour vérifier cette adresse. Vérifiez votre connexion et réessayez."
3241
+ };
3242
+ var mcpServersMenu = {
3243
+ description: "Les connecteurs que cet agent utilise.",
3244
+ signedInReadyNextMessage: "{name} connecté. Il sera prêt à votre prochain message.",
3245
+ sessionDescription: "Les interrupteurs ici ne s'appliquent qu'à cette conversation, à partir de votre prochain message.",
3246
+ onForThisChat: "Activé pour cette conversation",
3247
+ offForThisChat: "Désactivé pour cette conversation",
3248
+ requiredByOrganization: "Obligatoire pour votre organisation",
3249
+ ariaOnForThisChat: "{displayName} activé pour cette conversation",
3250
+ ariaOffForThisChat: "{displayName} désactivé pour cette conversation",
3251
+ ariaRequired: "{displayName} est obligatoire pour votre organisation",
3252
+ turnOnToSignIn: "Activez-le pour vous connecter à {name}",
3253
+ ariaTurnOnToSignIn: "{displayName} désactivé : activez-le pour vous connecter",
3254
+ sessionPreferenceFailed: "Impossible de modifier {displayName} pour cette conversation.",
3255
+ connectTitle: "Se connecter à {name}",
3256
+ connectBodyUser: "Une nouvelle fenêtre s'ouvrira pour vous connecter à {name} avec votre propre compte. Seules vos discussions avec cet agent utilisent cette connexion ; les autres personnes connectent leurs propres comptes.",
3257
+ connectBodyShared: "Une nouvelle fenêtre s'ouvrira pour vous connecter à {name}. Toutes les personnes qui discutent avec cet agent utiliseront le compte que vous connectez ; connectez-vous donc avec un compte partagé ou de service.",
3258
+ connectPopupHint: "Si aucune fenêtre ne s'ouvre, autorisez les fenêtres pop-up pour ce site et réessayez.",
3259
+ connectContinue: "Continuer",
3260
+ notSetUp: "{name} n'est pas encore configuré pour la connexion. Demandez à votre administrateur.",
3261
+ nothingOn: "Rien n'est encore activé pour cet agent."
3262
+ };
3263
+ var mcpOAuthApp = {
3264
+ sharedClientNote: "La connexion fonctionne déjà via une application partagée par ibl.ai ; la vôtre est facultative.",
3265
+ redirectUriLabel: "URI de redirection",
3266
+ redirectUriInfo: "L'adresse où les personnes reviennent après s'être connectées. Elle doit correspondre à celle enregistrée dans votre application auprès du service.",
3267
+ redirectUriHint: "Ajoutez cette adresse à votre application dans les paramètres développeur de {name}, exactement comme indiqué, ou saisissez l'adresse que votre application utilise déjà.",
3268
+ redirectUriInvalid: "Saisissez une adresse complète commençant par https:// (ou http:// pour un test local).",
3269
+ redirectUriRequired: "Saisissez l'URI de redirection.",
3270
+ copy: "Copier",
3271
+ copied: "Copié",
3272
+ copyFailed: "Impossible de copier. Sélectionnez l'adresse et copiez-la vous-même.",
3273
+ clientIdLabel: "ID client",
3274
+ clientIdInfo: "L'identifiant public de l'application, depuis les paramètres pour développeurs du service.",
3275
+ clientSecretLabel: "Secret client",
3276
+ clientSecretInfo: "Le mot de passe privé de l'application, depuis les paramètres pour développeurs du service. Gardez-le secret.",
3277
+ clientSecretPlaceholder: "Saisissez le secret client",
3278
+ clientSecretSavedPlaceholder: "Enregistré. Saisissez-en un nouveau pour le remplacer.",
3279
+ clientSecretPublicPlaceholder: "Inutile pour une application publique",
3280
+ scopesLabel: "Autorisations (scopes)",
3281
+ scopesInfo: "Ce que l'agent peut faire dans le service, avec les termes du service. Laissez vide pour la valeur par défaut.",
3282
+ scopesHint: "Ce à quoi l'application peut accéder, tel qu'indiqué dans les paramètres développeur de {name}. Séparez-les par des espaces.",
3283
+ authMethodLabel: "Comment le secret est envoyé",
3284
+ authMethodInfo: "La façon dont le secret est envoyé au service. Gardez la valeur par défaut, sauf si la documentation du service indique autre chose.",
3285
+ authMethodPost: "Dans la requête (par défaut, fonctionne pour la plupart des services)",
3286
+ authMethodBasic: "Comme nom d'utilisateur et mot de passe (HTTP Basic)",
3287
+ authMethodNone: "Sans secret (application publique)",
3288
+ advanced: "Avancé",
3289
+ authorizationParamsLabel: "Paramètres de connexion supplémentaires",
3290
+ tokenParamsLabel: "Paramètres de jeton supplémentaires",
3291
+ paramsHint: "Seulement si les instructions de {name} le demandent : un par ligne, écrit sous la forme nom=valeur.",
3292
+ paramsInfo: "Des valeurs supplémentaires dont certains services ont besoin lors de la connexion. Laissez-les vides, sauf si la documentation du service les demande.",
3293
+ remove: "Supprimer les identifiants",
3294
+ removeTitle: "Supprimer les identifiants de l'application de {name} ?",
3295
+ removeBody: "L'ID client et le secret de l'application sont supprimés d'ibl.ai. Toutes les personnes connectées via cette application devront se reconnecter.",
3296
+ removeConfirm: "Supprimer",
3297
+ removed: "Identifiants de l'application de {name} supprimés",
3298
+ saveFailed: "Impossible d'enregistrer les identifiants de l'application.",
3299
+ removeFailed: "Impossible de supprimer les identifiants de l'application.",
3300
+ clientIdRequired: "Saisissez l'ID client.",
3301
+ clientSecretRequired: "Saisissez le secret client ou choisissez « Sans secret (application publique) ».",
3302
+ clientIdPlaceholder: "Saisissez l'ID client",
3303
+ clientIdHint: "Copiez-le depuis la page de l'application dans les paramètres développeur de {name}.",
3304
+ paramsPlaceholder: "prompt=consent\naccess_type=offline",
3305
+ authorizationUrlLabel: "URL d'autorisation",
3306
+ authorizationUrlInfo: "L'adresse où les personnes se connectent au service. Elle figure dans la documentation pour développeurs du service.",
3307
+ tokenUrlLabel: "URL du jeton",
3308
+ tokenUrlInfo: "L'adresse que le service utilise pour terminer une connexion. Elle figure dans la documentation pour développeurs du service.",
3309
+ authorizationUrlPlaceholder: "https://example.com/oauth/authorize",
3310
+ tokenUrlPlaceholder: "https://example.com/oauth/token",
3311
+ endpointsHint: "Copiez-les toutes les deux depuis la documentation développeur de {name}. Elles commencent par https://.",
3312
+ endpointsAdvancedHint: "Seulement si {name} connecte les personnes via d'autres adresses que celles qu'il publie. Laissez les deux vides pour utiliser les siennes.",
3313
+ endpointsRequired: "Saisissez l'URL d'autorisation et l'URL du jeton.",
3314
+ endpointsBoth: "Saisissez les deux URL, ou laissez-les toutes les deux vides.",
3315
+ endpointsHttps: "Les deux URL doivent commencer par https://.",
3316
+ endpointNotAllowed: "Cette adresse ne peut pas être utilisée. Saisissez l'adresse publique https:// indiquée dans la documentation développeur de {name}."
3196
3317
  };
3197
3318
  var mcpTabConnectorManagementContent = {
3198
3319
  invalidServerId: "Identifiant de serveur invalide",
3199
- serverActivated: "{serverName} activé avec succès",
3200
- serverDeactivated: "{serverName} désactivé avec succès",
3320
+ serverActivated: "{serverName} est activé pour cet agent",
3321
+ serverDeactivated: "{serverName} est désactivé pour cet agent",
3201
3322
  serverNotAccessible: "{serverName} n'existe pas ou n'est pas accessible. Veuillez actualiser la page.",
3202
3323
  failedToActivate: "Échec de l'activation de {serverName}. {msg}",
3203
3324
  failedToDeactivate: "Échec de la désactivation de {serverName}. {msg}",
@@ -3215,33 +3336,35 @@ var mcpTabConnectorManagementContent = {
3215
3336
  serviceDisconnected: "Service déconnecté avec succès",
3216
3337
  failedToDisconnect: "Échec de la déconnexion du service",
3217
3338
  unknownConnector: "Connecteur inconnu",
3218
- notConnected: "Non connecté",
3219
- active: "Actif",
3220
- inactive: "Inactif",
3339
+ onForThisAgent: "Activé pour cet agent",
3340
+ offForThisAgent: "Désactivé pour cet agent",
3221
3341
  ariaEnabled: "{displayName} activé",
3222
3342
  ariaDisabled: "{displayName} désactivé",
3223
- scopeUser: "Utilisateur",
3224
- scopeAgent: "Agent",
3225
- scopeTenant: "Locataire",
3226
3343
  disconnecting: "Déconnexion en cours...",
3227
3344
  disconnect: "Déconnecter",
3228
3345
  connecting: "Connexion en cours...",
3229
3346
  connect: "Connecter",
3230
- edit: "Modifier",
3347
+ configure: "Configurer",
3348
+ scopeUser: "Utilisateur",
3349
+ scopeAgent: "Agent",
3350
+ scopeTenant: "Organisation",
3351
+ scopeHintUser: "Chaque personne se connecte à {name} avec son propre compte. Modifiez-le avec le bouton en forme d’engrenage.",
3352
+ scopeHintAgent: "Un compte partagé pour toutes les personnes qui discutent avec cet agent. Modifiez-le avec le bouton en forme d’engrenage.",
3353
+ scopeHintOrganization: "Un compte partagé pour toute votre organisation. Modifiez-le avec le bouton en forme d’engrenage.",
3231
3354
  "delete": "Supprimer",
3232
3355
  select: "Sélectionner",
3233
- createdDate: "Créé le {date}",
3234
3356
  searchByName: "Rechercher par nom...",
3235
3357
  pickDateRange: "Choisir une plage de dates",
3236
3358
  ariaSelectTransport: "Sélectionner le transport",
3237
3359
  allTransports: "Tous les transports",
3238
3360
  searchTransport: "Rechercher le transport...",
3239
3361
  noTransportFound: "Aucun transport trouvé.",
3240
- featuredConnectors: "Connecteurs en vedette",
3362
+ featured: "En vedette",
3241
3363
  loadingFeaturedConnectors: "Chargement des connecteurs en vedette...",
3242
3364
  failedToLoadFeatured: "Échec du chargement des connecteurs en vedette",
3243
3365
  retry: "Réessayer",
3244
3366
  connectors: "Connecteurs",
3367
+ directory: "Répertoire",
3245
3368
  addConnector: "Ajouter un connecteur",
3246
3369
  loadingConnectors: "Chargement des connecteurs...",
3247
3370
  failedToLoadConnectors: "Échec du chargement des connecteurs",
@@ -3254,7 +3377,13 @@ var mcpTabConnectorManagementContent = {
3254
3377
  transportLabelAllTransports: "Tous les transports",
3255
3378
  transportLabelSSE: "SSE",
3256
3379
  transportLabelWebSocket: "WebSocket",
3257
- transportLabelStreamableHTTP: "HTTP streamable"
3380
+ transportLabelStreamableHTTP: "HTTP streamable",
3381
+ connectedSuccessfully: "{name} connecté avec succès",
3382
+ failedToCreateConnection: "Échec de la création de la connexion : {detail}",
3383
+ unknownError: "Erreur inconnue",
3384
+ turnedOffUntilConnected: "{name} a été désactivé pour cet agent. Réactivez-le pour vous connecter.",
3385
+ cannotChangeSetting: "Votre organisation ne peut pas modifier ce réglage pour {name}.",
3386
+ saveFailed: "Impossible d'enregistrer {name}."
3258
3387
  };
3259
3388
  var memoryAddMemoryDialog = {
3260
3389
  validationMinLength: "Le contenu de la mémoire doit comporter au moins 10 caractères",
@@ -7626,6 +7755,7 @@ var chat = {
7626
7755
  studyMode: "Mode étude",
7627
7756
  deepResearch: "Recherche approfondie",
7628
7757
  memory: "Mémoire",
7758
+ mcp: "MCP",
7629
7759
  cowork: "Cowork",
7630
7760
  coworkNeedsLocalModel: "Activez d’abord « Modèles Locaux » — Cowork nécessite un modèle d’IA local.",
7631
7761
  coworkModelTooSmall: "Votre modèle local est trop petit pour Cowork. Choisissez un modèle d’au moins 12 Go dans Modèles Locaux.",
@@ -7840,7 +7970,16 @@ var chat = {
7840
7970
  uploadUrlFailed: "Failed to get upload URL for {name}",
7841
7971
  uploadFailed: "Failed to upload {name}",
7842
7972
  retryFailed: "Failed to retry upload for {name}",
7843
- typeNotAllowed: "Impossible d'ajouter {name}. Cet agent n'accepte que les fichiers {types}.",
7973
+ typeNotAccepted: "Les fichiers .{type} ne sont pas acceptés par cet agent.",
7974
+ noFileType: "{name} n'a pas de type de fichier, cet agent ne peut donc pas l'accepter.",
7975
+ filesNotAdded: "Impossible d'ajouter {count} fichiers : {names}.",
7976
+ seeAllowedTypes: "Voir les types autorisés",
7977
+ allowedTypesTitle: "Types de Fichiers Acceptés par cet Agent",
7978
+ allowedTypesDescription: "Vous pouvez joindre n'importe lequel de ces {count} types de fichiers.",
7979
+ allowedTypesSearchPlaceholder: "Rechercher, ex. xlsx",
7980
+ allowedTypesSearchLabel: "Rechercher des types de fichiers",
7981
+ allowedTypesNoMatch: ".{query} n'en fait pas partie.",
7982
+ allowedTypesDone: "Compris",
7844
7983
  notAllowedForAgent: "{name} ne peut pas être utilisé avec cet agent. Retirez-le pour envoyer votre message.",
7845
7984
  typeListSeparator: ", ",
7846
7985
  typeListAnd: "{head} et {last}",
@@ -8470,7 +8609,10 @@ var fr = {
8470
8609
  llmsTabIntegrationLlmsTab: llmsTabIntegrationLlmsTab,
8471
8610
  localLlmLocalLlmTab: localLlmLocalLlmTab,
8472
8611
  localLlmUseModelDownload: localLlmUseModelDownload,
8612
+ mcpTab: mcpTab,
8473
8613
  mcpTabConnectorDialogs: mcpTabConnectorDialogs,
8614
+ mcpServersMenu: mcpServersMenu,
8615
+ mcpOAuthApp: mcpOAuthApp,
8474
8616
  mcpTabConnectorManagementContent: mcpTabConnectorManagementContent,
8475
8617
  memoryAddMemoryDialog: memoryAddMemoryDialog,
8476
8618
  memoryMemoryTab: memoryMemoryTab,
@@ -8804,6 +8946,9 @@ exports.llmsTabIntegrationLlmsTab = llmsTabIntegrationLlmsTab;
8804
8946
  exports.localLlmLocalLlmTab = localLlmLocalLlmTab;
8805
8947
  exports.localLlmUseModelDownload = localLlmUseModelDownload;
8806
8948
  exports.ltiTabLabels = ltiTabLabels;
8949
+ exports.mcpOAuthApp = mcpOAuthApp;
8950
+ exports.mcpServersMenu = mcpServersMenu;
8951
+ exports.mcpTab = mcpTab;
8807
8952
  exports.mcpTabConnectorDialogs = mcpTabConnectorDialogs;
8808
8953
  exports.mcpTabConnectorManagementContent = mcpTabConnectorManagementContent;
8809
8954
  exports.memoryAddMemoryDialog = memoryAddMemoryDialog;
@@ -1 +1 @@
1
- {"version":3,"file":"fr.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"fr.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}