{"context":{"domain":"natura-hispana-bella-uruguay"},"layers":{"ApplicationLayer":{"reference":"ApplicationLayer","availableInstances":[{"reference":"ComponentsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@DataSet","reference":"SystemsDataSet","params":{"filter":{"domain":"data2"},"pagination":{"size":1},"datasource":{"component":"data2-core-types@ProcessReference","params":{"reference":"SystemsDataSource"}}}},{"reference":"ExternalComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"SystemsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"5e3b796d6228227ca637d0f4","name":"data2","domain":"data2","organization":"62292184611f480b3191c37c","visibility":"public","updatedAt":"2026-07-27T14:19:36.810Z"}]}},{"reference":"OrganizationsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"DataComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@DataSet","reference":"OneFileComponentInstancesDataSet","params":{"pagination":{"size":1},"master":{"dataset":{"component":"data2-core-types@ProcessReference","params":{"reference":"SystemsDataSet"}},"localField":"system","masterField":"_id"},"datasource":{"component":"data2-core-types@ProcessReference","params":{"reference":"FileComponentInstancesDataSource"}}}},{"reference":"ApplicationsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"ComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"ServiceComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@Data2TableDataSource","reference":"FileComponentInstancesDataSource","params":{"table":"fileComponentInstances","schema":[{"component":"data2-core-types@Field","params":{"key":"component","title":"Component","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"system","title":"System","component":"data2-core-primitives@ObjectId"}},{"component":"data2-core-types@Field","params":{"key":"displayName","title":"Display Name","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"params","title":"Params","component":"data2-core-primitives@Object"}},{"component":"data2-core-types@Field","params":{"key":"reference","title":"Reference","component":"data2-core-primitives@String"}}]}},{"component":"data2-core@MemoryDataSource","reference":"EmptyDataSource","params":{"initialData":[]}},{"reference":"ComponentsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"UserComponentsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"DataComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ServiceComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ExternalComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ApplicationsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}}],"processesParams":{}},"HostApplicationLayer":{"reference":"HostApplicationLayer","availableInstances":[{"_id":"5f15ff190528b92601890f71","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"SystemsTableDataSource"}},"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"domain"}}},"pk":"_id","fields":[{"component":"data2-core-types@FieldReference","params":{"key":"_id"}},{"component":"data2-core-types@FieldReference","params":{"key":"name"}},{"component":"data2-core-types@FieldReference","params":{"key":"domain"}},{"component":"data2-core-types@FieldReference","params":{"key":"visibility"}},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"customDomains"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization._id"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.name"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.billingStatus"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.publicTrial.active"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"settings.defaultAccessPolicy"}}},"break":true}],"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}},"staticPagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}},"policies":[{"component":"data2-core-auth@Policy","params":{"allow":{"params":{"actions":[{"params":{"components":[{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"_id"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"},{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"domain"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"},{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"customDomains"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"}]},"component":"data2-core-logical-operators@Or"}]},"component":"data2-core-flow@Series"}}}]},"reference":"SystemsDataSet","updatedAt":"2026-08-07T21:51:24.037Z","createdAt":"2020-07-20T20:31:21.838Z"},{"_id":"5f1601ce0528b92601890f7c","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":1000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentsTableDataSource"}},"sort":{"params.package":1,"params.component":1},"pk":"_id","autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"staticFilter":{"system":{"exists":{"params":{"content":false},"component":"data2-core-primitives@Boolean"}}},"filter":{"system":{"exists":{"params":{"content":false},"component":"data2-core-primitives@Boolean"}}}},"reference":"ComponentsDataSet","updatedAt":"2025-11-05T19:37:01.935Z","createdAt":"2020-07-20T20:42:54.898Z"},{"_id":"5f9041dbc8da12be8b94aea4","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":2000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentsTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"UserComponentsDataSet","updatedAt":"2025-11-06T21:06:58.095Z","createdAt":"2020-07-20T20:44:09.350Z"},{"_id":"65d8c4fabc9dbb8f94de8d53","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ExternalComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ExternalComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:23.742Z","createdAt":"2024-02-23T16:17:01.816Z"},{"reference":"SystemsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6aa417957aa25eaf932ae9ef","name":"Natura Bella Uruguay","domain":"natura-hispana-bella-uruguay","visibility":"public","updatedAt":"2026-09-11T15:00:37.952Z","createdAt":"2026-09-11T15:00:37.952Z"}]}},{"reference":"ComponentsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"5f52a278a575399a45d239b4","component":"data2-core-types@Component","params":{"package":"data2-core-primitives","component":"Router","interactions":{"component":"data2-core-types@FieldSet","params":{"fields":{"goBack":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.goBack","args":[]}}}},"icon":{"component":"data2-core-primitives@String","params":{"content":"arrow-left"}},"visibility":"public"}},"goTo":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.push","args":[{"component":"data2-core-types@Reference","params":{"reference":"url"}},{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"preserveQuery"}}}}]}},"parameters":[{"component":"data2-core-primitives@String","params":{"content":"url"}},{"component":"data2-core-primitives@String","params":{"content":"preserveQuery"}}]},"break":true},"icon":{"component":"data2-core-primitives@String","params":{"content":"share"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Path to route"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Path to redirect user"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Boolean"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Preserve Query"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Preserve query string parameters  preserve query parameters on navigating."}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"}]}},"open":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.push","args":[{"pathname":{"component":"data2-core-types@Reference","params":{"reference":"value"}}}]}},"parameters":["value"]}},"icon":{"component":"data2-core-primitives@String","params":{"content":"share"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Link to open"}},"description":{"component":"data2-core-primitives@String","params":{"content":""}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Target"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Where to open the link"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"oneOf":[{"params":{"content":"_blank"},"component":"data2-core-primitives@String"},{"params":{"content":"_self"},"component":"data2-core-primitives@String"},{"params":{"content":"_parent"},"component":"data2-core-primitives@String"},{"params":{"content":"_top"},"component":"data2-core-primitives@String"}]},"component":"data2-core-types@ComponentParameter"}]}},"close":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":"close"}},"parameters":["value"]}},"icon":{"component":"data2-core-primitives@String","params":{"content":"times"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Link to open"}},"description":{"component":"data2-core-primitives@String","params":{"content":""}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Target"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Where to open the link"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"oneOf":[{"params":{"content":"_blank"},"component":"data2-core-primitives@String"},{"params":{"content":"_self"},"component":"data2-core-primitives@String"},{"params":{"content":"_parent"},"component":"data2-core-primitives@String"},{"params":{"content":"_top"},"component":"data2-core-primitives@String"}]},"component":"data2-core-types@ComponentParameter"}],"description":{"component":"data2-core-primitives@String","params":{"content":"Closes a window that was opened via router.open."}}}}}}}}},{"_id":"620d28658271aa4129919d89","component":"data2-core-types@Component","params":{"package":"data2-interface-services","component":"DeviceController","interactions":{"params":{"fields":{"postMessage":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@String","title":{"component":"data2-core-primitives@String","params":{"content":"data"}}}}]},"component":"data2-core-types@ComponentParameter"},"print":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"parameters":{"zoom":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Number"}},"title":{"component":"data2-core-primitives@String","params":{"content":"zoom"}},"visibility":"public"}}},"visibility":"public"},"component":"data2-core-types@ComponentParameter"}],"visibility":"public"},"component":"data2-core-types@ComponentParameter"},"share":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}}},"component":"data2-core-types@ComponentParameter"},"clipboard.copy":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}}}}]},"component":"data2-core-types@ComponentParameter"},"clipboard.paste":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}}}}]},"component":"data2-core-types@ComponentParameter"},"download":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Content"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Options"}},"parameters":{"params":{"fields":{"type":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Mimetype"}}}}}},"component":"data2-core-types@FieldSet"}}}]},"component":"data2-core-types@ComponentParameter"},"downloadUrl":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Url"}}}}]},"component":"data2-core-types@ComponentParameter"},"promptFiles":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@Object","flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"parameters":{"params":{"fields":{"multiple":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Multiple"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Whether or not to allow selecting multiple files"}},"component":"data2-core-primitives@Boolean"}},"acceptedFormats":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Accepted Formats"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Accepted file formats"}},"component":"data2-core-primitives@String","list":{"component":"data2-core-primitives@Boolean","params":{"content":true}}}},"timeout":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Timeout"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Max milliseconds to wait for file upload"}},"component":"data2-core-primitives@Number"}}}},"component":"data2-core-types@FieldSet"}}}],"visibility":"public"},"component":"data2-core-types@ComponentParameter"},"meetingRecord":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","definition":{"params":{"actions":[{"params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"meeting"}},"script":{"component":"data2-core-primitives@String","params":{"content":"(function() {\n  let mediaRecorder;\n  let audioChunks = [];\n  let combinedStream;\n  let audioContext;\n  \n  window.meetingCapture = async function() {\n    try {\n      // Solicitar acesso ao áudio da guia (e vídeo, que será ignorado depois)\n      const tabStream = await navigator.mediaDevices.getDisplayMedia({ \n        video: true, // Necessário para alguns navegadores\n        audio: true\n      });\n      \n      // Remover a trilha de vídeo\n      const tabAudioTrack = tabStream.getAudioTracks()[0];\n      \n      // Solicitar acesso ao microfone\n      const micStream = await navigator.mediaDevices.getUserMedia({ audio: true });\n      const micAudioTrack = micStream.getAudioTracks()[0];\n      \n      // Criar um novo MediaStream com ambas as trilhas de áudio\n      combinedStream = new MediaStream([tabAudioTrack, micAudioTrack]);\n      \n      // Criar um contexto de áudio para misturar os streams\n      audioContext = new AudioContext();\n      const destination = audioContext.createMediaStreamDestination();\n      \n      // Conectar a trilha de áudio da guia\n      const tabSource = audioContext.createMediaStreamSource(new MediaStream([tabAudioTrack]));\n      tabSource.connect(destination);\n      \n      // Conectar a trilha de áudio do microfone\n      const micSource = audioContext.createMediaStreamSource(new MediaStream([micAudioTrack]));\n      micSource.connect(destination);\n      \n      // Iniciar gravação com o stream misturado\n      mediaRecorder = new MediaRecorder(destination.stream);\n      audioChunks = [];\n      mediaRecorder.ondataavailable = (e) => audioChunks.push(e.data);\n      mediaRecorder.start();\n      \n      console.log('Gravação iniciada. Chame meetingCaptureStop() para finalizar.');\n    } catch (error) {\n      console.error('Erro ao iniciar a captura:', error);\n    }\n  };\n  \n  window.meetingCaptureStop = function() {\n    return new Promise((resolve, reject) => {\n      if (!mediaRecorder) {\n        reject('Nenhuma gravação em andamento.');\n        return;\n      }\n      \n      mediaRecorder.onstop = () => {\n        const audioBlob = new Blob(audioChunks, { type: 'audio/webm' });\n        combinedStream.getTracks().forEach(track => track.stop());\n        audioContext.close();\n        \n        resolve(audioBlob);\n        console.log('Gravação finalizada. O arquivo de áudio está pronto para upload.');\n      };\n      \n      mediaRecorder.stop();\n    });\n  };\n})();"}}},"component":"data2-core-web@Script"},{"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":{"component":"data2-core-primitives@String","params":{"content":"meetingCapture"}}}}]},"component":"data2-core-flow@Series"}},"component":"data2-core-types@ComponentParameter"},"meetingRecordStop":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Content"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Options"}},"parameters":{"params":{"fields":{"type":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Mimetype"}}}}}},"component":"data2-core-types@FieldSet"}}}],"definition":{"params":{"actions":[{"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":{"component":"data2-core-primitives@String","params":{"content":"meetingCaptureStop"}}}}]},"component":"data2-core-flow@Series"}},"component":"data2-core-types@ComponentParameter"},"notify":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"private","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@Object","parameters":{"title":{"params":{"component":"data2-core-primitives@String","index":{"component":"data2-core-primitives@Number","params":{"content":0}},"title":{"component":"data2-core-primitives@String","params":{"content":"title"}}},"component":"data2-core-types@ComponentParameter"},"sound":{"params":{"component":"data2-core-types@FileComponentUrlReference","index":{"component":"data2-core-primitives@Number","params":{"content":1}},"title":{"component":"data2-core-primitives@String","params":{"content":"sound"}}},"component":"data2-core-types@ComponentParameter"}},"flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}}}}]},"component":"data2-core-types@ComponentParameter"}}},"component":"data2-core-types@FieldSet"}}},{"_id":"6abbbefa1581c5aeabca6eee","component":"data2-core-types@Component","system":"6aa417957aa25eaf932ae9ef","params":{"extends":"data2-core-primitives@Block","component":"bellaSim","package":"natura-hispana-bella-uruguay","definition":{"preventEvaluation":true,"component":"data2-core-types@Definition","params":{"def":{"component":"data2-code-components@CodeHost","params":{"code":{"component":"data2-core-primitives@String","params":{"content":"/* Bella Sim — réplica de WhatsApp Web (80%) + móvil espejo (20%) */\n\nconst T = {\n  searchPh: 'Buscar un chat',\n  tabs: ['Todos', 'No leídos', 'Favoritos', 'Grupos'],\n  online: 'en línea',\n  typing: 'escribiendo…',\n  composerPh: 'Escribe un mensaje',\n  encrypted: 'Los mensajes están cifrados de extremo a extremo. Nadie fuera de este chat puede leerlos, ni siquiera nosotros.',\n  today: 'HOY',\n  emptyT: 'Aún no hay mensajes',\n  reply: 'Responder',\n  you: 'Tú',\n  recHint: 'Grabando…',\n  attPhotos: 'Fotos y vídeos',\n  attDoc: 'Documento',\n  dbgEmpty: 'Todavía no hay turnos. Envía un mensaje para ver la petición y la respuesta.',\n  noReply: 'No se pudo contactar a Bella.'\n}\nconst KL = { image: 'Foto', video: 'Vídeo', audio: 'Mensaje de voz', document: 'Documento', sticker: 'Sticker' }\n\nconst EMO = ['😀','😃','😄','😁','😆','😅','😂','🤣','😊','😇','🙂','🙃','😉','😌','😍','🥰','😘','😋','😎','🤓','🥳','🤔','😐','😴','😒','😞','😔','😟','🙁','😢','😭','😤','😠','🥺','😳','🤗','🤝','👍','👎','👏','🙏','💪','👋','❤️','🧡','💛','💚','💙','💜','🔥','✨','🎉','✅','❌','💯','🚀','👀','💬','📦','🛍️','💄','🌸','☀️','🌙']\nconst QUICK = ['👍','❤️','😂','😮','😢','🙏']\n\nconst sv = (p, w) => '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"' + (w || 1.9) + '\" stroke-linecap=\"round\" stroke-linejoin=\"round\">' + p + '</svg>'\nconst IC = {\n  search: sv('<circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"m20.5 20.5-3.7-3.7\"/>'),\n  menu: '<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><circle cx=\"12\" cy=\"5\" r=\"1.8\"/><circle cx=\"12\" cy=\"12\" r=\"1.8\"/><circle cx=\"12\" cy=\"19\" r=\"1.8\"/></svg>',\n  newchat: sv('<path d=\"M21 11.5a8.4 8.4 0 0 1-9 8.4 8.6 8.6 0 0 1-3.8-.9L3 20.5l1.6-4.9A8.4 8.4 0 1 1 21 11.5Z\"/><path d=\"M12 8.5v5M9.5 11h5\"/>'),\n  emoji: sv('<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M8.5 14.5a4.5 4.5 0 0 0 7 0\"/><path d=\"M9 9.5h.01M15 9.5h.01\" stroke-width=\"2.6\"/>'),\n  clip: sv('<path d=\"M20 11.5 12.2 19.3a4.6 4.6 0 0 1-6.5-6.5l7.8-7.8a3.1 3.1 0 0 1 4.4 4.4l-7.8 7.8a1.5 1.5 0 0 1-2.2-2.2l7.2-7.2\"/>'),\n  mic: sv('<rect x=\"9\" y=\"2.5\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5.5 11a6.5 6.5 0 0 0 13 0\"/><path d=\"M12 17.5V21\"/>'),\n  send: '<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M2.2 21 23 12 2.2 3l.01 7L17 12 2.21 14z\"/></svg>',\n  x: sv('<path d=\"M18 6 6 18M6 6l12 12\"/>'),\n  down: sv('<path d=\"M12 4v12m0 0 4.5-4.5M12 16l-4.5-4.5\"/><path d=\"M4.5 19.5h15\"/>'),\n  play: '<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M7 4.5 19.5 12 7 19.5z\"/></svg>',\n  pause: '<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><rect x=\"6.5\" y=\"4.5\" width=\"4\" height=\"15\" rx=\"1\"/><rect x=\"13.5\" y=\"4.5\" width=\"4\" height=\"15\" rx=\"1\"/></svg>',\n  chev: sv('<path d=\"m6 9.5 6 6 6-6\"/>', 2.2),\n  trash: sv('<path d=\"M4 7h16M10 7V4.8h4V7M6.5 7l.9 12.2h9.2L17.5 7\"/>'),\n  back: sv('<path d=\"M19 12H5m0 0 6.5-6.5M5 12l6.5 6.5\"/>'),\n  phone: sv('<path d=\"M6.5 3.5h3l1.5 4-2 1.5a12 12 0 0 0 6 6L16.5 13l4 1.5v3a2 2 0 0 1-2.2 2A16.8 16.8 0 0 1 4.5 5.7a2 2 0 0 1 2-2.2Z\"/>'),\n  video: sv('<rect x=\"2.5\" y=\"6\" width=\"13\" height=\"12\" rx=\"2.5\"/><path d=\"m15.5 11 6-3.2v8.4l-6-3.2z\"/>'),\n  lock: sv('<rect x=\"4.5\" y=\"10.5\" width=\"15\" height=\"10\" rx=\"2.5\"/><path d=\"M8 10.5V7.8a4 4 0 0 1 8 0v2.7\"/>'),\n  image: sv('<rect x=\"3\" y=\"4.5\" width=\"18\" height=\"15\" rx=\"2.5\"/><circle cx=\"8.5\" cy=\"10\" r=\"1.7\"/><path d=\"m4 17 5-4.5 4.5 4L17 13l3 3\"/>'),\n  doc: sv('<path d=\"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z\"/><path d=\"M14 3v5h5M9 13h6M9 17h4\"/>'),\n  reply: sv('<path d=\"M9.5 6.5 4 12l5.5 5.5\"/><path d=\"M4 12h9a7 7 0 0 1 7 7v1\"/>'),\n  smile: sv('<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M8.5 14.5a4.5 4.5 0 0 0 7 0\"/><path d=\"M9 9.5h.01M15 9.5h.01\" stroke-width=\"2.6\"/>'),\n  bug: sv('<rect x=\"7\" y=\"7\" width=\"10\" height=\"13\" rx=\"5\"/><path d=\"M9 6.5a3 3 0 0 1 6 0M3.5 11h3.5M17 11h3.5M3.5 17H7M17 17h3.5M12 7V4.5\"/>')\n}\nconst TICK = {\n  pending: '<svg viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.3\"><circle cx=\"8\" cy=\"8\" r=\"6\"/><path d=\"M8 4.8V8l2.2 1.4\"/></svg>',\n  sent: '<svg viewBox=\"0 0 16 15\" fill=\"currentColor\"><path d=\"M10.9 3.3 5.6 10 3 7.6l-.9 1 3.6 3.3 6.1-7.7z\"/></svg>',\n  two: '<svg viewBox=\"0 0 18 15\" fill=\"currentColor\"><path d=\"M12.9 3.3 7.6 10 5.9 8.4l-.9 1L7.6 12l6.2-7.7zM8.3 3.3 3 10 1.2 8.3l-.9 1L3 12l6.2-7.7z\"/></svg>'\n}\n\nconst esc = (s) => String(s == null ? '' : s).replace(/[&<>\"']/g, (c) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c]))\nconst hhmm = (ts) => { const d = new Date(ts); return String(d.getHours()).padStart(2, '0') + ':' + String(d.getMinutes()).padStart(2, '0') }\nconst mmss = (s) => Math.floor(s / 60) + ':' + String(Math.floor(s % 60)).padStart(2, '0')\nconst wait = (ms) => new Promise((r) => setTimeout(r, ms))\nconst uid = (p) => p + Date.now().toString(36) + Math.random().toString(36).slice(2, 6)\n\nfunction bars(id, n) {\n  let h = 0\n  for (let i = 0; i < id.length; i++) h = (h * 31 + id.charCodeAt(i)) >>> 0\n  const out = []\n  for (let i = 0; i < n; i++) { h = (h * 1103515245 + 12345) >>> 0; out.push(22 + (h % 78)) }\n  return out\n}\n\n/* ---- estado no reactivo (propiedad del DOM / del navegador) ---- */\nlet draft = ''\nlet stick = true\nlet audioEl = null\nlet rec = null\nlet recChunks = []\nlet recTimer = null\nlet recStart = 0\nlet SID = uid('s-')\nlet blobs = []\n\n/* ---------------- burbujas: UNA sola función, usada por los dos paneles ---------------- */\nfunction quoteHTML(q) {\n  if (!q) return ''\n  const label = q.mine ? T.you : esc(q.author || '')\n  const prev = q.kind === 'text' ? q.preview : (KL[q.kind] || '') + (q.preview ? ' · ' + q.preview : '')\n  return '<div class=\"quote ' + (q.mine ? 'qme' : 'qthem') + '\"><span class=\"qa\">' + label + '</span><span class=\"qt\">' + esc(prev) + '</span></div>'\n}\n\nfunction metaHTML(m) {\n  let t = ''\n  if (m.mine) {\n    if (m.status === 'pending') t = '<span class=\"tk\">' + TICK.pending + '</span>'\n    else if (m.status === 'sent') t = '<span class=\"tk\">' + TICK.sent + '</span>'\n    else if (m.status === 'delivered') t = '<span class=\"tk\">' + TICK.two + '</span>'\n    else if (m.status === 'read') t = '<span class=\"tk blue\">' + TICK.two + '</span>'\n  }\n  return '<span class=\"meta\"><span class=\"mt\">' + hhmm(m.ts) + '</span>' + t + '</span>'\n}\n\nfunction reactHTML(m) {\n  const ks = Object.keys(m.reactions || {})\n  if (!ks.length) return ''\n  return '<span class=\"reacts\">' + ks.map((k) => '<span>' + k + '</span>').join('') + '</span>'\n}\n\nfunction bodyHTML(m) {\n  const cap = m.body || m.caption || ''\n  const capH = cap ? '<div class=\"txt\">' + esc(cap) + '</div>' : ''\n  if (m.kind === 'image') return '<div class=\"media img\" data-open=\"' + esc(m.media) + '\" style=\"background-image:url(' + esc(m.media) + ')\"></div>' + capH\n  if (m.kind === 'sticker') return '<div class=\"media stk\" style=\"background-image:url(' + esc(m.media) + ')\"></div>'\n  if (m.kind === 'video') return '<div class=\"media vid\"><video src=\"' + esc(m.media) + '\" controls preload=\"metadata\"></video></div>' + capH\n  if (m.kind === 'document') return '<div class=\"docrow\"><span class=\"dic\">' + IC.doc + '</span><span class=\"dmeta\"><b>' + esc(m.fname || 'documento') + '</b><i>' + esc(m.fsize || '') + '</i></span><a class=\"ddl\" href=\"' + esc(m.media) + '\" download=\"' + esc(m.fname || 'archivo') + '\" title=\"Descargar\">' + IC.down + '</a></div>' + capH\n  if (m.kind === 'audio') {\n    const bb = bars(m.id, 34).map((h) => '<i style=\"height:' + Math.round(h * 0.26) + 'px\"></i>').join('')\n    return '<div class=\"aud\"><button class=\"apl\" data-play=\"' + esc(m.id) + '\" data-src=\"' + esc(m.media) + '\">' + IC.play + '</button><span class=\"awrap\"><span class=\"abars\" data-seek=\"' + esc(m.id) + '\">' + bb + '<span class=\"afill\" data-fill=\"' + esc(m.id) + '\"></span></span><span class=\"atime\" data-time=\"' + esc(m.id) + '\">' + mmss(m.durSec || 0) + '</span></span></div>'\n  }\n  if (m.kind === 'system') return '<div class=\"txt sys\">' + esc(cap) + '</div>'\n  return '<div class=\"txt\">' + esc(cap) + '</div>'\n}\n\nfunction bubbleHTML(m, st, name) {\n  if (m.kind === 'system') return '<div class=\"row sysrow\" data-key=\"' + esc(m.id) + '\"><div class=\"syschip\">' + esc(m.body) + '</div></div>'\n  const cls = ['bub', m.mine ? 'me' : 'them']\n  if (m.kind === 'sticker') cls.push('plain')\n  if (m.kind === 'image' || m.kind === 'video') cls.push('hasmedia')\n  const hasR = Object.keys(m.reactions || {}).length ? ' hasreact' : ''\n  const open = st && st.menuFor === m.id\n  const menu = open ? '<div class=\"bmenu\"><div class=\"qrow\">' + QUICK.map((e) => '<button class=\"qr\" data-react=\"' + esc(m.id) + '\" data-emo=\"' + e + '\">' + e + '</button>').join('') + '</div><button class=\"mitem\" data-replyto=\"' + esc(m.id) + '\">' + IC.reply + '<span>' + T.reply + '</span></button></div>' : ''\n  return '<div class=\"row ' + (m.mine ? 'rme' : 'rthem') + hasR + '\" data-key=\"' + esc(m.id) + '\" data-id=\"' + esc(m.id) + '\">' +\n    '<div class=\"bwrap\">' +\n      '<div class=\"' + cls.join(' ') + '\">' + quoteHTML(m.replyTo) + bodyHTML(m) + metaHTML(m) + reactHTML(m) + '</div>' +\n      '<button class=\"bmb\" data-menu=\"' + esc(m.id) + '\">' + IC.chev + '</button>' + menu +\n    '</div></div>'\n}\n\nfunction threadHTML(msgs, st, name) {\n  let out = '<div class=\"enc\">' + IC.lock + '<span>' + T.encrypted + '</span></div>'\n  if (!msgs.length) {\n    out += '<div class=\"empty\"><div class=\"eico\">' + IC.smile + '</div><b>' + T.emptyT + '</b><span>Escribe abajo para empezar a hablar con ' + esc(name) + '.</span></div>'\n    return out\n  }\n  out += '<div class=\"day\"><span>' + T.today + '</span></div>'\n  for (const m of msgs) out += bubbleHTML(m, st, name)\n  if (st.bellaTyping) out += '<div class=\"row rthem\" data-key=\"__typing\"><div class=\"bwrap\"><div class=\"bub them typing\"><i></i><i></i><i></i></div></div></div>'\n  return out\n}\n\n/* ---------------------------------- componente ---------------------------------- */\nexport default {\n  css: `\n:host{display:block;height:100%}\n*{box-sizing:border-box;margin:0;padding:0}\n.root{--wp:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.033' stroke-width='1.4'%3E%3Ccircle cx='24' cy='28' r='7'/%3E%3Cpath d='M62 20l10 10-10 10-10-10z'/%3E%3Cpath d='M104 24h18M104 32h11'/%3E%3Cpath d='M20 78c6-8 15-8 21 0'/%3E%3Ccircle cx='79' cy='84' r='9'/%3E%3Cpath d='M118 74l9 15h-18z'/%3E%3Cpath d='M32 118h19v13H32z'/%3E%3Cpath d='M75 124h15M75 131h9'/%3E%3Ccircle cx='124' cy='124' r='6'/%3E%3C/g%3E%3C/svg%3E\");display:flex;height:100%;min-height:520px;background:#0b141a;color:#e9edef;font-family:'Segoe UI',Helvetica,system-ui,-apple-system,sans-serif;font-size:14.2px;position:relative;overflow:hidden}\nbutton{font:inherit;color:inherit;background:none;border:0;cursor:pointer}\nsvg{width:100%;height:100%;display:block}\n.ib{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#aebac1;flex:0 0 auto}\n.ib>svg{width:21px;height:21px}\n.ib:hover{background:rgba(134,150,160,.12)}\n\n/* ---------- panel web (80%) ---------- */\n.web{flex:1 1 80%;display:flex;min-width:0;border-right:1px solid #0a1014}\n.side{flex:0 0 400px;max-width:44%;display:flex;flex-direction:column;background:#111b21;border-right:1px solid #222d34;min-width:0}\n.shead{height:59px;background:#202c33;display:flex;align-items:center;gap:6px;padding:0 16px;flex:0 0 auto}\n.av{border-radius:50%;background:#3b4a54 center/cover no-repeat;flex:0 0 auto}\n.shead .av{width:40px;height:40px}\n.meav{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Crect width='40' height='40' fill='%236a7c85'/%3E%3Ccircle cx='20' cy='15' r='7' fill='%23cfd8dc'/%3E%3Cpath d='M6 40c0-8 6.5-12 14-12s14 4 14 12z' fill='%23cfd8dc'/%3E%3C/svg%3E\")}\n.sp{flex:1}\n.srow{padding:7px 12px;background:#111b21;flex:0 0 auto}\n.sbox{display:flex;align-items:center;gap:10px;height:35px;background:#202c33;border-radius:8px;padding:0 12px;color:#8696a0}\n.sbox>svg{width:17px;height:17px;flex:0 0 auto}\n.sbox span{font-size:14px}\n.tabs{display:flex;gap:8px;padding:2px 12px 10px;flex:0 0 auto}\n.tab{font-size:13.2px;color:#8696a0;background:#202c33;border-radius:999px;padding:5px 13px;white-space:nowrap}\n.tab.on{background:rgba(0,168,132,.2);color:#00a884}\n.convs{flex:1;overflow-y:auto;border-top:1px solid #222d34}\n.conv{display:flex;gap:14px;padding:10px 14px;cursor:pointer;background:#2a3942}\n.conv .av{width:49px;height:49px}\n.cmid{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}\n.cn{display:flex;justify-content:space-between;gap:8px;align-items:baseline}\n.cn b{font-weight:400;font-size:16.5px;color:#e9edef;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.cn i{font-style:normal;font-size:12px;color:#8696a0;flex:0 0 auto}\n.cp{font-size:13.6px;color:#8696a0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n\n.chat{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}\n.chead{height:59px;background:#202c33;display:flex;align-items:center;gap:14px;padding:0 16px;flex:0 0 auto;z-index:3}\n.chead .av{width:40px;height:40px}\n.ci{flex:1;min-width:0;line-height:1.25}\n.ci b{display:block;font-weight:400;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.ci span{display:block;font-size:12.6px;color:#8696a0}\n.ci span.act{color:#00a884}\n.thread{flex:1;overflow-y:auto;padding:14px 6.5% 10px;background-color:#0b141a;background-image:var(--wp)}\n.enc{max-width:560px;margin:2px auto 14px;background:#182229;color:#ffd279;border-radius:8px;padding:7px 12px;font-size:12.4px;line-height:1.45;display:flex;gap:7px;align-items:flex-start;text-align:center}\n.enc>svg{width:13px;height:13px;flex:0 0 auto;margin-top:2px}\n.day{display:flex;justify-content:center;margin:8px 0 12px}\n.day span{background:#182229;color:#8696a0;font-size:12.2px;border-radius:7px;padding:5px 12px;text-transform:uppercase;letter-spacing:.3px}\n.empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:#8696a0;padding:52px 20px;text-align:center}\n.eico{width:46px;height:46px;color:#2a3942}\n.empty b{color:#e9edef;font-weight:400;font-size:17px}\n.empty span{font-size:13.4px;max-width:330px}\n\n.row{display:flex;margin-bottom:3px}\n.rme{justify-content:flex-end}\n.rthem{justify-content:flex-start}\n.sysrow{justify-content:center;margin:10px 0}\n.syschip{background:#3b2b2b;color:#f0a6a6;border-radius:8px;padding:6px 12px;font-size:12.6px;max-width:70%}\n.bwrap{position:relative;max-width:66%;display:flex}\n.bub{position:relative;border-radius:8px;padding:6px 9px 8px;min-width:78px;box-shadow:0 1px .5px rgba(11,20,26,.13);word-wrap:break-word;overflow-wrap:anywhere}\n.bub.them{background:#202c33;border-top-left-radius:0}\n.bub.me{background:#005c4b;border-top-right-radius:0}\n.bub.plain{background:none!important;box-shadow:none;padding:0;min-width:0}\n.txt{font-size:14.2px;line-height:1.36;white-space:pre-wrap;padding-right:58px}\n.txt.sys{color:#f0a6a6}\n.bub.hasmedia .txt{padding-top:5px}\n.meta{position:absolute;right:9px;bottom:5px;display:flex;align-items:center;gap:3px;font-size:11px;color:rgba(233,237,239,.6);pointer-events:none}\n.bub.plain .meta{right:2px;bottom:2px;background:rgba(11,20,26,.5);border-radius:6px;padding:1px 5px}\n.tk{width:16px;height:11px;color:rgba(233,237,239,.6);display:block}\n.tk.blue{color:#53bdeb}\n.tk svg{width:100%;height:100%}\n.reacts{position:absolute;bottom:-11px;right:8px;background:#202c33;border:1px solid #0b141a;border-radius:999px;padding:1px 5px;font-size:12px;line-height:1.5;display:flex;gap:1px}\n.rme .reacts{background:#005c4b}\n.row.hasreact{margin-bottom:16px}\n.reacts,.qr,.ec{font-family:'Noto Color Emoji','Apple Color Emoji','Segoe UI Emoji','Twemoji Mozilla',sans-serif}\n.pthread .row.hasreact{margin-bottom:13px}\n.quote{display:flex;flex-direction:column;gap:2px;border-left:4px solid #53bdeb;border-radius:5px;padding:4px 8px;margin-bottom:4px;background:rgba(11,20,26,.28);max-width:100%;overflow:hidden}\n.quote.qme{border-left-color:#25d366}\n.qa{font-size:12.8px;color:#53bdeb}\n.qme .qa{color:#25d366}\n.qt{font-size:13px;color:rgba(233,237,239,.65);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.media{border-radius:6px;overflow:hidden}\n.img{width:296px;max-width:100%;height:198px;background:#0b141a center/cover no-repeat;cursor:pointer}\n.stk{width:168px;height:168px;background:center/contain no-repeat}\n.vid video{width:296px;max-width:100%;height:198px;border-radius:6px;background:#000;display:block}\n.docrow{display:flex;align-items:center;gap:10px;background:rgba(11,20,26,.22);border-radius:6px;padding:10px;min-width:262px}\n.dic{width:28px;height:28px;color:#8696a0;flex:0 0 auto}\n.dmeta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}\n.dmeta b{font-weight:400;font-size:13.6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.dmeta i{font-style:normal;font-size:11.6px;color:#8696a0}\n.ddl{width:30px;height:30px;color:#8696a0;flex:0 0 auto;display:grid;place-items:center;border-radius:50%}\n.ddl svg{width:18px;height:18px}\n.ddl:hover{background:rgba(134,150,160,.16)}\n.aud{display:flex;align-items:center;gap:9px;min-width:252px;padding:2px 0}\n.apl{width:32px;height:32px;color:#8696a0;flex:0 0 auto;display:grid;place-items:center}\n.apl svg{width:20px;height:20px}\n.awrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}\n.abars{position:relative;display:flex;align-items:center;gap:2px;height:26px;cursor:pointer}\n.abars i{flex:1;background:#5b6b73;border-radius:2px;min-width:1.6px}\n.afill{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(0,168,132,.32);border-radius:3px;pointer-events:none}\n.atime{font-size:11.4px;color:rgba(233,237,239,.6);padding-right:56px}\n.typing{display:flex;gap:4px;align-items:center;min-width:0;padding:11px 13px}\n.typing i{width:7px;height:7px;border-radius:50%;background:#8696a0;animation:bl 1.3s infinite}\n.typing i:nth-child(2){animation-delay:.18s}\n.typing i:nth-child(3){animation-delay:.36s}\n@keyframes bl{0%,60%,100%{opacity:.35}30%{opacity:1}}\n.bmb{position:absolute;top:2px;right:2px;width:26px;height:26px;color:#8696a0;opacity:0;border-radius:4px;display:grid;place-items:center}\n.bmb svg{width:17px;height:17px}\n.row:hover .bmb{opacity:1;background:linear-gradient(90deg,transparent,rgba(32,44,51,.95) 45%)}\n.rme .row:hover .bmb,.rme .bmb{background:linear-gradient(90deg,transparent,rgba(0,92,75,.95) 45%)}\n.bmenu{position:absolute;top:26px;right:0;z-index:20;background:#233138;border-radius:10px;box-shadow:0 6px 22px rgba(0,0,0,.5);padding:6px;min-width:190px}\n.qrow{display:flex;gap:2px;padding:2px 2px 6px;border-bottom:1px solid #2f3b43;margin-bottom:4px}\n.qr{width:29px;height:29px;border-radius:50%;font-size:17px;line-height:1}\n.qr:hover{background:rgba(134,150,160,.16)}\n.mitem{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:6px;font-size:14px;color:#d1d7db}\n.mitem svg{width:17px;height:17px}\n.mitem:hover{background:rgba(134,150,160,.14)}\n\n.replybar{background:#1d282f;padding:8px 14px;display:flex;align-items:center;gap:10px;flex:0 0 auto}\n.replybar .quote{flex:1;margin:0;background:rgba(11,20,26,.35)}\n.composer{background:#202c33;padding:8px 14px;display:flex;align-items:flex-end;gap:8px;flex:0 0 auto;position:relative}\n.cinwrap{flex:1;background:#2a3942;border-radius:8px;display:flex;align-items:center;padding:0 12px;min-height:42px}\n.cin{flex:1;background:none;border:0;outline:0;color:#e9edef;font:inherit;font-size:15px;resize:none;padding:11px 0;max-height:96px;line-height:1.35}\n.cin::placeholder{color:#8696a0}\n.recbar{flex:1;display:flex;align-items:center;gap:12px;background:#2a3942;border-radius:8px;min-height:42px;padding:0 14px}\n.recdot{width:9px;height:9px;border-radius:50%;background:#f15c6d;animation:pulse 1.1s infinite}\n@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}\n.rectime{font-variant-numeric:tabular-nums;font-size:14px;color:#e9edef;min-width:44px}\n.rechint{flex:1;font-size:13px;color:#8696a0}\n.sendbtn{color:#8696a0}\n.sendbtn.on{color:#00a884}\n\n.pop{position:absolute;z-index:40;background:#233138;border-radius:12px;box-shadow:0 10px 34px rgba(0,0,0,.55);overflow:hidden}\n.emojip{left:12px;bottom:66px;width:352px;padding:10px}\n.egrid{display:grid;grid-template-columns:repeat(9,1fr);gap:2px;max-height:238px;overflow-y:auto}\n.ec{height:35px;border-radius:6px;font-size:21px;line-height:1}\n.ec:hover{background:rgba(134,150,160,.16)}\n.attp{left:56px;bottom:66px;width:214px;padding:8px}\n.scrim{position:absolute;inset:0;z-index:35}\n.lightbox{position:absolute;inset:0;z-index:60;background:rgba(11,20,26,.95);display:flex;align-items:center;justify-content:center}\n.lightbox img{max-width:86%;max-height:86%;border-radius:4px}\n.lbx{position:absolute;top:18px;right:22px;width:40px;height:40px;color:#e9edef}\n\n.dbgbtn{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:30;width:30px;height:74px;background:#202c33;border-radius:8px 0 0 8px;color:#8696a0;display:grid;place-items:center;border:1px solid #2f3b43;border-right:0}\n.dbgbtn svg{width:17px;height:17px}\n.dbg{position:absolute;top:0;right:0;bottom:0;width:430px;max-width:80%;z-index:70;background:#111b21;border-left:1px solid #2f3b43;display:flex;flex-direction:column;box-shadow:-12px 0 34px rgba(0,0,0,.45)}\n.dhead{height:52px;display:flex;align-items:center;gap:10px;padding:0 10px 0 16px;background:#202c33;flex:0 0 auto}\n.dhead b{flex:1;font-weight:400;font-size:15.5px}\n.dbody{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}\n.dturn{background:#182229;border:1px solid #2f3b43;border-radius:8px;overflow:hidden}\n.dtop{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#1d282f;font-size:12.4px;color:#8696a0}\n.dtop .ok{color:#00a884}\n.dtop .bad{color:#f15c6d}\n.dtop .ms{margin-left:auto;font-variant-numeric:tabular-nums}\n.dlab{font-size:11px;color:#8696a0;text-transform:uppercase;letter-spacing:.5px;padding:8px 10px 3px}\n.dpre{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.4px;line-height:1.45;color:#c7d1d6;white-space:pre-wrap;word-break:break-word;padding:0 10px 10px;max-height:190px;overflow:auto}\n.dpre.err{color:#f0a6a6}\n.dempty{color:#8696a0;font-size:13.4px;text-align:center;padding:30px 16px}\n\n/* ---------- móvil espejo (20%) ---------- */\n.phone{flex:0 0 clamp(272px,20%,376px);display:flex;align-items:center;justify-content:center;padding:16px 14px;background:#0a1014;pointer-events:none;user-select:none}\n.frame{width:100%;max-width:330px;height:100%;max-height:712px;background:#0b141a;border:9px solid #1c262c;border-radius:34px;box-shadow:0 18px 44px rgba(0,0,0,.55),inset 0 0 0 1px #2b373e;display:flex;flex-direction:column;overflow:hidden}\n.pstat{height:26px;flex:0 0 auto;background:#1f2c33;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:11px;color:#e9edef;font-variant-numeric:tabular-nums}\n.pbat{display:flex;align-items:center;gap:4px}\n.pbat i{display:block;width:17px;height:9px;border:1px solid #e9edef;border-radius:2px;position:relative}\n.pbat i::after{content:'';position:absolute;inset:1.5px;right:5px;background:#e9edef;border-radius:1px}\n.phead{height:50px;flex:0 0 auto;background:#1f2c33;display:flex;align-items:center;gap:8px;padding:0 10px}\n.phead .bk{width:20px;height:20px;color:#e9edef;flex:0 0 auto}\n.phead .av{width:32px;height:32px}\n.pi{flex:1;min-width:0;line-height:1.2}\n.pi b{display:block;font-size:14px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.pi span{display:block;font-size:11px;color:#8696a0}\n.pi span.act{color:#00a884}\n.pact{display:flex;gap:14px;color:#aebac1;flex:0 0 auto}\n.pact svg{width:19px;height:19px}\n.pthread{flex:1;overflow-y:auto;padding:8px 9px;background-color:#0b141a;background-image:var(--wp);background-size:104px}\n.pcomp{flex:0 0 auto;background:#1f2c33;padding:7px 8px;display:flex;align-items:center;gap:7px}\n.pin{flex:1;background:#2a3942;border-radius:18px;min-height:33px;display:flex;align-items:center;padding:0 11px;gap:7px;color:#8696a0;overflow:hidden}\n.pin svg{width:16px;height:16px;flex:0 0 auto}\n.ptx{flex:1;font-size:12.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.ptx.has{color:#e9edef}\n.pmic{width:33px;height:33px;border-radius:50%;background:#00a884;color:#0b141a;display:grid;place-items:center;flex:0 0 auto}\n.pmic svg{width:17px;height:17px}\n\n/* la misma burbuja, a escala móvil */\n.pthread .bwrap{max-width:82%}\n.pthread .txt{font-size:12.4px;padding-right:50px}\n.pthread .meta{font-size:9.6px;right:7px;bottom:4px}\n.pthread .tk{width:14px;height:10px}\n.pthread .img{width:186px;height:126px}\n.pthread .stk{width:104px;height:104px}\n.pthread .vid video{width:186px;height:126px}\n.pthread .docrow{min-width:0;padding:8px;gap:7px}\n.pthread .dic{width:22px;height:22px}\n.pthread .dmeta b{font-size:11.6px}\n.pthread .dmeta i{font-size:10px}\n.pthread .ddl{width:22px;height:22px}\n.pthread .aud{min-width:0;gap:6px}\n.pthread .apl{width:24px;height:24px}\n.pthread .abars{height:19px;gap:1.4px}\n.pthread .atime{font-size:9.6px;padding-right:46px}\n.pthread .enc{font-size:9.8px;padding:6px 9px;margin-bottom:9px}\n.pthread .day span{font-size:10px;padding:4px 9px}\n.pthread .empty{padding:30px 10px;gap:5px}\n.pthread .eico{width:34px;height:34px}\n.pthread .empty b{font-size:13.5px}\n.pthread .empty span{font-size:11.2px}\n.pthread .bmb,.pthread .bmenu{display:none}\n.pthread .quote{padding:3px 6px}\n.pthread .qa{font-size:10.6px}\n.pthread .qt{font-size:11px}\n.pthread .reacts{font-size:10px;bottom:-9px}\n.pthread .typing{padding:9px 11px}\n.pthread .typing i{width:5.5px;height:5.5px}\n.pthread .syschip{font-size:10.6px;padding:5px 9px}\n`,\n\n  render(d2) {\n    const st = d2.state\n    const msgs = st.msgs || []\n    const name = d2.param('bellaName') || 'Bella'\n    const avatar = d2.param('bellaAvatar') || ''\n    const phone = d2.param('bellaPhone') || ''\n    const avCss = avatar ? 'background-image:url(' + esc(avatar) + ')' : ''\n    const status = st.bellaTyping ? T.typing : (st.presence === 'online' ? T.online : (st.lastSeen || T.online))\n    const actCls = st.bellaTyping || st.presence === 'online' ? ' act' : ''\n    const last = msgs.length ? msgs[msgs.length - 1] : null\n    const preview = last ? (last.mine ? T.you + ': ' : '') + (last.kind === 'text' || last.kind === 'system' ? (last.body || '') : (KL[last.kind] || '') + (last.caption ? ' · ' + last.caption : '')) : 'Toca para empezar a chatear'\n    const thread = threadHTML(msgs, st, name)\n    const overlay = st.emojiOpen || st.attachOpen || st.menuFor\n    const clock = hhmm(Date.now())\n\n    return '<div class=\"root\">' +\n\n      '<div class=\"web\">' +\n        '<aside class=\"side\">' +\n          '<div class=\"shead\"><div class=\"av meav\"></div><div class=\"sp\"></div>' +\n            '<button class=\"ib\">' + IC.newchat + '</button><button class=\"ib\">' + IC.menu + '</button></div>' +\n          '<div class=\"srow\"><div class=\"sbox\">' + IC.search + '<span>' + T.searchPh + '</span></div></div>' +\n          '<div class=\"tabs\">' + T.tabs.map((t, i) => '<span class=\"tab' + (i === 0 ? ' on' : '') + '\">' + t + '</span>').join('') + '</div>' +\n          '<div class=\"convs\"><div class=\"conv\"><div class=\"av\" style=\"' + avCss + '\"></div>' +\n            '<div class=\"cmid\"><div class=\"cn\"><b>' + esc(name) + '</b><i>' + (last ? hhmm(last.ts) : clock) + '</i></div>' +\n            '<div class=\"cp\">' + esc(preview) + '</div></div></div></div>' +\n        '</aside>' +\n\n        '<section class=\"chat\">' +\n          '<div class=\"chead\"><div class=\"av\" style=\"' + avCss + '\"></div>' +\n            '<div class=\"ci\"><b>' + esc(name) + '</b><span class=\"' + actCls.trim() + '\">' + esc(status) + '</span></div>' +\n            '<button class=\"ib\">' + IC.search + '</button><button class=\"ib\">' + IC.menu + '</button></div>' +\n\n          '<div class=\"thread\" id=\"thread\">' + thread + '</div>' +\n\n          (st.replyTo ? '<div class=\"replybar\">' + quoteHTML(st.replyTo) + '<button class=\"ib\" id=\"reply-x\">' + IC.x + '</button></div>' : '') +\n\n          '<div class=\"composer\">' +\n            (st.recording\n              ? '<button class=\"ib\" id=\"rec-cancel\" title=\"Cancelar\">' + IC.trash + '</button>' +\n                '<div class=\"recbar\"><span class=\"recdot\"></span><span class=\"rectime\" id=\"rectime\">0:00</span><span class=\"rechint\">' + T.recHint + '</span></div>' +\n                '<button class=\"ib sendbtn on\" id=\"rec-send\">' + IC.send + '</button>'\n              : '<button class=\"ib\" id=\"btn-emoji\">' + IC.emoji + '</button>' +\n                '<button class=\"ib\" id=\"btn-attach\">' + IC.clip + '</button>' +\n                '<div class=\"cinwrap\"><textarea class=\"cin\" id=\"cin\" rows=\"1\" placeholder=\"' + T.composerPh + '\"></textarea></div>' +\n                '<button class=\"ib sendbtn\" id=\"btn-send\" style=\"display:none\">' + IC.send + '</button>' +\n                '<button class=\"ib\" id=\"btn-mic\">' + IC.mic + '</button>') +\n\n            (st.emojiOpen ? '<div class=\"pop emojip\"><div class=\"egrid\">' + EMO.map((e) => '<button class=\"ec\" data-emo=\"' + e + '\">' + e + '</button>').join('') + '</div></div>' : '') +\n            (st.attachOpen ? '<div class=\"pop attp\"><button class=\"mitem\" data-att=\"media\">' + IC.image + '<span>' + T.attPhotos + '</span></button><button class=\"mitem\" data-att=\"doc\">' + IC.doc + '<span>' + T.attDoc + '</span></button></div>' : '') +\n          '</div>' +\n\n          (overlay ? '<div class=\"scrim\" id=\"scrim\"></div>' : '') +\n          (d2.param('debugEnabled') !== false && !st.debugOpen ? '<button class=\"dbgbtn\" id=\"dbg-open\" title=\"Inspector\">' + IC.bug + '</button>' : '') +\n        '</section>' +\n      '</div>' +\n\n      '<div class=\"phone\"><div class=\"frame\">' +\n        '<div class=\"pstat\"><span>' + clock + '</span><span class=\"pbat\">5G<i></i></span></div>' +\n        '<div class=\"phead\"><span class=\"bk\">' + IC.back + '</span><div class=\"av\" style=\"' + avCss + '\"></div>' +\n          '<div class=\"pi\"><b>' + esc(name) + '</b><span class=\"' + actCls.trim() + '\">' + esc(status) + '</span></div>' +\n          '<div class=\"pact\">' + IC.video + IC.phone + '</div></div>' +\n        '<div class=\"pthread\" id=\"pthread\">' + thread + '</div>' +\n        '<div class=\"pcomp\"><div class=\"pin\">' + IC.emoji + '<span class=\"ptx\" id=\"ptx\">' + T.composerPh + '</span>' + IC.clip + '</div>' +\n          '<span class=\"pmic\">' + IC.mic + '</span></div>' +\n      '</div></div>' +\n\n      (st.debugOpen ? debugHTML(st) : '') +\n      (st.lightbox ? '<div class=\"lightbox\" id=\"lightbox\"><img src=\"' + esc(st.lightbox) + '\"><button class=\"ib lbx\">' + IC.x + '</button></div>' : '') +\n      '<input type=\"file\" id=\"fin\" style=\"display:none\">' +\n    '</div>'\n  },\n\n  mounted(d2, root) {\n    if (!d2.state.msgs) d2.setState({ msgs: [], log: [], presence: 'idle', lastSeen: 'últ. vez hoy a las ' + hhmm(Date.now()) })\n    ensureAudio(d2)\n\n    d2.on('#cin', 'input', (e, el) => { draft = el.value; syncDraft(d2) })\n    d2.on('#cin', 'keydown', (e, el) => {\n      if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault(); draft = el.value; sendText(d2) }\n    })\n    d2.on('#btn-send', 'click', () => sendText(d2))\n    d2.on('#btn-emoji', 'click', () => { d2.state.attachOpen = false; d2.state.emojiOpen = !d2.state.emojiOpen })\n    d2.on('#btn-attach', 'click', () => { d2.state.emojiOpen = false; d2.state.attachOpen = !d2.state.attachOpen })\n    d2.on('.ec', 'click', (e, el) => {\n      const ta = d2.$('#cin')\n      draft = (ta ? ta.value : draft) + el.dataset.emo\n      if (ta) { ta.value = draft; ta.focus() }\n      syncDraft(d2)\n    })\n    d2.on('#scrim', 'click', () => d2.setState({ emojiOpen: false, attachOpen: false, menuFor: '' }))\n\n    d2.on('.mitem[data-att]', 'click', (e, el) => {\n      const fin = d2.$('#fin')\n      if (!fin) return\n      fin.accept = el.dataset.att === 'media' ? 'image/*,video/*' : ''\n      d2.state.attachOpen = false\n      fin.click()\n    })\n    d2.on('#fin', 'change', (e, el) => { const f = el.files && el.files[0]; el.value = ''; if (f) sendFile(d2, f) })\n\n    d2.on('#btn-mic', 'click', () => startRec(d2))\n    d2.on('#rec-send', 'click', () => stopRec(d2, true))\n    d2.on('#rec-cancel', 'click', () => stopRec(d2, false))\n\n    d2.on('.bmb', 'click', (e, el) => { e.stopPropagation(); d2.setState({ emojiOpen: false, attachOpen: false, menuFor: d2.state.menuFor === el.dataset.menu ? '' : el.dataset.menu }) })\n    d2.on('.qr', 'click', (e, el) => {\n      const id = el.dataset.react, emo = el.dataset.emo\n      d2.state.msgs = (d2.state.msgs || []).map((m) => {\n        if (m.id !== id) return m\n        const r = Object.assign({}, m.reactions || {})\n        if (r[emo]) delete r[emo]; else r[emo] = 1\n        return Object.assign({}, m, { reactions: r })\n      })\n      d2.state.menuFor = ''\n    })\n    d2.on('.mitem[data-replyto]', 'click', (e, el) => {\n      const m = (d2.state.msgs || []).find((x) => x.id === el.dataset.replyto)\n      if (!m) return\n      d2.setState({\n        menuFor: '',\n        replyTo: { id: m.id, mine: m.mine, author: d2.param('bellaName') || 'Bella', kind: m.kind, preview: (m.body || m.caption || m.fname || '').slice(0, 90) }\n      })\n      const ta = d2.$('#cin'); if (ta) ta.focus()\n    })\n    d2.on('#reply-x', 'click', () => { d2.state.replyTo = null })\n\n    d2.on('.img', 'click', (e, el) => { if (el.dataset.open) d2.state.lightbox = el.dataset.open })\n    d2.on('#lightbox', 'click', () => { d2.state.lightbox = '' })\n\n    d2.on('.apl', 'click', (e, el) => {\n      const id = el.dataset.play, src = el.dataset.src\n      if (!ensureAudio(d2)) return\n      if (d2.state.playingId === id) { audioEl.pause(); d2.state.playingId = ''; return }\n      if (audioEl.src !== src) { audioEl.src = src; audioEl.currentTime = 0 }\n      audioEl.play().catch(() => {})\n      d2.state.playingId = id\n    })\n    d2.on('.abars', 'click', (e, el) => {\n      if (!audioEl || d2.state.playingId !== el.dataset.seek || !audioEl.duration) return\n      const r = el.getBoundingClientRect()\n      audioEl.currentTime = Math.max(0, Math.min(1, (e.clientX - r.left) / r.width)) * audioEl.duration\n      paintAudio(d2)\n    })\n\n    d2.on('#dbg-open', 'click', () => { d2.state.debugOpen = true })\n    d2.on('#dbg-close', 'click', () => { d2.state.debugOpen = false })\n\n    d2.on('#thread', 'scroll', (e, el) => {\n      stick = el.scrollHeight - el.scrollTop - el.clientHeight < 60\n      mirrorScroll(d2)\n    })\n\n    d2.onUnmount(() => {\n      try { if (audioEl) audioEl.pause() } catch (x) {}\n      if (recTimer) clearInterval(recTimer)\n      try { if (rec && rec.state === 'recording') rec.stream.getTracks().forEach((t) => t.stop()) } catch (x) {}\n      blobs.forEach((u) => { try { URL.revokeObjectURL(u) } catch (x) {} })\n      blobs = []\n    })\n  },\n\n  updated(d2) {\n    const ta = d2.$('#cin')\n    if (ta && draft && !ta.value) ta.value = draft\n    syncDraft(d2)\n    paintAudio(d2)\n    const th = d2.$('#thread'), pt = d2.$('#pthread')\n    if (stick) {\n      if (th) th.scrollTop = th.scrollHeight\n      if (pt) pt.scrollTop = pt.scrollHeight\n    } else {\n      mirrorScroll(d2)\n    }\n  }\n}\n\n/* ---------------------------------- inspector ---------------------------------- */\nfunction debugHTML(st) {\n  const log = st.log || []\n  const body = !log.length\n    ? '<div class=\"dempty\">' + T.dbgEmpty + '</div>'\n    : log.slice().reverse().map((e) =>\n        '<div class=\"dturn\"><div class=\"dtop\"><span class=\"' + (e.error ? 'bad' : 'ok') + '\">' + (e.error ? 'ERROR' : 'OK') + '</span><span>' + hhmm(e.t) + '</span><span class=\"ms\">' + e.ms + ' ms</span></div>' +\n        '<div class=\"dlab\">Petición</div><div class=\"dpre\">' + esc(JSON.stringify(e.request, null, 2)) + '</div>' +\n        (e.error\n          ? '<div class=\"dlab\">Error</div><div class=\"dpre err\">' + esc(e.error) + '</div>'\n          : '<div class=\"dlab\">Respuesta</div><div class=\"dpre\">' + esc(JSON.stringify(e.response, null, 2)) + '</div>') +\n        '</div>').join('')\n  return '<div class=\"dbg\"><div class=\"dhead\">' + IC.bug + '<b>Inspector</b><button class=\"ib\" id=\"dbg-close\">' + IC.x + '</button></div><div class=\"dbody\">' + body + '</div></div>'\n}\n\n/* ---------------------------------- helpers de DOM ---------------------------------- */\nfunction ensureAudio(d2) {\n  if (audioEl) return audioEl\n  if (typeof Audio === 'undefined') return null\n  audioEl = new Audio()\n  audioEl.addEventListener('timeupdate', () => paintAudio(d2))\n  audioEl.addEventListener('ended', () => { d2.state.playingId = ''; paintAudio(d2) })\n  return audioEl\n}\n\nfunction syncDraft(d2) {\n  const has = !!draft.trim()\n  const px = d2.$('#ptx')\n  if (px) { px.textContent = has ? draft : T.composerPh; px.className = 'ptx' + (has ? ' has' : '') }\n  const sb = d2.$('#btn-send'), mb = d2.$('#btn-mic')\n  if (sb) sb.style.display = has ? '' : 'none'\n  if (mb) mb.style.display = has ? 'none' : ''\n}\n\nfunction mirrorScroll(d2) {\n  const th = d2.$('#thread'), pt = d2.$('#pthread')\n  if (!th || !pt) return\n  const den = th.scrollHeight - th.clientHeight\n  const r = den > 0 ? th.scrollTop / den : 1\n  pt.scrollTop = r * Math.max(0, pt.scrollHeight - pt.clientHeight)\n}\n\nfunction paintAudio(d2) {\n  const id = d2.state.playingId\n  d2.$$('.afill').forEach((el) => { if (el.dataset.fill !== id) el.style.width = '0' })\n  d2.$$('.apl').forEach((el) => { el.innerHTML = el.dataset.play === id ? IC.pause : IC.play })\n  if (!id || !audioEl) return\n  const dur = audioEl.duration && isFinite(audioEl.duration) ? audioEl.duration : 0\n  const pct = dur ? (audioEl.currentTime / dur) * 100 : 0\n  d2.$$('.afill').forEach((el) => { if (el.dataset.fill === id) el.style.width = pct + '%' })\n  d2.$$('.atime').forEach((el) => { if (el.dataset.time === id) el.textContent = mmss(audioEl.currentTime || 0) })\n}\n\n/* ---------------------------------- envío ---------------------------------- */\nfunction pushMsg(d2, m) { d2.state.msgs = (d2.state.msgs || []).concat([m]); stick = true }\nfunction setStatus(d2, id, s) {\n  d2.state.msgs = (d2.state.msgs || []).map((m) => (m.id === id && m.status !== 'read' ? Object.assign({}, m, { status: s }) : m))\n}\n\nfunction sendText(d2) {\n  const ta = d2.$('#cin')\n  const txt = ((ta ? ta.value : draft) || '').trim()\n  if (!txt || d2.state.sending) return\n  if (ta) ta.value = ''\n  draft = ''\n  syncDraft(d2)\n  dispatch(d2, { kind: 'text', body: txt })\n}\n\nfunction sendFile(d2, f) {\n  const url = URL.createObjectURL(f)\n  blobs.push(url)\n  const mime = f.type || ''\n  const kind = mime.indexOf('image/') === 0 ? 'image' : (mime.indexOf('video/') === 0 ? 'video' : (mime.indexOf('audio/') === 0 ? 'audio' : 'document'))\n  const kb = f.size < 1048576 ? Math.max(1, Math.round(f.size / 1024)) + ' kB' : (f.size / 1048576).toFixed(1) + ' MB'\n  const ta = d2.$('#cin')\n  const cap = ((ta ? ta.value : draft) || '').trim()\n  if (ta) ta.value = ''\n  draft = ''\n  syncDraft(d2)\n  dispatch(d2, { kind: kind, caption: cap, media: url, fname: f.name, fsize: kb + ' · ' + (f.name.split('.').pop() || '').toUpperCase(), durSec: 0 })\n}\n\nfunction dispatch(d2, part) {\n  const prev = d2.state.msgs || []\n  const history = prev.filter((m) => m.kind !== 'system').slice(-20).map((m) => ({\n    from: m.mine ? 'user' : 'bella', kind: m.kind, text: m.body || m.caption || m.fname || ''\n  }))\n  const m = Object.assign({\n    id: uid('u'), mine: true, kind: 'text', body: '', caption: '', media: '', fname: '', fsize: '', durSec: 0,\n    ts: Date.now(), status: 'pending', replyTo: d2.state.replyTo || null, reactions: {}\n  }, part)\n  pushMsg(d2, m)\n  d2.setState({ replyTo: null, sending: true, presence: 'online' })\n  setTimeout(() => setStatus(d2, m.id, 'sent'), 320)\n  setTimeout(() => setStatus(d2, m.id, 'delivered'), 820)\n  askBella(d2, m, history)\n}\n\nasync function askBella(d2, m, history) {\n  const request = {\n    sessionId: SID,\n    message: { kind: m.kind, text: m.body || m.caption || '', fileName: m.fname || '', durSec: m.durSec || 0 },\n    history: history\n  }\n  const t0 = Date.now()\n  let res = null, err = null\n  d2.state.bellaTyping = true\n  try {\n    res = await d2.rush(d2.param('api')).invoke(request, { headers: { Authorization: d2.param('apiKey') || '' } })\n  } catch (e) {\n    err = String((e && e.message) || e)\n  }\n  const ms = Date.now() - t0\n  d2.state.log = (d2.state.log || []).concat([{ t: Date.now(), ms: ms, request: request, response: res, error: err }]).slice(-25)\n  setStatus(d2, m.id, 'read')\n\n  const replies = (res && (res.replies || (res.data && res.data.replies))) || null\n  if (!replies || !replies.length) {\n    d2.state.bellaTyping = false\n    pushMsg(d2, { id: uid('e'), mine: false, kind: 'system', body: T.noReply + (err ? ' (' + err + ')' : ''), ts: Date.now(), reactions: {} })\n    d2.setState({ sending: false, presence: 'idle', lastSeen: 'últ. vez hoy a las ' + hhmm(Date.now()) })\n    return\n  }\n  for (let i = 0; i < replies.length; i++) {\n    const r = replies[i]\n    d2.state.bellaTyping = true\n    await wait(Math.max(400, Math.min(3000, r.delayMs || 1100)))\n    d2.state.bellaTyping = false\n    const kind = r.kind || 'text'\n    pushMsg(d2, {\n      id: uid('b'), mine: false, kind: kind,\n      body: kind === 'text' ? (r.text || '') : '',\n      caption: kind === 'text' ? '' : (r.text || ''),\n      media: r.media || '', fname: r.fileName || '', fsize: r.fileSize || '',\n      durSec: r.durSec || 0, ts: Date.now(), status: '', replyTo: null, reactions: {}\n    })\n  }\n  d2.setState({ sending: false, presence: 'idle', lastSeen: 'últ. vez hoy a las ' + hhmm(Date.now()) })\n}\n\n/* ---------------------------------- grabación de voz ---------------------------------- */\nasync function startRec(d2) {\n  if (d2.state.recording) return\n  try {\n    const stream = await navigator.mediaDevices.getUserMedia({ audio: true })\n    recChunks = []\n    rec = new MediaRecorder(stream)\n    rec.ondataavailable = (e) => { if (e.data && e.data.size) recChunks.push(e.data) }\n    rec.start()\n    recStart = Date.now()\n    d2.state.recording = true\n    recTimer = setInterval(() => {\n      const el = d2.$('#rectime')\n      if (el) el.textContent = mmss((Date.now() - recStart) / 1000)\n    }, 250)\n  } catch (e) {\n    pushMsg(d2, { id: uid('e'), mine: false, kind: 'system', body: 'No se pudo acceder al micrófono: ' + String((e && e.message) || e), ts: Date.now(), reactions: {} })\n  }\n}\n\nfunction stopRec(d2, keep) {\n  if (!rec || rec.state !== 'recording') { d2.state.recording = false; rec = null; return }\n  const secs = Math.max(1, Math.round((Date.now() - recStart) / 1000))\n  if (recTimer) { clearInterval(recTimer); recTimer = null }\n  rec.onstop = () => {\n    try { rec.stream.getTracks().forEach((t) => t.stop()) } catch (x) {}\n    if (keep && recChunks.length) {\n      const blob = new Blob(recChunks, { type: rec.mimeType || 'audio/webm' })\n      const url = URL.createObjectURL(blob)\n      blobs.push(url)\n      dispatch(d2, { kind: 'audio', media: url, durSec: secs, fname: 'nota-de-voz.webm' })\n    }\n    rec = null\n    recChunks = []\n  }\n  d2.state.recording = false\n  try { rec.stop() } catch (x) { rec = null }\n}\n"}},"api":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"api"}}}},"apiKey":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"apiKey"}}}},"bellaAvatar":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"bellaAvatar"}}}},"bellaName":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"bellaName"}}}},"bellaPhone":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"bellaPhone"}}}},"debugEnabled":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"debugEnabled"}}}}}}}}}},{"_id":"5ecd05ded68ce41360f74b43","component":"data2-core-types@Component","params":{"extendable":{"placeholder":"children"},"component":"Block","package":"data2-core-primitives"}},{"_id":"5f494791a575399a45020f87","component":"data2-core-types@Component","params":{"definition":{"preventEvaluation":true,"component":"data2-core-types@Definition","params":{"def":{"component":"html@input","params":{"style":{"width":"100%","height":"100%","boxSizing":"border-box","background":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":"checkbox"}}],"then":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"comparisonSubject":true}}],"then":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"checkboxFill"}}}},"rgba(0,118,255,1)"]},"component":"data2-core-logical-operators@Or"},"else":{"params":{"content":"none"},"component":"data2-core-primitives@String"}}},"else":{"params":{"content":"none"},"component":"data2-core-primitives@String"}}},"color":{"params":{"reference":"super.textColor"},"component":"data2-core-types@Reference"},"border":"none","outline":"none","appearance":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"orient","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":"vertical"}}],"then":"slider-vertical","else":"none"}},"cursor":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"super.cursor"}}}},{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"disabled","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":true}}],"then":{"component":"data2-core-primitives@String","params":{"content":"not-allowed"}},"else":{"component":"data2-core-primitives@String","params":{"content":"auto"}}}}]},"component":"data2-core-logical-operators@Or"},"fontWeight":{"component":"data2-core-primitives@String","params":{"content":"inherit"}},"paddingLeft":{"component":"data2-core-flow@If","params":{"compare":[{"params":{"comparisonSubject":{"params":{},"component":"data2-core-primitives@Undefined"},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"padding.left"}}}}},"component":"data2-core-comparison-operators@Different"}],"then":{"params":{"portions":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"padding.left"}}}},{"component":"data2-core-primitives@String","params":{"content":"px"}}]},"component":"data2-core-functions@StringConcat"}}},"paddingRight":{"component":"data2-core-flow@If","params":{"compare":[{"params":{"comparisonSubject":{"params":{},"component":"data2-core-primitives@Undefined"},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"padding.right"}}}}},"component":"data2-core-comparison-operators@Different"}],"then":{"params":{"portions":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"padding.right"}}}},{"component":"data2-core-primitives@String","params":{"content":"px"}}]},"component":"data2-core-functions@StringConcat"}}},"caretColor":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"caretColor"}}}},"textAlign":{"params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"super.textFormat.textAlign"}}},"component":"data2-core-types@Reference"}},"tabIndex":{"component":"data2-core-types@Reference","params":{"reference":"tabIndex","source":"VIRTUAL_COMPONENT_PARAMS"}},"step":{"component":"data2-core-types@Reference","params":{"reference":"step","source":"VIRTUAL_COMPONENT_PARAMS"}},"min":{"component":"data2-core-types@Reference","params":{"reference":"min","source":"VIRTUAL_COMPONENT_PARAMS"}},"max":{"component":"data2-core-types@Reference","params":{"reference":"max","source":"VIRTUAL_COMPONENT_PARAMS"}},"maxLength":{"params":{"then":{"params":{},"component":"data2-core-primitives@Undefined"},"compare":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"maxLength","source":"VIRTUAL_COMPONENT_PARAMS"}},"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":""}}},"component":"data2-core-comparison-operators@Equal"}],"else":{"component":"data2-core-types@Reference","params":{"reference":"maxLength","source":"VIRTUAL_COMPONENT_PARAMS"}}},"component":"data2-core-flow@If"},"orient":{"component":"data2-core-types@Reference","params":{"reference":"orient","source":"VIRTUAL_COMPONENT_PARAMS"}},"type":{"component":"data2-core-types@Reference","params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"}},"placeholder":{"component":"data2-core-logical-operators@Or","params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":"placeholder","source":"VIRTUAL_COMPONENT_PARAMS"}},{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}}]}},"value":{"params":{"expression":{"params":{"content":true},"component":"data2-core-primitives@Boolean"},"defaultCase":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}},"mask":{"component":"data2-core-types@Reference","params":{"reference":"mask","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"cases":[{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":"date"}},"value":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"format":"YYYY-MM-DD"}}}},{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"month"}}}},"value":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"format":{"component":"data2-core-primitives@String","params":{"content":"YYYY-MM"}}}}}},{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"datetime-local"}}}},"value":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"format":{"component":"data2-core-primitives@String","params":{"content":"YYYY-MM-DDTHH:mm"}}}}}}]},"component":"data2-core-flow@Switch"},"onChange":{"component":"data2-core-types@DataLinkSetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}},"recordUpsert":{"component":"data2-core-types@Reference","params":{"reference":"recordUpsert","source":"VIRTUAL_COMPONENT_PARAMS"}},"onChange":{"component":"data2-core-types@Reference","params":{"reference":"onChange","source":"VIRTUAL_COMPONENT_PARAMS"}},"mask":{"component":"data2-core-types@Reference","params":{"reference":"mask","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"defaultChecked":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":"checkbox"}}],"then":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"else":""}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field"}},"opacity":{"component":"data2-core-flow@If","params":{"compare":[{"params":{"reference":"disabled","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"}],"then":0.38,"else":1}},"disabled":{"params":{"reference":"disabled","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"autoComplete":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"builder"}},"comparisonSubject":true}}],"then":"new-password","else":{"params":{"compare":{"params":{"comparisonSubject":{"params":{"content":true},"component":"data2-core-primitives@Boolean"},"subject":{"params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"autoComplete"}}},"component":"data2-core-types@Reference"}},"component":"data2-core-comparison-operators@Identical"},"else":{"params":{"components":[{"params":{"reference":"autoComplete","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},{"component":"data2-core-primitives@String","params":{"content":"off"}}]},"component":"data2-core-logical-operators@Or"}},"component":"data2-core-flow@If"}}},"data-lpignore":{"component":"data2-core-flow@If","params":{"compare":[{"params":{"reference":"autoComplete","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"}],"then":"","else":"true"}},"onFocus":{"component":"data2-core-types@Reference","params":{"reference":"onFocus","source":"VIRTUAL_COMPONENT_PARAMS"}},"onBlur":{"component":"data2-core-types@Reference","params":{"reference":"onBlur","source":"VIRTUAL_COMPONENT_PARAMS"}},"onKeyPress":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"onKeyPress"}}}},"autoCapitalize":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"autoCapitalize"}}}},"spellCheck":{"params":{"expression":{"params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"spellCheck"}}},"component":"data2-core-types@Reference"},"cases":[{"component":"data2-core-flow@Case","params":{"expression":{"params":{"content":true},"component":"data2-core-primitives@Boolean"},"value":{"component":"data2-core-primitives@String","params":{"content":"true"}}}},{"component":"data2-core-flow@Case","params":{"expression":{"params":{"content":false},"component":"data2-core-primitives@Boolean"},"value":{"component":"data2-core-primitives@String","params":{"content":"false"}}}}]},"component":"data2-core-flow@Switch"}}}}},"component":"DataFieldBlock","package":"data2-blocks","extends":"data2-core-primitives@Block"}},{"_id":"5ed9bed7b9e0891ce913e884","component":"data2-core-types@Component","params":{"package":"data2-core","component":"DataSource","renderable":{"dimensions":{"disabled":false,"component":"data2-core-types@Dimensions","params":{"width":1366,"exactWidth":false,"exactHeight":false,"height":768}}}}},{"_id":"5f472ae463c680de4ff296e9","component":"data2-core-types@Component","params":{"package":"data2-core","component":"Data2TableDataSource","extends":"data2-core@DataSource","renderable":{"dimensions":{"disabled":false,"component":"data2-core-types@Dimensions","params":{"width":1366,"exactWidth":false,"exactHeight":false,"height":768}}}}}]}},{"reference":"ExternalComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"_id":"5f060d9b1ca96def42f3c40a","displayName":"Builder AuthStrategy","component":"data2-core@AuthenticationStrategy","system":"5e3b796d6228227ca637d0f4","params":{"credentials":[{"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"status"}}],"verifier":{"component":"data2-core-types@DataSetReference","params":{"reference":"UsersDataSet"}},"sessionShared":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"password":{"disabled":false,"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},"email":{"disabled":false,"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},"resetPassword":{"resetEmail":{"artboard":{"params":{"preventEvaluation":true,"reference":"nR6Q9d7qdaPtZhJ28Q8Dy"},"component":"data2-core-types@ArtboardReference"}},"resetSuccessEmail":{"artboard":{"params":{"preventEvaluation":true,"reference":"yPCJBTKo8q1Mw0B_3Kpwl"},"component":"data2-core-types@ArtboardReference"}}},"session":[{"component":"data2-core-types@DataSetColumnReference","params":{"column":"name"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"status"}}],"sessionMetadata":{"params":{"actions":[{"params":{"compare":{"params":{"subject":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},{"params":{"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"active"}},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user.status"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is active user"}]},"component":"data2-core-logical-operators@And","displayName":"is active and has _id"}},"component":"data2-core-logical-operators@Not"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check $user"},{"params":{"action":{"params":{"pattern":{"component":"data2-core-primitives@String","params":{"content":"@data2.app"}},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user.email"}}}}},"component":"data2-core-functions@Includes","displayName":"isData2User"},"resultName":{"component":"data2-core-primitives@String","params":{"content":"is_data2_user"}}},"component":"data2-core-flow@Step"},{"params":{"action":{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.d2_app"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"management"}}]},"component":"data2-core-functions@Includes","displayName":"isData2App Exception"},"resultName":{"component":"data2-core-primitives@String","params":{"content":"is_data2_app_exception"}}},"component":"data2-core-flow@Step"},{"params":{"resultName":{"component":"data2-core-primitives@String","params":{"content":"has_access"}},"action":{"params":{"compare":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"is_data2_user"}}}},{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"is_data2_app_exception"}}}}]},"component":"data2-core-logical-operators@Or"},"else":{"params":{"actions":[{"params":{"actions":[{"params":{"compare":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}},"component":"data2-core-logical-operators@Not"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check $metadata.system"},{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":"filter","args":[{"_id":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}}]},"component":"data2-core-types@Interaction"},{"params":{"compare":{"params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records.length"}}}}},"component":"data2-core-logical-operators@Not","displayName":"systems not found"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check system found"},{"params":{"actions":[{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":"filter","args":[{"user":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},"organization":{"component":"data2-core-types@Getter","params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"cursor.current.organization._id"}}}}}]},"component":"data2-core-types@Interaction"},{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":"filter","args":[{"user":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},"system":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}}]},"component":"data2-core-types@Interaction"}]},"component":"data2-core-flow@Parallel"}]},"component":"data2-core-flow@Series","displayName":"common setup"},{"params":{"then":{"params":{"content":true},"component":"data2-core-primitives@Boolean"},"else":{"params":{"content":false},"component":"data2-core-primitives@Boolean"},"compare":{"params":{"components":{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"mapper":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"system"}}],"body":{"params":{"expression":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.visibility"}}}},"defaultCase":{"params":{"content":false},"component":"data2-core-primitives@Boolean"},"cases":[{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-primitives@String","params":{"content":"public"}},"value":{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"owner"}},{"component":"data2-core-primitives@String","params":{"content":"billing-owner"}},{"component":"data2-core-primitives@String","params":{"content":"admin"}},{"component":"data2-core-primitives@String","params":{"content":"member"}}]},"component":"data2-core-functions@Includes","displayName":"has role with access"}]},"component":"data2-core-logical-operators@And","displayName":"has org member role with access"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is org member"},{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"collaborator"}}},"component":"data2-core-comparison-operators@Equal","displayName":"is collaborator"}]},"component":"data2-core-logical-operators@And","displayName":"is org member and collaborator"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is collaborator"},{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"access"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"access.system._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"has system access"}]},"component":"data2-core-logical-operators@And","displayName":"is collaborator and has system access"}]},"component":"data2-core-logical-operators@Or"}}},{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-primitives@String","params":{"content":"private"}},"value":{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"owner"}},{"component":"data2-core-primitives@String","params":{"content":"admin"}}]},"component":"data2-core-functions@Includes","displayName":"is owner/admin"}]},"component":"data2-core-logical-operators@And","displayName":"has org member role with access"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is owner/admin"},{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is org member"},{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"access"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"access.system._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"has system access"}]},"component":"data2-core-logical-operators@And","displayName":"is member and has system access"}]},"component":"data2-core-logical-operators@Or","displayName":"is owner/admin or has system access"}}}]},"component":"data2-core-flow@Switch"}}}},"component":"data2-core-functions@ArrayMap"}},"component":"data2-core-logical-operators@And","displayName":"has org member for all systems in request"}},"component":"data2-core-flow@If"}]},"component":"data2-core-flow@Series"},"then":{"params":{"content":true},"component":"data2-core-primitives@Boolean"}},"component":"data2-core-flow@If"}},"component":"data2-core-flow@Step"},{"params":{"then":{"system":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}},"else":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"},"compare":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"has_access"}}}}},"component":"data2-core-flow@If"}]},"component":"data2-core-flow@Series"},"sessionExpiresIn":{"component":"data2-core-primitives@Number","params":{"content":604800}},"sessionRenewal":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"identityProviders":[{"provider":{"component":"data2-core-primitives@String","params":{"content":"GOOGLE"}},"clientId":{"component":"data2-core-primitives@String","params":{"content":"55470861603-22pvfc1t49lp8cjnbfk71s5ct9hp1q1v.apps.googleusercontent.com"}}}]},"reference":"Data2BuilderAuthentication","updatedAt":"2026-08-06T19:31:23.557Z"},{"_id":"5f060ee51ca96def42f3fbd1","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"UsersTableDataSource"}},"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}}},"reference":"UsersDataSet","updatedAt":"2026-03-04T21:16:40.291Z"},{"_id":"68f938cf5fb002e33752a43d","displayName":"InternalApplicationsAuthenticationStrategy","component":"data2-core@AuthenticationStrategy","system":"5e3b796d6228227ca637d0f4","params":{"resetPassword":{"resetEmail":{"artboard":{"params":{"preventEvaluation":true},"component":"data2-core-types@ArtboardReference"}},"resetSuccessEmail":{"artboard":{"params":{"preventEvaluation":true},"component":"data2-core-types@ArtboardReference"}}},"verifier":{"disabled":false,"component":"data2-core-types@DataSetReference","params":{"reference":"InternalApplicationsVerifierDataSet"}},"password":{"disabled":false,"component":"data2-core-types@DataSetColumnReference","params":{"column":"secret"}},"credentials":[{"component":"data2-core-types@FieldReference","params":{"key":"application"}},{"component":"data2-core-types@FieldReference","params":{"key":"secret"}},{"component":"data2-core-types@FieldReference","params":{"key":"status"}}],"session":[{"component":"data2-core-types@FieldReference","params":{"key":"application"}},{"component":"data2-core-types@FieldReference","params":{"key":"secret"}},{"component":"data2-core-types@FieldReference","params":{"key":"status"}}]},"reference":"InternalApplicationsAuthenticationStrategy","updatedAt":"2025-10-22T20:08:54.442Z","createdAt":"2025-10-22T20:04:31.198Z"},{"component":"data2-core@DataSet","reference":"SessionsDataSet","params":{"requiresConfirmation":false,"pk":"key","datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"data2sessionsdatasource"}}}},{"reference":"UsersTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@ServerSessionsDataSource","reference":"data2sessionsdatasource","params":{}},{"_id":"5f1600b70528b92601890f75","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ServiceComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ServiceComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:20.208Z","createdAt":"2020-07-20T20:38:15.436Z"},{"_id":"5f1602190528b92601890f7d","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":40000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentInstancesTableDataSource"}},"sort":{"_id":1},"pk":"_id","autoEdit":true,"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:07.089Z","createdAt":"2020-07-20T20:44:09.350Z"},{"_id":"5f16017f0528b92601890f7a","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"clientApplicationDomain"}}},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"FileComponentInstancesDataSet","updatedAt":"2023-08-03T16:08:18.193Z","createdAt":"2020-07-20T20:41:35.797Z"},{"_id":"5f1601990528b92601890f7b","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ApplicationsTableDataSource"}},"pk":"_id","autoEdit":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"params":{"column":"_id"},"component":"data2-core-types@DataSetColumnReference"}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"ApplicationsDataSet","updatedAt":"2022-12-13T21:51:13.995Z","createdAt":"2020-07-20T20:42:01.657Z"},{"_id":"5f16172a0528b92601890f85","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":10000}}},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"DataComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"DataComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:12.831Z","createdAt":"2020-07-20T22:14:02.097Z"},{"_id":"60ddc1bbda3861ca65407c5a","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"clientApplicationDomain"}}},"pagination":{"size":1},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"}},"reference":"OneFileComponentInstancesDataSet","updatedAt":"2022-02-09T19:44:38.036Z","createdAt":"2020-07-20T20:41:35.797Z"},{"_id":"63ee3d38b8c9838c62fb05fb","displayName":"DriveFileComponentInstancesDataSet","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core@Drive"}}},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"DriveFileComponentInstancesDataSet","updatedAt":"2025-12-04T21:58:32.367Z","createdAt":"2023-02-16T14:27:07.797Z"},{"reference":"ServiceComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6abbb1c040a4a31b19c33515","component":"data2-rush@HTTPListener","reference":"q_8zU5PDW0W2D9-kmlSTC","system":"6aa417957aa25eaf932ae9ef","params":{},"versioning":"disabled","bundleId":null}]}},{"reference":"ComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6abbc9494516435d442d27f2","component":"data2-core-primitives@Router","system":"6aa417957aa25eaf932ae9ef","displayName":"Bela Access Router","params":{"routerType":{"component":"data2-core-primitives@String","params":{"content":"browser"}},"routes":[{"component":"data2-core-primitives@Route","params":{"path":"","name":"Bela Chat","content":{"component":"data2-core-types@ArtboardReference","params":{"reference":"MnN8_ip2RU8GAFRCDbjrD"}},"serverSideRendering":{"component":"data2-core-primitives@Boolean","params":{"content":true}}}},{"component":"data2-core-primitives@Route","params":{"path":"/identificar","name":"Bela - Identificación","content":{"component":"data2-core-types@ArtboardReference","params":{"reference":"YBim0Cldc6ef3DOUIE1hF"}}}}]},"reference":"HrgaB41ag825Anlx7KwcO"},{"_id":"6abbb1c040a4a31b19c334f4","component":"data2-core-primitives@Artboard","system":"6aa417957aa25eaf932ae9ef","displayName":"Bela - Identificación","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Bela - Identificación"}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":480,"height":620}},"policies":[{"component":"data2-core-auth@PublicPolicy","params":{"reason":"Tela pública de identificação simples enviada no corpo do chat do bot, precisa ser acessível por visitantes anônimos."}}]},"reference":"YBim0Cldc6ef3DOUIE1hF"},{"_id":"6abbb57283fecd1f5436ea73","component":"data2-core-primitives@Artboard","system":"6aa417957aa25eaf932ae9ef","displayName":"bella-sim-main","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"bella-sim-main"}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":1440,"height":900}}},"reference":"MnN8_ip2RU8GAFRCDbjrD"},{"_id":"6abbb1c040a4a31b19c334f5","parent":"6abbb1c040a4a31b19c334f4","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"Page","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":480,"height":620}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"gradient":{"component":"data2-core-types@ColorGradient","params":{"type":"linear","angle":135,"colors":[{"component":"data2-core-types@ColorGradientStop","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FF7A00"}},"offset":"0%"}},{"component":"data2-core-types@ColorGradientStop","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#EC008C"}},"offset":"100%"}}]}}}}]}}},"reference":"cab_cFK0Qejgs73ojaR8i"},{"_id":"0ad15e77c9a410c1989a6ede","parent":"6abbb57283fecd1f5436ea73","component":"natura-hispana-bella-uruguay@bellaSim","system":"6aa417957aa25eaf932ae9ef","displayName":"Bella Sim","params":{"api":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"q_8zU5PDW0W2D9-kmlSTC"}},"apiKey":"bella-sim-2026-7c4f91ae3d02","bellaName":"Bella","bellaAvatar":"https://lucas-playground.data2.media/file/oq1LkHb7UrDWB7w4Rv_BE","bellaPhone":"+598 99 123 456","debugEnabled":true,"super":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":1440,"height":900}}}},"reference":"S5H3_T07o4RgluhLPjx-3"},{"_id":"6abbb1c040a4a31b19c334f6","parent":"6abbb1c040a4a31b19c334f5","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"IdCard","params":{"position":{"component":"data2-core-types@Position","params":{"x":40,"y":128,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":400,"height":434}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFDFB"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"shadow":{"component":"data2-core-types@Shadow","params":{"offsetY":12,"blur":32,"color":{"component":"data2-core-types@Color","params":{"rgba":"rgba(140,20,80,0.25)"}}}}},"reference":"9P2qCvZMZS-5_XjsI5FGb"},{"_id":"6abbb1c040a4a31b19c33502","parent":"6abbb1c040a4a31b19c334f5","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"Brand","params":{"position":{"component":"data2-core-types@Position","params":{"x":40,"y":56,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":400,"height":40}},"text":"natura","textColor":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}},"textSize":28,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","fontWeight":"700","letterSpacing":0.5}}},"reference":"MAioo0QS5hqr4Uh0kgXjU"},{"_id":"6abbb1c040a4a31b19c334f7","parent":"6abbb1c040a4a31b19c334f6","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"IdTitle","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":32,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":336,"height":32}},"text":"Identifícate en BELA","textColor":{"component":"data2-core-types@Color","params":{"rgba":"#2B1810"}},"textSize":24,"textFormat":{"component":"data2-core-types@TextFormat","params":{"fontWeight":"700"}}},"reference":"bF0kZ1tgsExFdatnt9Z_h"},{"_id":"6abbb1c040a4a31b19c334f8","parent":"6abbb1c040a4a31b19c334f6","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"IdCodigoLabel","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":164,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":336,"height":16}},"text":"Código","textColor":{"component":"data2-core-types@Color","params":{"rgba":"#8A7B72"}},"textSize":12,"textFormat":{"component":"data2-core-types@TextFormat","params":{"fontWeight":"600"}}},"reference":"SfyEO5gNkb0RxmMhLPmPv"},{"_id":"6abbb1c040a4a31b19c334f9","parent":"6abbb1c040a4a31b19c334f6","component":"data2-blocks@DataFieldBlock","system":"6aa417957aa25eaf932ae9ef","displayName":"IdDocumentoInput","params":{"dataset":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"field":"data.documento","type":"text","placeholder":"Ej: 4.890.123-4","padding":{"left":14,"right":14},"super":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":264,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":336,"height":44}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F7F2EE"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"10","rightTop":"10","rightBottom":"10","leftBottom":"10"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#2B1810"}}}},"reference":"qTSTui42Jdjd5E3sEvNyM"},{"_id":"6abbb1c040a4a31b19c334fa","parent":"6abbb1c040a4a31b19c334f6","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"IdPillGerente","params":{"position":{"component":"data2-core-types@Position","params":{"x":260,"y":104,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":108,"height":36}},"text":"Gerente de Zona","cursor":"pointer","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparison-operators@Equal","params":{"subject":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.selectedProfile"}}],"comparisonSubject":"Gerente de Zona"}}],"then":{"component":"data2-core-types@Color","params":{"rgba":"#EC008C"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F4EDE8"}}}}}}]}},"textColor":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparison-operators@Equal","params":{"subject":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.selectedProfile"}}],"comparisonSubject":"Gerente de Zona"}}],"then":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#8A7B72"}}}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"10","rightTop":"10","rightBottom":"10","leftBottom":"10"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontWeight":"600"}},"textSize":11,"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.selectedProfile","value":"Gerente de Zona"}}]}}},"reference":"rH1Ifkge9OKcZk3SJQ_Fh"},{"_id":"6abbb1c040a4a31b19c334fb","parent":"6abbb1c040a4a31b19c334f6","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"IdPillConsultant","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":104,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":106,"height":36}},"text":"Consultant","cursor":"pointer","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparison-operators@Equal","params":{"subject":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.selectedProfile"}}],"comparisonSubject":"Consultant"}}],"then":{"component":"data2-core-types@Color","params":{"rgba":"#EC008C"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F4EDE8"}}}}}}]}},"textColor":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparison-operators@Equal","params":{"subject":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.selectedProfile"}}],"comparisonSubject":"Consultant"}}],"then":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#8A7B72"}}}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"10","rightTop":"10","rightBottom":"10","leftBottom":"10"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontWeight":"600"}},"textSize":12,"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.selectedProfile","value":"Consultant"}}]}}},"reference":"mT7TA_UTAmjEFCjs9RMJQ"},{"_id":"6abbb1c040a4a31b19c334fc","parent":"6abbb1c040a4a31b19c334f6","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"IdSubtitle","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":68,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":336,"height":20}},"text":"Confirmá quién sos para continuar en el chat","textColor":{"component":"data2-core-types@Color","params":{"rgba":"#8A7B72"}},"textSize":13},"reference":"ZcJy0SZfiJrvTi-ILi_UI"},{"_id":"6abbb1c040a4a31b19c334fd","parent":"6abbb1c040a4a31b19c334f6","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"IdResultText","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":316,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":336,"height":28}},"text":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.resultMsg"}},"textColor":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.success"}}],"then":{"component":"data2-core-types@Color","params":{"rgba":"#0F9D58"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#D6336C"}}}},"textSize":12},"reference":"C873E0OMi4biMbP7Keuq4"},{"_id":"6abbb1c040a4a31b19c334fe","parent":"6abbb1c040a4a31b19c334f6","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"IdSubmitBtn","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":354,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":336,"height":48}},"text":"Identificarme","cursor":"pointer","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"gradient":{"component":"data2-core-types@ColorGradient","params":{"type":"linear","angle":135,"colors":[{"component":"data2-core-types@ColorGradientStop","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FF7A00"}},"offset":"0%"}},{"component":"data2-core-types@ColorGradientStop","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#EC008C"}},"offset":"100%"}}]}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"12","rightTop":"12","rightBottom":"12","leftBottom":"12"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontWeight":"700"}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.selectedProfile"}},"resultName":"profile"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.codigo"}},"resultName":"codigo"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.documento"}},"resultName":"documento"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"HrgaB41ag825Anlx7KwcOInterface"}},"prop":"routeParams.query.session"}},"resultName":"sessionId"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"profile"}},"comparisonSubject":"Consultant"}},"then":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"sFd2iZ0cbR13MyhlT01UA"}},"prop":"find","args":[{"codigo":{"component":"data2-core-types@Reference","params":{"reference":"codigo"}},"documento_identidad":{"component":"data2-core-types@Reference","params":{"reference":"documento"}},"$limit":1}]}},"else":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"profile"}},"comparisonSubject":"Gerente de Zona"}},"then":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"UGbxRefCYp5oBYiwc50EA"}},"prop":"find","args":[{"codigo":{"component":"data2-core-types@Reference","params":{"reference":"codigo"}},"documento_identidad":{"component":"data2-core-types@Reference","params":{"reference":"documento"}},"$limit":1}]}},"else":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"25llmLWKKevgtY-FoiQ7M"}},"prop":"find","args":[{"codigo":{"component":"data2-core-types@Reference","params":{"reference":"codigo"}},"documento_identidad":{"component":"data2-core-types@Reference","params":{"reference":"documento"}},"$limit":1}]}}}}}},"resultName":"found"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Reference","params":{"reference":"found.data.0"}},"resultName":"record"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-functions@IsNil","params":{"value":{"component":"data2-core-types@Reference","params":{"reference":"record"}}}}}},"resultName":"hasMatch"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"hasMatch"}},"then":{"component":"data2-core-types@Reference","params":{"reference":"record.nombre"}},"else":""}},"resultName":"nombre"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-logical-operators@And","params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":"hasMatch"}},{"component":"data2-core-types@Reference","params":{"reference":"sessionId"}}]}},"then":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"cXzdwDB8hZ0DHsOxB6KN0"}},"prop":"saveRecord","args":[{"session_id":{"component":"data2-core-types@Reference","params":{"reference":"sessionId"}},"perfil":{"component":"data2-core-types@Reference","params":{"reference":"profile"}},"codigo":{"component":"data2-core-types@Reference","params":{"reference":"codigo"}},"nombre":{"component":"data2-core-types@Reference","params":{"reference":"nombre"}},"identified_at":{"component":"data2-core-functions@DateNow","params":{}}}]}},"else":""}},"resultName":"saved"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.resultMsg","value":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"hasMatch"}},"then":{"component":"data2-core-functions@StringConcat","params":{"portions":["","Listo, ",{"component":"data2-core-types@Reference","params":{"reference":"nombre"}},"! Identificacion confirmada. Ya podes volver al chat."]}},"else":"No encontramos ese codigo y documento. Verifica los datos e intenta de nuevo."}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.success","value":{"component":"data2-core-types@Reference","params":{"reference":"hasMatch"}}}}]}}},"reference":"vzkf_Nr7kE2i_LfKRd2Cc"},{"_id":"6abbb1c040a4a31b19c334ff","parent":"6abbb1c040a4a31b19c334f6","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"IdPillConsejera","params":{"position":{"component":"data2-core-types@Position","params":{"x":146,"y":104,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":106,"height":36}},"text":"Consejera","cursor":"pointer","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparison-operators@Equal","params":{"subject":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.selectedProfile"}}],"comparisonSubject":"Consejera"}}],"then":{"component":"data2-core-types@Color","params":{"rgba":"#EC008C"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F4EDE8"}}}}}}]}},"textColor":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparison-operators@Equal","params":{"subject":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.selectedProfile"}}],"comparisonSubject":"Consejera"}}],"then":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#8A7B72"}}}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"10","rightTop":"10","rightBottom":"10","leftBottom":"10"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontWeight":"600"}},"textSize":12,"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"prop":"data.selectedProfile","value":"Consejera"}}]}}},"reference":"MHEPBmmAbXdozuRccnI3B"},{"_id":"6abbb1c040a4a31b19c33500","parent":"6abbb1c040a4a31b19c334f6","component":"data2-blocks@DataFieldBlock","system":"6aa417957aa25eaf932ae9ef","displayName":"IdCodigoInput","params":{"dataset":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"94Endvt7RIze1su9ndpk6"}},"field":"data.codigo","placeholder":"Ej: CNS-3001","padding":{"left":14,"right":14},"super":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":184,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":336,"height":44}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F7F2EE"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"10","rightTop":"10","rightBottom":"10","leftBottom":"10"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#2B1810"}}}},"reference":"4Q--qZx1BVSEIkVDFCqpy"},{"_id":"6abbb1c040a4a31b19c33501","parent":"6abbb1c040a4a31b19c334f6","component":"data2-core-primitives@Block","system":"6aa417957aa25eaf932ae9ef","displayName":"IdDocumentoLabel","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":244,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":336,"height":16}},"text":"Documento de identidad","textColor":{"component":"data2-core-types@Color","params":{"rgba":"#8A7B72"}},"textSize":12,"textFormat":{"component":"data2-core-types@TextFormat","params":{"fontWeight":"600"}}},"reference":"yriQVp4vzSsG_jGP4S-eb"}]}},{"_id":"5fc4faeec8da12be8bf3d08a","component":"data2-core@Data2TableDataSource","system":"5e3b796d6228227ca637d0f4","params":{"paginate":{"default":1000},"super":{},"table":"fileComponentInstances","schema":[{"component":"data2-core-types@Field","params":{"key":"component","title":"Component","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"system","title":"System","component":"data2-core-primitives@ObjectId"}},{"component":"data2-core-types@Field","params":{"key":"displayName","title":"Display Name","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"params","title":"Params","component":"data2-core-primitives@Object"}},{"component":"data2-core-types@Field","params":{"key":"reference","title":"Reference","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"fileId"}},"title":"File ID","component":"data2-core-primitives@ObjectId"},"break":true}],"hooks":{"before":{"all":[{"hook":"softDelete"}],"find":[{"hook":"useCache","options":{"additionalGroupKeys":["$and.0.system","$and.1.system"],"skipCache":true}}],"create":[{"hook":"timestamp","options":{"fields":["createdAt","updatedAt"]}}],"update":[{"hook":"timestamp","options":{"fields":["updatedAt"]}}],"patch":[{"hook":"timestamp","options":{"fields":["updatedAt"]}}]},"after":{"all":[{"hook":"fileUrl","options":{"downloadField":"params.fileUrl","uploadField":"params.uploadFileUrl","enhanceSchema":false}}],"find":[{"hook":"useCache","options":{"additionalGroupKeys":["$and.0.system","$and.1.system"],"skipCache":true}}],"create":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"update":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"patch":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"remove":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}]}},"multi":["create"],"useEstimatedDocumentCount":true},"reference":"FileComponentInstancesTableDataSource","updatedAt":"2022-12-19T20:42:51.837Z","createdAt":"2020-11-30T13:59:52.294Z"},{"reference":"ApplicationsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6abbb1c040a4a31b19c334ee","displayName":"Bella Sim — WhatsApp","reference":"oYwz-7E_De9Hpr5YA8Ajp","params":{"domain":{"component":"data2-core-primitives@String","params":{"content":"bella"}},"entryPoint":{"component":"data2-core-types@ComponentInstanceReference","params":{"component":"data2-core-primitives@Router","reference":"HrgaB41ag825Anlx7KwcO"}}},"system":"6aa417957aa25eaf932ae9ef","component":"data2-core-primitives@Application"}]}},{"reference":"DataComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6abbb1c040a4a31b19c3350a","component":"data2-core@Store","system":"6aa417957aa25eaf932ae9ef","params":{"initialData":{"selectedProfile":"Consejera","codigo":"","documento":"","resultMsg":"","success":false}},"reference":"94Endvt7RIze1su9ndpk6"},{"_id":"6abbb1c040a4a31b19c33512","component":"data2-core@DataSet","system":"6aa417957aa25eaf932ae9ef","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"a2TAMyyaD4-OS3pGfu_Lg"}}},"reference":"cXzdwDB8hZ0DHsOxB6KN0"},{"_id":"6abbb1c040a4a31b19c33507","component":"data2-core@DataSet","system":"6aa417957aa25eaf932ae9ef","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"lfzWOhtI365J8dRq8olb_"}}},"reference":"25llmLWKKevgtY-FoiQ7M"},{"_id":"6abbb1c040a4a31b19c3350c","component":"data2-core@DataSet","system":"6aa417957aa25eaf932ae9ef","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"qBy8LhXO7gN05UT5mcrvK"}},"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":20}}}},"reference":"UGbxRefCYp5oBYiwc50EA"},{"_id":"6abbb1c040a4a31b19c3350e","component":"data2-core@DataSet","system":"6aa417957aa25eaf932ae9ef","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"oJY8gfjkj3KcLq7Lffdwj"}}},"reference":"sFd2iZ0cbR13MyhlT01UA"},{"_id":"6abbb1c040a4a31b19c33511","component":"data2-core@Data2TableDataSource","system":"6aa417957aa25eaf932ae9ef","params":{"table":"a2TAMyyaD4-OS3pGfu_Lg","schema":[{"component":"data2-core-types@Field","params":{"key":"session_id","title":"session_id","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"perfil","title":"perfil","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"codigo","title":"codigo","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"nombre","title":"nombre","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"empresaria_asignada","title":"empresaria_asignada","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"gerente_zona_asignada","title":"gerente_zona_asignada","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"identified_at","title":"identified_at","component":"data2-core-primitives@Date"}}]},"reference":"a2TAMyyaD4-OS3pGfu_Lg"},{"_id":"6abbb1c040a4a31b19c33506","component":"data2-core@Data2TableDataSource","system":"6aa417957aa25eaf932ae9ef","params":{"table":"lfzWOhtI365J8dRq8olb_","schema":[{"component":"data2-core-types@Field","params":{"key":"codigo","title":"codigo","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"nombre","title":"nombre","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"documento_identidad","title":"documento_identidad","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"estado","title":"estado","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"telefono","title":"telefono","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"email","title":"email","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"password_hash","title":"password_hash","component":"data2-core-types@Password"}},{"component":"data2-core-types@Field","params":{"key":"fecha_nacimiento","title":"fecha_nacimiento","component":"data2-core-primitives@Date"}},{"component":"data2-core-types@Field","params":{"key":"fecha_admision","title":"fecha_admision","component":"data2-core-primitives@Date"}},{"component":"data2-core-types@Field","params":{"key":"zona","title":"zona","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"equipo","title":"equipo","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"empresaria_asignada","title":"empresaria_asignada","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"gerente_zona_asignada","title":"gerente_zona_asignada","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"created_at","title":"created_at","component":"data2-core-primitives@Date"}},{"component":"data2-core-types@Field","params":{"key":"updated_at","title":"updated_at","component":"data2-core-primitives@Date"}}]},"reference":"lfzWOhtI365J8dRq8olb_"},{"_id":"6abbb1c040a4a31b19c3350b","component":"data2-core@Data2TableDataSource","system":"6aa417957aa25eaf932ae9ef","params":{"table":"qBy8LhXO7gN05UT5mcrvK","schema":[{"component":"data2-core-types@Field","params":{"key":"codigo","title":"codigo","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"nombre","title":"nombre","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"documento_identidad","title":"documento_identidad","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"estado","title":"estado","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"telefono","title":"telefono","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"email","title":"email","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"password_hash","title":"password_hash","component":"data2-core-types@Password"}},{"component":"data2-core-types@Field","params":{"key":"fecha_nacimiento","title":"fecha_nacimiento","component":"data2-core-primitives@Date"}},{"component":"data2-core-types@Field","params":{"key":"fecha_admision","title":"fecha_admision","component":"data2-core-primitives@Date"}},{"component":"data2-core-types@Field","params":{"key":"zona_asignada","title":"zona_asignada","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"cantidad_empresarias","title":"cantidad_empresarias","component":"data2-core-primitives@Number"}},{"component":"data2-core-types@Field","params":{"key":"cantidad_consejeras_total","title":"cantidad_consejeras_total","component":"data2-core-primitives@Number"}},{"component":"data2-core-types@Field","params":{"key":"created_at","title":"created_at","component":"data2-core-primitives@Date"}},{"component":"data2-core-types@Field","params":{"key":"updated_at","title":"updated_at","component":"data2-core-primitives@Date"}}]},"reference":"qBy8LhXO7gN05UT5mcrvK"},{"_id":"6abbb1c040a4a31b19c3350d","component":"data2-core@Data2TableDataSource","system":"6aa417957aa25eaf932ae9ef","params":{"table":"oJY8gfjkj3KcLq7Lffdwj","schema":[{"component":"data2-core-types@Field","params":{"key":"codigo","title":"codigo","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"nombre","title":"nombre","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"documento_identidad","title":"documento_identidad","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"estado","title":"estado","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"telefono","title":"telefono","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"email","title":"email","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"password_hash","title":"password_hash","component":"data2-core-types@Password"}},{"component":"data2-core-types@Field","params":{"key":"fecha_nacimiento","title":"fecha_nacimiento","component":"data2-core-primitives@Date"}},{"component":"data2-core-types@Field","params":{"key":"fecha_admision","title":"fecha_admision","component":"data2-core-primitives@Date"}},{"component":"data2-core-types@Field","params":{"key":"zona","title":"zona","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"equipo_nombre","title":"equipo_nombre","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"gerente_zona_asignada","title":"gerente_zona_asignada","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"cantidad_consejeras","title":"cantidad_consejeras","component":"data2-core-primitives@Number"}},{"component":"data2-core-types@Field","params":{"key":"created_at","title":"created_at","component":"data2-core-primitives@Date"}},{"component":"data2-core-types@Field","params":{"key":"updated_at","title":"updated_at","component":"data2-core-primitives@Date"}}]},"reference":"oJY8gfjkj3KcLq7Lffdwj"}]}},{"reference":"BundlesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}}],"processesParams":{}}}}