{"context":{"domain":"botafogo-poc"},"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":"6a70990a6b5e6214055853f2","name":"POC Botafogo","domain":"botafogo-poc","visibility":"public","updatedAt":"2026-08-03T13:35:06.041Z","createdAt":"2026-08-03T13:35:06.041Z"}]}},{"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":"6a8748296a0dbf6c9fda3b76","component":"data2-core-types@Component","system":"6a70990a6b5e6214055853f2","params":{"extends":"data2-core-primitives@Block","component":"botPitch","package":"botafogo-poc","definition":{"preventEvaluation":true,"component":"data2-core-types@Definition","params":{"def":{"component":"data2-code-components@CodeHost","params":{"code":{"component":"data2-core-primitives@String","params":{"content":"function D2WM(){return '<svg width=\"0\" height=\"0\" aria-hidden=\"true\" style=\"position:absolute;width:0;height:0;overflow:hidden\"><symbol id=\"d2wm\" viewBox=\"0 0 459.554 148.471\"><g transform=\"translate(-678.859 -300.605)\"><path d=\"M14.359-122.138H75.428a148.024,148.024,0,0,1,16.175.865,49.592,49.592,0,0,1,16.349,5.017,50.6,50.6,0,0,1,14.445,10.38,58.331,58.331,0,0,1,9.774,13.58,61.26,61.26,0,0,1,5.536,15.483,77.146,77.146,0,0,1,1.73,16.089q0,17.819-6.92,30.708A54.761,54.761,0,0,1,114.7-9.861a51.9,51.9,0,0,1-11.072,5.45,68.767,68.767,0,0,1-11.5,2.941,98.6,98.6,0,0,1-11.5,1.211Q74.909,0,69.719,0H14.359ZM26.469-10.207H65.394q6.055,0,12.369-.173a73.177,73.177,0,0,0,12.37-1.384A64.307,64.307,0,0,0,101.9-15.311a37.089,37.089,0,0,0,10.726-6.834,39.087,39.087,0,0,0,11.245-17.473,68.5,68.5,0,0,0,3.114-20.414,67.7,67.7,0,0,0-2.6-18.857,47.079,47.079,0,0,0-8.131-16.089,39.361,39.361,0,0,0-10.553-9.688,48.312,48.312,0,0,0-11.245-5.1,45.376,45.376,0,0,0-10.553-1.9q-5.017-.259-8.3-.259H26.469ZM263.133-.173q-2.595.346-5.1.519t-5.277.173q-7.266,0-10.207-3.114t-3.979-10.034q-2.595,1.9-6.4,4.411a59.467,59.467,0,0,1-9.256,4.844,68.866,68.866,0,0,1-12.8,3.893,82.923,82.923,0,0,1-17.04,1.557q-11.764,0-17.387-1.9a56.36,56.36,0,0,1-7.525-2.941,28.342,28.342,0,0,1-9.6-9.255A24.591,24.591,0,0,1,154.835-25.6a24.907,24.907,0,0,1,3.027-12.456,25.929,25.929,0,0,1,7.353-8.477,36.879,36.879,0,0,1,11.937-5.19,103.75,103.75,0,0,1,16.694-2.768q9.429-.865,20.76-1.125t23.788-.433a48.376,48.376,0,0,0-.605-7.612,12.089,12.089,0,0,0-3.893-6.92Q230.609-73.7,223.43-75.6T203.1-77.5a85.006,85.006,0,0,0-16.521,1.3,30.566,30.566,0,0,0-10.034,3.633,16.669,16.669,0,0,0-5.622,5.536,33.568,33.568,0,0,0-3.114,7.006l-11.937-.519a40.255,40.255,0,0,1,1.557-5.277,28.9,28.9,0,0,1,2.941-5.8,30.014,30.014,0,0,1,8.217-8.391,39.385,39.385,0,0,1,10.294-4.93,58.16,58.16,0,0,1,11.591-2.335q6.055-.606,12.11-.606,4.152,0,8.736.259a85.752,85.752,0,0,1,9.256,1.038,90.48,90.48,0,0,1,9.082,1.99,31.348,31.348,0,0,1,7.872,3.287,19.89,19.89,0,0,1,6.4,5.622,25.409,25.409,0,0,1,3.374,6.574,27.817,27.817,0,0,1,1.384,6.4q.259,3.028.259,4.757v36.5a29.841,29.841,0,0,0,.519,5.968,8.188,8.188,0,0,0,1.99,4.066,8.512,8.512,0,0,0,4.238,2.249,24.406,24.406,0,0,0,7.439.346ZM238.567-46.364q-9.688,0-19.549.173t-18.511.951a108,108,0,0,0-15.484,2.422,30.135,30.135,0,0,0-10.639,4.411,16.457,16.457,0,0,0-5.622,6.142,15.459,15.459,0,0,0-1.643,6.833q0,5.882,3.2,9.342a20.362,20.362,0,0,0,7.612,5.19,35.483,35.483,0,0,0,9,2.249,69.488,69.488,0,0,0,7.525.519,66.684,66.684,0,0,0,12.369-1.125A73.708,73.708,0,0,0,217.893-12.2a41.312,41.312,0,0,0,8.91-4.325,34.318,34.318,0,0,0,6.228-5.1,20.75,20.75,0,0,0,4.844-10.726A86.815,86.815,0,0,0,238.567-46.364Zm53.8-73.7v34.6h24.22v9H292.37v40.655q0,6.228.259,11.332a26.276,26.276,0,0,0,1.816,8.823,11.668,11.668,0,0,0,4.931,5.709q3.373,1.989,9.6,1.99a58.913,58.913,0,0,0,7.612-.519V.692q-2.941.519-5.622.865a45.4,45.4,0,0,1-5.8.346,33.2,33.2,0,0,1-11.937-1.99A16.222,16.222,0,0,1,285.1-6.747a25.125,25.125,0,0,1-3.547-11.245q-.605-6.574-.605-15.743V-76.466H264.69v-9h16.262v-29.064ZM432.522-.188c-1.73.231-3.28.419-4.952.534s-3.431.173-5.276.173q-7.266,0-10.207-3.114t-3.979-10.034q-2.595,1.9-6.4,4.411a59.465,59.465,0,0,1-9.256,4.844,68.865,68.865,0,0,1-12.8,3.893,82.922,82.922,0,0,1-17.04,1.557q-11.764,0-17.386-1.9A56.359,56.359,0,0,1,337.7-2.768a28.342,28.342,0,0,1-9.6-9.255,24.591,24.591,0,0,1-3.72-13.581A24.907,24.907,0,0,1,327.4-38.06a25.929,25.929,0,0,1,7.352-8.477,36.879,36.879,0,0,1,11.937-5.19,103.749,103.749,0,0,1,16.694-2.768q9.429-.865,20.76-1.125t23.788-.433a48.378,48.378,0,0,0-.605-7.612,12.089,12.089,0,0,0-3.893-6.92Q400.149-73.7,392.97-75.6t-20.327-1.9a85.006,85.006,0,0,0-16.522,1.3,30.566,30.566,0,0,0-10.034,3.633,16.669,16.669,0,0,0-5.622,5.536,33.567,33.567,0,0,0-3.114,7.006l-11.937-.519a40.254,40.254,0,0,1,1.557-5.277,28.9,28.9,0,0,1,2.941-5.8,30.014,30.014,0,0,1,8.217-8.391,39.385,39.385,0,0,1,10.294-4.93,58.159,58.159,0,0,1,11.591-2.335q6.055-.606,12.11-.606,4.152,0,8.736.259a85.751,85.751,0,0,1,9.256,1.038A90.482,90.482,0,0,1,399.2-84.6a31.348,31.348,0,0,1,7.872,3.287,19.891,19.891,0,0,1,6.4,5.622,25.409,25.409,0,0,1,3.374,6.574,27.818,27.818,0,0,1,1.384,6.4q.26,3.028.259,4.757v36.5a29.841,29.841,0,0,0,.519,5.968A8.189,8.189,0,0,0,421-11.418a8.512,8.512,0,0,0,4.238,2.249,23.452,23.452,0,0,0,7.288.331ZM408.107-46.364q-9.688,0-19.549.173t-18.511.951a108,108,0,0,0-15.483,2.422,30.135,30.135,0,0,0-10.639,4.411,16.457,16.457,0,0,0-5.622,6.142,15.459,15.459,0,0,0-1.643,6.833q0,5.882,3.2,9.342a20.362,20.362,0,0,0,7.612,5.19,35.483,35.483,0,0,0,9,2.249,69.488,69.488,0,0,0,7.525.519,66.684,66.684,0,0,0,12.37-1.125A73.707,73.707,0,0,0,387.434-12.2a41.312,41.312,0,0,0,8.91-4.325,34.318,34.318,0,0,0,6.228-5.1,20.749,20.749,0,0,0,4.844-10.726A86.812,86.812,0,0,0,408.107-46.364Z\" transform=\"translate(664.5 447)\" fill=\"#fff\"/><path d=\"M.512-37.631C.512-44,2.263-49.153,5.339-53.064a33.374,33.374,0,0,1,11.47-9.294q9.822-4.878,12.755-7.251A7.727,7.727,0,0,0,32.5-75.937a9.882,9.882,0,0,0-2.439-6.987q-2.439-2.637-7.778-2.637T14.832-82.2a15.491,15.491,0,0,0-2.175,8.174H2.307q0-9.888,5.636-15.128t14.667-5.24q9.163,0,14.733,4.417t5.57,12.92q0,7.844-4.054,11.865t-12.821,8.24q-11.272,5.076-13.25,10.085H42.913v9.229Z\" transform=\"translate(1095.5 395)\" fill=\"#fff\"/></g></symbol></svg>';}\nexport default {\n  css: `\n:host{\n  --ink:#0a0a0a;\n  --paper:#ffffff;\n  --grey-1:#f4f4f3;\n  --grey-2:#e4e3e0;\n  --grey-3:#9b9a96;\n  --grey-4:#4a4947;\n  --status:#2e7d52;\n  --statusd:#3fae74;\n  --dbg:#08090B;\n  --dtx:#EDECEF;\n  --dmut:#8a8f98;\n  --dline:rgba(255,255,255,.09);\n  --phc:#c9a23f;\n  --face:-apple-system,'SF Pro Display','Segoe UI',Roboto,Helvetica,Arial,sans-serif;\n  display:block;\n  height:100%;\n}\n*{box-sizing:border-box;}\n.bfg-deck{margin:0;padding:0;background:var(--grey-1);color:var(--ink);font-family:var(--face);-webkit-font-smoothing:antialiased;overflow:hidden;height:100%;position:relative;}\n.bfg-deck img,.bfg-deck svg{max-width:100%;display:block;}\n.bfg-deck ::selection{background:var(--ink);color:var(--paper);}\n.bfg-deck button{font-family:var(--face);}\n.bfg-deck input{font-family:var(--face);}\n.bfg-deck :focus-visible{outline:2px solid var(--ink);outline-offset:2px;}\n.bfg-deck h1,.bfg-deck h2,.bfg-deck h3{margin:0;}\n.bfg-deck .eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-4);}\n.bfg-deck .stage{position:absolute;inset:0;width:100%;height:100%;background:var(--paper);overflow:hidden;}\n.bfg-deck .stripe-spine{position:absolute;left:0;top:0;bottom:0;width:8px;background:repeating-linear-gradient(to bottom,var(--ink) 0 14px,transparent 14px 28px);z-index:5;}\n.bfg-deck .slide{position:absolute;inset:0;display:flex;flex-direction:column;padding:clamp(1.1rem,2.6vw,2.6rem) clamp(1.2rem,3.4vw,3.4rem) calc(64px + env(safe-area-inset-bottom));padding-left:calc(8px + clamp(1.2rem,3.4vw,3.4rem));opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:1;overflow-y:auto;-webkit-overflow-scrolling:touch;}\n.bfg-deck .slide.active{opacity:1;pointer-events:auto;z-index:2;}\n.bfg-deck .slide.cover{background:var(--ink);color:var(--paper);align-items:center;justify-content:center;text-align:center;padding-left:clamp(1.2rem,3.4vw,3.4rem);}\n.bfg-deck .slide.cover .eyebrow{color:var(--grey-3);}\n.bfg-deck .slide.cover .cover-star{width:40px;height:40px;fill:var(--paper);margin:0 auto 1.3rem;}\n.bfg-deck .slide.cover h1{font-size:clamp(1.9rem,5.6vw,3.4rem);font-weight:800;letter-spacing:-.01em;line-height:1.05;text-transform:uppercase;}\n.bfg-deck .slide.cover .sub{margin-top:.9rem;font-size:clamp(.92rem,1.7vw,1.1rem);color:var(--grey-3);max-width:52ch;}\n.bfg-deck .wm-big{width:clamp(190px,25vw,310px);height:auto;fill:#fff;margin:0 auto;}\n.bfg-deck .xrow{display:flex;align-items:center;gap:.9rem;justify-content:center;margin-top:1.5rem;}\n.bfg-deck .xrow .x{font-size:1.15rem;color:#5a5f68;font-weight:600;}\n.bfg-deck .xrow svg{width:20px;height:20px;fill:#fff;flex:none;}\n.bfg-deck .xrow .bname{font-weight:800;letter-spacing:.24em;font-size:.95rem;color:#fff;}\n.bfg-deck .toc{display:flex;flex-wrap:wrap;justify-content:center;gap:1.3rem 1.6rem;margin-top:2.2rem;max-width:700px;}\n.bfg-deck .toc button{background:none;border:none;color:var(--grey-3);font-size:.78rem;font-weight:600;letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.3rem 0;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease;font-family:inherit;}\n.bfg-deck .toc button:hover{color:var(--paper);border-color:var(--grey-3);}\n.bfg-deck .toc button .n{font-weight:800;color:var(--paper);font-variant-numeric:tabular-nums;font-size:.76rem;}\n.bfg-deck .toc button.bonus{color:var(--grey-4);}\n.bfg-deck .toc button.bonus .n{color:var(--grey-3);}\n.bfg-deck .toc button.finale{color:var(--statusd);font-weight:800;}\n.bfg-deck .toc button.finale .n{color:var(--statusd);}\n.bfg-deck .slide.cover .foot{position:absolute;left:clamp(1.2rem,3.4vw,3.4rem);right:clamp(1.2rem,3.4vw,3.4rem);bottom:calc(20px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;font-size:.64rem;letter-spacing:.04em;text-transform:uppercase;color:var(--grey-3);}\n.bfg-deck .slide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:clamp(.7rem,1.6vw,1.2rem);border-bottom:1px solid var(--grey-2);flex:none;}\n.bfg-deck .slide-head .mark{display:flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--grey-3);}\n.bfg-deck .slide-head .mark svg{width:13px;height:13px;flex:none;}\n.bfg-deck .slide-head .count{font-size:.68rem;font-weight:700;color:var(--grey-3);letter-spacing:.06em;font-variant-numeric:tabular-nums;flex:none;}\n.bfg-deck .wm-mini{width:54px;height:18px;fill:var(--dtx);flex:none;display:inline-block;}\n.bfg-deck .slide.d2s{background:var(--dbg);color:var(--dtx);}\n.bfg-deck .slide.d2s .slide-head{border-bottom:1px solid var(--dline);}\n.bfg-deck .slide.d2s .slide-head .mark{color:var(--dmut);}\n.bfg-deck .slide.d2s .slide-head .count{color:var(--dmut);}\n.bfg-deck .slide.d2s .eyebrow{color:var(--dmut);}\n.bfg-deck .slide.d2s .slide-foot{border-top:1px solid var(--dline);color:#6a6f78;}\n.bfg-deck .d2s .dh1{font-size:clamp(1.3rem,3vw,2.1rem);font-weight:800;line-height:1.16;max-width:42ch;color:#fff;margin-top:clamp(.8rem,1.8vw,1.2rem);}\n.bfg-deck .d2s .dsub{margin-top:.6rem;font-size:.88rem;color:var(--dmut);max-width:66ch;line-height:1.5;}\n.bfg-deck .ph-pill{display:inline-block;margin-top:.45rem;font-size:.55rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--phc);border:1.5px dashed rgba(201,162,63,.55);border-radius:10px;padding:.12rem .5rem;}\n.bfg-deck .facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:clamp(1.2rem,2.6vw,2rem);}\n.bfg-deck .fact{border-top:2px solid var(--dtx);padding-top:.5rem;}\n.bfg-deck .fact .v{font-size:clamp(1.3rem,2.6vw,2rem);font-weight:800;color:#fff;font-variant-numeric:tabular-nums;}\n.bfg-deck .fact .l{font-size:.68rem;color:var(--dmut);margin-top:.3rem;line-height:1.35;}\n.bfg-deck .prodgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem 1rem;margin-top:clamp(1.2rem,2.6vw,1.8rem);}\n.bfg-deck .prod{border-top:2px solid var(--pc);padding-top:.45rem;}\n.bfg-deck .prod .pn{font-weight:800;font-size:.84rem;color:#fff;display:flex;align-items:center;gap:.4rem;}\n.bfg-deck .prod .pn .pd{width:7px;height:7px;border-radius:50%;background:var(--pc);flex:none;}\n.bfg-deck .prod .pv{font-size:.67rem;color:var(--dmut);margin-top:.25rem;line-height:1.4;}\n.bfg-deck .payoffline{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:1rem;font-size:.72rem;font-weight:600;color:var(--dmut);}\n.bfg-deck .payoffline .pdot{width:7px;height:7px;border-radius:50%;background:var(--statusd);animation:bfgPulseDot 1.7s infinite;flex:none;}\n.bfg-deck .payoffline b{color:var(--dtx);}\n.bfg-deck .logogrid{display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem;margin-top:clamp(1.2rem,2.6vw,1.8rem);}\n.bfg-deck .logoph{aspect-ratio:5/2;border:1.5px dashed rgba(255,255,255,.22);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#6a6f78;font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:.3rem;}\n.bfg-deck .caseline{border:1.5px dashed rgba(255,255,255,.22);border-radius:10px;padding:.7rem .9rem;color:var(--dmut);font-size:.78rem;margin-top:.8rem;line-height:1.45;}\n.bfg-deck .caseline b{color:var(--phc);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;display:block;margin-bottom:.2rem;}\n.bfg-deck .sqgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-top:clamp(1.1rem,2.4vw,1.6rem);}\n.bfg-deck .sq{border:1.5px dashed rgba(255,255,255,.22);border-radius:12px;padding:.85rem .6rem;text-align:center;}\n.bfg-deck .sq .si{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.08);margin:0 auto .45rem;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.7rem;}\n.bfg-deck .sq .sr{font-size:.72rem;font-weight:700;color:var(--dtx);}\n.bfg-deck .sq .sd{font-size:.6rem;color:var(--dmut);margin-top:.2rem;line-height:1.35;}\n.bfg-deck .chipsd{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem;}\n.bfg-deck .chipd{font-size:.7rem;font-weight:600;color:var(--dtx);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:.26rem .7rem;}\n.bfg-deck .rmap{display:grid;grid-template-columns:repeat(6,1fr);gap:.85rem;margin-top:clamp(1.2rem,2.6vw,1.8rem);align-content:start;}\n.bfg-deck .rm{border-top:2px solid var(--dtx);padding-top:.5rem;display:flex;flex-direction:column;gap:.28rem;min-height:8.2rem;}\n.bfg-deck .rm .rmm{font-size:.6rem;font-weight:800;letter-spacing:.12em;color:var(--dmut);}\n.bfg-deck .rm .rmt{font-size:.8rem;font-weight:800;color:#fff;line-height:1.25;}\n.bfg-deck .rm .rmd{font-size:.64rem;color:var(--dmut);line-height:1.42;}\n.bfg-deck .rm .rms{margin-top:auto;font-size:.56rem;font-weight:800;letter-spacing:.06em;color:var(--statusd);border:1px solid var(--statusd);border-radius:10px;padding:.1rem .45rem;align-self:flex-start;}\n.bfg-deck .rmnote{font-size:.7rem;color:var(--dmut);margin-top:1rem;max-width:70ch;line-height:1.45;}\n.bfg-deck .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:clamp(1.2rem,2.6vw,1.8rem);}\n.bfg-deck .step{border-top:2px solid var(--dtx);padding-top:.5rem;}\n.bfg-deck .step .stn{font-size:1.15rem;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;}\n.bfg-deck .step .stt{font-size:.82rem;font-weight:800;color:#fff;margin-top:.18rem;}\n.bfg-deck .step .std{font-size:.68rem;color:var(--dmut);margin-top:.28rem;line-height:1.45;}\n.bfg-deck .sol-title{margin-top:clamp(.7rem,1.6vw,1.1rem);flex:none;}\n.bfg-deck .sol-title .eyebrow{margin-bottom:.4rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}\n.bfg-deck .live-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.58rem;font-weight:800;letter-spacing:.05em;color:var(--status);border:1px solid var(--status);border-radius:10px;padding:.05rem .4rem;}\n.bfg-deck .live-badge .d{width:5px;height:5px;border-radius:50%;background:var(--status);}\n.bfg-deck .sol-title h1{font-size:clamp(1.05rem,2.3vw,1.7rem);font-weight:800;line-height:1.16;max-width:36ch;}\n.bfg-deck .sol-title p{margin-top:.5rem;font-size:.83rem;color:var(--grey-4);max-width:56ch;line-height:1.44;}\n.bfg-deck [data-seq]{opacity:0;transform:translateY(7px);transition:opacity .4s ease,transform .4s ease;}\n.bfg-deck [data-seq].show{opacity:1;transform:none;}\n.bfg-deck .flow{display:flex;align-items:center;gap:.5rem;margin-top:.7rem;flex-wrap:wrap;flex:none;}\n.bfg-deck .flow-step{display:flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--grey-2);border-radius:20px;padding:.26rem .6rem .26rem .26rem;}\n.bfg-deck .flow-num{width:15px;height:15px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:.57rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none;}\n.bfg-deck .flow-arrow{color:var(--grey-3);font-size:.7rem;flex:none;}\n.bfg-deck .chip-label{font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-3);margin-top:.7rem;}\n.bfg-deck .chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem;}\n.bfg-deck .chip{font-size:.66rem;font-weight:600;color:var(--grey-4);background:var(--paper);border:1px solid var(--grey-2);border-radius:14px;padding:.22rem .6rem;}\n.bfg-deck .sol-body{margin-top:clamp(.6rem,1.4vw,1rem);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.1rem,2.8vw,2.2rem);flex:1;min-height:0;}\n.bfg-deck .pros{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem;}\n.bfg-deck .pros li{display:flex;gap:.5rem;font-size:.77rem;color:var(--ink);line-height:1.35;}\n.bfg-deck .pros li svg{flex:none;margin-top:.15rem;width:13px;height:13px;}\n.bfg-deck .widget-wrap{display:flex;align-items:center;justify-content:center;min-height:0;}\n.bfg-deck .widget{width:100%;max-width:340px;border:1px solid var(--grey-2);border-radius:16px;background:var(--paper);box-shadow:0 20px 40px -18px rgba(0,0,0,.22);display:flex;flex-direction:column;overflow:hidden;}\n.bfg-deck .phone-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem .8rem .1rem;font-size:.62rem;font-weight:700;color:var(--ink);}\n.bfg-deck .batt{display:inline-block;width:18px;height:9px;border:1.3px solid var(--ink);border-radius:2px;position:relative;margin-left:4px;}\n.bfg-deck .batt::after{content:'';position:absolute;left:1px;top:1px;bottom:1px;width:65%;background:var(--ink);border-radius:1px;}\n.bfg-deck .batt::before{content:'';position:absolute;right:-3px;top:2.5px;width:2px;height:4px;background:var(--ink);border-radius:0 1px 1px 0;}\n.bfg-deck .phone-hero{margin:.65rem .85rem 0;background:var(--ink);border-radius:10px;padding:.6rem .7rem;color:var(--paper);position:relative;overflow:hidden;}\n.bfg-deck .phone-hero::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 6px,transparent 6px 12px);}\n.bfg-deck .ph-eyebrow{font-size:.56rem;font-weight:800;letter-spacing:.06em;color:var(--grey-3);position:relative;}\n.bfg-deck .ph-main{font-size:.76rem;font-weight:700;margin-top:.2rem;position:relative;}\n.bfg-deck .ph-live{display:flex;align-items:center;gap:.35rem;margin-top:.3rem;position:relative;font-size:.6rem;font-weight:700;color:var(--paper);}\n.bfg-deck .ph-live .d{width:5px;height:5px;border-radius:50%;background:var(--status);animation:bfgPulseDot 1.7s infinite;}\n.bfg-deck .ph-section{font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--grey-3);margin:.75rem .85rem 0;}\n.bfg-deck .phone-tabbar{display:flex;border-top:1px solid var(--grey-2);padding:.45rem 0 .1rem;}\n.bfg-deck .pt{flex:1;text-align:center;font-size:.58rem;font-weight:700;color:var(--grey-3);padding-bottom:.35rem;position:relative;}\n.bfg-deck .pt.active{color:var(--ink);}\n.bfg-deck .pt.active::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:16px;height:2px;background:var(--ink);}\n.bfg-deck .widget-head{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;border-bottom:1px solid var(--grey-2);}\n.bfg-deck .widget-head .dot-status{width:7px;height:7px;border-radius:50%;background:var(--status);flex:none;}\n.bfg-deck .widget-head .dot-status.pulse{animation:bfgPulseDot 1.7s infinite;}\n.bfg-deck .widget-head .name{font-size:.77rem;font-weight:700;}\n.bfg-deck .widget-head .stat{font-size:.64rem;color:var(--grey-3);margin-left:auto;font-variant-numeric:tabular-nums;}\n@keyframes bfgPulseDot{0%,100%{box-shadow:0 0 0 0 rgba(46,125,82,.45);}50%{box-shadow:0 0 0 5px rgba(46,125,82,0);}}\n.bfg-deck .widget-body{padding:.85rem;display:flex;flex-direction:column;gap:.5rem;background:var(--grey-1);}\n.bfg-deck .bubble{font-size:.75rem;line-height:1.4;padding:.5rem .7rem;border-radius:10px;max-width:86%;}\n.bfg-deck .bubble.user{align-self:flex-end;background:var(--ink);color:var(--paper);border-radius:10px 10px 2px 10px;}\n.bfg-deck .bubble.bot{align-self:flex-start;background:var(--paper);border:1px solid var(--grey-2);border-radius:10px 10px 10px 2px;}\n.bfg-deck .bubble.sys{align-self:center;background:var(--paper);border:1px dashed var(--grey-3);border-radius:20px;padding:.3rem .8rem;color:var(--grey-4);font-size:.63rem;font-weight:700;}\n.bfg-deck .typing{display:flex;gap:4px;align-self:flex-start;padding:.55rem .75rem;background:var(--paper);border:1px solid var(--grey-2);border-radius:10px;}\n.bfg-deck .typing span{width:5px;height:5px;border-radius:50%;background:var(--grey-3);animation:bfgPulse 1.2s infinite ease-in-out;}\n.bfg-deck .typing span:nth-child(2){animation-delay:.15s;}\n.bfg-deck .typing span:nth-child(3){animation-delay:.3s;}\n@keyframes bfgPulse{0%,80%,100%{opacity:.25;transform:translateY(0);}40%{opacity:1;transform:translateY(-2px);}}\n.bfg-deck .result-card{background:var(--paper);border:1px solid var(--grey-2);border-radius:10px;padding:.6rem .7rem;align-self:flex-start;max-width:92%;}\n.bfg-deck .result-card .r-title{font-size:.74rem;font-weight:700;}\n.bfg-deck .result-card .r-line{font-size:.68rem;color:var(--grey-4);margin-top:.28rem;}\n.bfg-deck .result-card .r-ok{font-size:.66rem;font-weight:700;color:var(--status);margin-top:.3rem;}\n.bfg-deck .result-card .r-total{font-size:.81rem;font-weight:800;margin-top:.45rem;font-variant-numeric:tabular-nums;}\n.bfg-deck .result-card button{margin-top:.5rem;width:100%;padding:.48rem 0;border:none;border-radius:6px;background:var(--ink);color:var(--paper);font-size:.7rem;font-weight:700;cursor:default;}\n.bfg-deck .xsell{display:flex;align-items:center;gap:.6rem;background:var(--paper);border:1px solid var(--grey-2);border-radius:10px;padding:.5rem .6rem;}\n.bfg-deck .xsell-thumb{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--grey-4),var(--ink));flex:none;}\n.bfg-deck .xsell-info{flex:1;}\n.bfg-deck .xsell-info b{font-size:.71rem;display:block;}\n.bfg-deck .xsell-info span{font-size:.6rem;color:var(--grey-3);}\n.bfg-deck .xsell button{flex:none;background:var(--ink);color:var(--paper);border:none;border-radius:6px;padding:.35rem .6rem;font-size:.64rem;font-weight:700;}\n.bfg-deck .apptiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;}\n.bfg-deck .apptiles>*{opacity:0;}\n.bfg-deck .apptiles.show>*{animation:bfgTileIn .38s ease both;}\n.bfg-deck .apptiles.show>*:nth-child(1){animation-delay:.02s;}\n.bfg-deck .apptiles.show>*:nth-child(2){animation-delay:.08s;}\n.bfg-deck .apptiles.show>*:nth-child(3){animation-delay:.14s;}\n.bfg-deck .apptiles.show>*:nth-child(4){animation-delay:.2s;}\n.bfg-deck .apptiles.show>*:nth-child(5){animation-delay:.26s;}\n.bfg-deck .apptiles.show>*:nth-child(6){animation-delay:.32s;}\n@keyframes bfgTileIn{from{opacity:0;transform:scale(.85);}to{opacity:1;transform:none;}}\n.bfg-deck .apptile{position:relative;background:var(--paper);border:1px solid var(--grey-2);border-radius:10px;padding:.55rem .3rem;text-align:center;font-size:.58rem;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:.3rem;}\n.bfg-deck .apptile .ic{width:23px;height:23px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:.64rem;font-weight:800;flex:none;}\n.bfg-deck .apptile .badge{position:absolute;top:3px;right:3px;min-width:12px;height:12px;border-radius:6px;background:var(--status);color:var(--paper);font-size:.5rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 3px;}\n.bfg-deck .acctrow,.bfg-deck .agentrow{display:flex;align-items:center;gap:.55rem;padding:.44rem 0;border-bottom:1px solid var(--grey-2);font-size:.72rem;}\n.bfg-deck .acctrow:last-child,.bfg-deck .agentrow:last-child{border-bottom:none;}\n.bfg-deck .acctrow .name,.bfg-deck .agentrow .name{flex:1;font-weight:600;}\n.bfg-deck .acctrow svg{width:14px;height:14px;flex:none;}\n.bfg-deck .agentrow .dot{width:7px;height:7px;border-radius:50%;background:var(--status);flex:none;}\n.bfg-deck .agentrow .dot.pulse{animation:bfgPulseDot 1.7s infinite;}\n.bfg-deck .agentrow .stat{font-size:.6rem;color:var(--grey-3);}\n.bfg-deck .avatar{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;flex:none;}\n.bfg-deck .up-head{display:flex;align-items:center;gap:.55rem;}\n.bfg-deck .up-name{font-size:.8rem;font-weight:800;}\n.bfg-deck .up-sub{font-size:.6rem;color:var(--grey-3);}\n.bfg-deck .up-sources{display:flex;gap:.35rem;flex-wrap:wrap;}\n.bfg-deck .src{font-size:.58rem;font-weight:700;border:1px solid var(--status);border-radius:10px;padding:.18rem .5rem;color:var(--status);}\n.bfg-deck .up-stat-row{display:flex;gap:.4rem;}\n.bfg-deck .up-stat{flex:1;background:var(--paper);border:1px solid var(--grey-2);border-radius:8px;padding:.4rem;text-align:center;}\n.bfg-deck .up-stat b{font-size:.72rem;display:block;}\n.bfg-deck .up-stat span{font-size:.54rem;color:var(--grey-3);}\n.bfg-deck .widget-title{text-align:center;font-size:.78rem;font-weight:700;margin-bottom:.6rem;}\n.bfg-deck .sp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;}\n.bfg-deck .sp-stat{background:var(--paper);border:1px solid var(--grey-2);border-radius:8px;padding:.4rem;text-align:center;}\n.bfg-deck .sp-stat b{font-size:.78rem;display:block;font-variant-numeric:tabular-nums;}\n.bfg-deck .sp-stat span{font-size:.54rem;color:var(--grey-3);}\n.bfg-deck .sp-chart{display:flex;align-items:flex-end;gap:.5rem;height:60px;background:var(--paper);border:1px solid var(--grey-2);border-radius:8px;padding:.5rem .6rem .35rem;}\n.bfg-deck .sp-barcol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;}\n.bfg-deck .sp-bar{width:100%;background:var(--grey-3);border-radius:3px 3px 0 0;height:0%;transition:height .6s ease;}\n.bfg-deck .sp-bar.hi{background:var(--ink);}\n.bfg-deck .sp-bl{font-size:.52rem;color:var(--grey-4);text-align:center;margin-top:.22rem;line-height:1.15;}\n.bfg-deck .sp-post{display:flex;gap:.55rem;align-items:center;}\n.bfg-deck .sp-thumb{width:38px;height:38px;border-radius:8px;background:linear-gradient(135deg,var(--ink),var(--grey-4));flex:none;}\n.bfg-deck .sp-post-info .sp-cap{font-size:.72rem;font-weight:700;}\n.bfg-deck .sp-post-info .sp-tags{font-size:.58rem;color:var(--grey-3);margin-top:.15rem;}\n.bfg-deck .sp-comment .sp-author{display:block;margin-top:.2rem;color:var(--grey-3);font-size:.6rem;}\n.bfg-deck .sp-insight{background:var(--paper);border:1px solid var(--grey-2);border-radius:10px;padding:.48rem .6rem;font-size:.64rem;color:var(--grey-4);line-height:1.38;}\n.bfg-deck .sp-insight-tag{display:block;font-size:.56rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--status);margin-bottom:.2rem;}\n.bfg-deck .slide-foot{flex:none;display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding-top:clamp(.5rem,1.4vw,1rem);margin-top:auto;border-top:1px solid var(--grey-2);font-size:.6rem;color:var(--grey-3);letter-spacing:.04em;text-transform:uppercase;}\n.bfg-deck .slide-foot .feed-tag{color:var(--status);font-weight:700;text-align:center;}\n.bfg-deck .outros-grid{margin-top:clamp(.9rem,2.2vw,1.5rem);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.7rem,1.8vw,1.2rem);align-content:start;}\n.bfg-deck .o-card{border-top:2px solid var(--ink);padding-top:.5rem;}\n.bfg-deck .o-card .o-title{font-size:.76rem;font-weight:800;}\n.bfg-deck .o-card .o-desc{font-size:.68rem;color:var(--grey-4);line-height:1.4;margin-top:.2rem;}\n.bfg-deck .o-card .o-tag{font-size:.58rem;font-weight:700;letter-spacing:.03em;color:var(--grey-3);margin-top:.6rem;}\n.bfg-deck .aud-title{margin-top:clamp(.7rem,1.6vw,1.1rem);flex:none;}\n.bfg-deck .aud-title h1{font-size:clamp(1.2rem,2.6vw,1.95rem);font-weight:800;line-height:1.18;max-width:44ch;}\n.bfg-deck .aud-title p{margin-top:.55rem;font-size:.86rem;color:var(--grey-4);max-width:70ch;line-height:1.48;}\n.bfg-deck .aud-body{margin-top:clamp(.8rem,2vw,1.3rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,3vw,2.2rem);flex:1;min-height:0;align-items:center;}\n.bfg-deck .aud-hub-wrap{display:flex;align-items:center;justify-content:center;}\n.bfg-deck .aud-hub{max-width:300px;width:100%;}\n.bfg-deck .aud-hub text{font-family:var(--face);}\n.bfg-deck .aud-cards{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;}\n.bfg-deck .a-card{border-top:2px solid var(--ink);padding-top:.5rem;}\n.bfg-deck .a-card .a-tag{font-size:.56rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--status);}\n.bfg-deck .a-card .a-title{font-size:.76rem;font-weight:800;margin-top:.2rem;line-height:1.25;}\n.bfg-deck .a-card .a-desc{font-size:.65rem;color:var(--grey-4);line-height:1.4;margin-top:.25rem;}\n.bfg-deck .aud-cta{font-size:.84rem;color:var(--grey-4);max-width:70ch;margin-top:.9rem;flex:none;}\n.bfg-deck .mcp-stack{position:relative;width:100%;max-width:420px;height:500px;}\n.bfg-deck .mcp-win{position:absolute;width:80%;background:var(--paper);border:1px solid var(--grey-2);border-radius:14px;box-shadow:0 16px 34px -16px rgba(0,0,0,.28);overflow:hidden;}\n.bfg-deck .mcp-win .widget-head{padding:.5rem .7rem;}\n.bfg-deck .mcp-body{padding:.6rem;display:flex;flex-direction:column;gap:.4rem;background:var(--grey-1);}\n.bfg-deck .mcp-win .bubble{max-width:94%;font-size:.72rem;}\n.bfg-deck .mcp-win.w1{top:0;left:0;z-index:1;transform:rotate(-2deg);}\n.bfg-deck .mcp-win.w2{top:158px;right:0;z-index:2;transform:rotate(1.5deg);}\n.bfg-deck .mcp-win.w3{top:330px;left:6%;z-index:3;transform:rotate(-1deg);}\n.bfg-deck .mcp-win[data-seq]:not(.show){opacity:0;transform:translateY(10px);}\n.bfg-deck .mcp-win.w1.show{transform:rotate(-2deg);}\n.bfg-deck .mcp-win.w2.show{transform:rotate(1.5deg);}\n.bfg-deck .mcp-win.w3.show{transform:rotate(-1deg);}\n.bfg-deck .controls{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:.8rem;padding:.45rem .8rem;background:var(--paper);border-radius:999px;box-shadow:0 8px 24px -8px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.12);z-index:50;}\n.bfg-deck .nav-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--grey-2);background:var(--paper);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,transform .1s ease;}\n.bfg-deck .nav-btn:hover:not(:disabled){border-color:var(--ink);}\n.bfg-deck .nav-btn:active:not(:disabled){transform:scale(.94);}\n.bfg-deck .nav-btn:disabled{opacity:.3;cursor:default;}\n.bfg-deck .nav-btn svg{width:14px;height:14px;}\n.bfg-deck .dots{display:flex;gap:.4rem;}\n.bfg-deck .dots button{width:6px;height:6px;border-radius:50%;border:none;padding:0;background:var(--grey-2);cursor:pointer;}\n.bfg-deck .dots button.active{background:var(--ink);width:16px;border-radius:4px;}\n.bfg-deck .gate{position:fixed;inset:0;z-index:200;background:var(--ink);display:flex;align-items:center;justify-content:center;padding:1.5rem;}\n.bfg-deck .gate.hidden{display:none;}\n.bfg-deck .gate-card{width:100%;max-width:300px;text-align:center;}\n.bfg-deck .gate-card .wm-mini{width:90px;height:29px;margin:0 auto 1.1rem;fill:#fff;}\n.bfg-deck .gate-card h2{color:var(--paper);font-size:1.05rem;font-weight:800;margin-bottom:.35rem;}\n.bfg-deck .gate-card .sub{color:var(--grey-3);font-size:.78rem;margin-bottom:1.3rem;}\n.bfg-deck .gate-form{display:flex;flex-direction:column;gap:.65rem;}\n.bfg-deck .gate-input{width:100%;padding:.65rem .85rem;border-radius:8px;border:1px solid #2c2c2c;background:#161616;color:var(--paper);font-size:.88rem;}\n.bfg-deck .gate-input::placeholder{color:#666;}\n.bfg-deck .gate-submit{padding:.65rem 0;border-radius:8px;border:none;background:var(--paper);color:var(--ink);font-weight:700;font-size:.82rem;cursor:pointer;}\n.bfg-deck .gate-submit:disabled{opacity:.5;cursor:default;}\n.bfg-deck .gate-error{color:#ff7a6b;font-size:.72rem;min-height:1em;}\n@media (min-width:821px){\n  .bfg-deck .slide.solution .widget-wrap{position:absolute;top:70px;bottom:70px;right:clamp(1.2rem,3.4vw,3.4rem);width:min(44vw,420px);}\n}\n@media (max-width:820px){\n  .bfg-deck .sol-body{grid-template-columns:1fr;}\n  .bfg-deck .outros-grid{grid-template-columns:1fr;}\n  .bfg-deck .aud-body{grid-template-columns:1fr;}\n  .bfg-deck .facts{grid-template-columns:repeat(2,1fr);}\n  .bfg-deck .prodgrid{grid-template-columns:repeat(2,1fr);}\n  .bfg-deck .logogrid{grid-template-columns:repeat(3,1fr);}\n  .bfg-deck .sqgrid{grid-template-columns:repeat(2,1fr);}\n  .bfg-deck .rmap{grid-template-columns:repeat(2,1fr);}\n  .bfg-deck .steps{grid-template-columns:1fr;}\n}\n@media (max-width:480px){\n  .bfg-deck .slide-head .mark .mark-text{display:none;}\n  .bfg-deck .toc{gap:1rem 1.2rem;}\n  .bfg-deck .aud-cards{grid-template-columns:1fr;}\n  .bfg-deck .logogrid{grid-template-columns:repeat(2,1fr);}\n}\n@media (prefers-reduced-motion:reduce){\n  .bfg-deck .slide{transition:none;}\n  .bfg-deck .typing span{animation:none;opacity:.7;}\n  .bfg-deck [data-seq]{transition:none;}\n  .bfg-deck .apptiles.show>*{animation:none;opacity:1;transform:none;}\n  .bfg-deck .dot-status.pulse,.bfg-deck .agentrow .dot.pulse,.bfg-deck .ph-live .d,.bfg-deck .payoffline .pdot{animation:none;}\n  .bfg-deck .sp-bar{transition:none;}\n}\n`,\n  render(d2) {\n    var star = '<svg viewBox=\"0 0 24 24\" fill=\"var(--ink)\"><path d=\"M12 1l2.6 7.2H22l-6 4.6 2.3 7.2L12 15.8 5.7 20l2.3-7.2-6-4.6h7.4z\"/></svg>';\n    var starW = '<svg viewBox=\"0 0 24 24\" fill=\"#fff\"><path d=\"M12 1l2.6 7.2H22l-6 4.6 2.3 7.2L12 15.8 5.7 20l2.3-7.2-6-4.6h7.4z\"/></svg>';\n    var mark = '<span class=\"mark\">' + star + '<span class=\"mark-text\">BOTAFOGO &middot; ACESSO &Agrave; TECNOLOGIA</span></span>';\n    var markD2 = '<span class=\"mark\"><svg class=\"wm-mini\" aria-hidden=\"true\"><use href=\"#d2wm\"/></svg><span class=\"mark-text\">&times; BOTAFOGO</span></span>';\n    var check = '<svg viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M4 10.5l4 4 8-9\" stroke=\"var(--ink)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>';\n    var checkSmall = '<svg viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M4 10.5l4 4 8-9\" stroke=\"var(--status)\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>';\n    var TOTAL = '17';\n    var reduced = false;\n    try { reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches; } catch (e) {}\n    function head(n){ return '<div class=\"slide-head\">' + mark + '<span class=\"count\">' + n + ' / ' + TOTAL + '</span></div>'; }\n    function headD(n){ return '<div class=\"slide-head\">' + markD2 + '<span class=\"count\">' + n + ' / ' + TOTAL + '</span></div>'; }\n    function foot(){ return '<div class=\"slide-foot\"><span>Proposta confidencial</span><span>Botafogo</span></div>'; }\n    function footSol(feed){ return '<div class=\"slide-foot\"><span>Proposta confidencial</span><span class=\"feed-tag\">' + feed + '</span><span>Botafogo</span></div>'; }\n    function pros(items){ return '<ul class=\"pros\" data-seq>' + items.map(function(t){return '<li>'+check+t+'</li>';}).join('') + '</ul>'; }\n    function widget(headHtml, bodyHtml, topBarHtml, bottomBarHtml){\n      return '<div class=\"widget-wrap\"><div class=\"widget\">' + (topBarHtml || '')\n        + (headHtml ? '<div class=\"widget-head\">'+headHtml+'</div>' : '')\n        + '<div class=\"widget-body\">'+bodyHtml+'</div>'\n        + (bottomBarHtml || '') + '</div></div>';\n    }\n    function flow(steps){\n      var parts = steps.map(function(s,i){ return '<div class=\"flow-step\"><span class=\"flow-num\">'+(i+1)+'</span>'+s+'</div>'; });\n      return '<div class=\"flow\" data-seq>' + parts.join('<div class=\"flow-arrow\">&rarr;</div>') + '</div>';\n    }\n    function chips(label, items){\n      return '<div class=\"chip-label\">'+label+'</div><div class=\"chips\">' + items.map(function(i){return '<span class=\"chip\">'+i+'</span>';}).join('') + '</div>';\n    }\n    function liveStat(n, step, suffix){ return '<span class=\"stat stat-live\" data-n=\"'+n+'\" data-step=\"'+step+'\" data-suffix=\"'+suffix+'\">'+n+suffix+'</span>'; }\n\n    var html = '<div class=\"bfg-deck\">' + D2WM();\n\n    html += '<div class=\"gate\"><div class=\"gate-card\"><svg class=\"wm-mini\" aria-hidden=\"true\"><use href=\"#d2wm\"/></svg><h2>Acesso restrito</h2><div class=\"sub\">Proposta confidencial &mdash; Botafogo. Digite a senha.</div><form class=\"gate-form\"><input class=\"gate-input\" type=\"password\" placeholder=\"Senha\" autocomplete=\"off\"/><button class=\"gate-submit\" type=\"submit\">Entrar</button><div class=\"gate-error\"></div></form></div></div>';\n\n    html += '<div class=\"stage\" id=\"stage\"><div class=\"stripe-spine\"></div>';\n\n    // ============ ATO 1 · QUEM SOMOS ============\n    // 00 — Capa geral\n    var tocAtos = '<button data-goto=\"1\"><span class=\"n\">Ato 1</span>Quem somos</button>'\n      + '<button data-goto=\"4\"><span class=\"n\">Ato 2</span>A vis&atilde;o para o Botafogo</button>'\n      + '<button data-goto=\"13\"><span class=\"n\">Ato 3</span>Como entregamos</button>';\n    html += '<section class=\"slide cover active\" data-index=\"0\">'\n      + '<span class=\"eyebrow\">Proposta de parceria tecnol&oacute;gica</span>'\n      + '<div class=\"xrow\" style=\"margin-top:1.6rem\"><svg class=\"wm-big\" style=\"width:clamp(150px,20vw,240px)\" aria-hidden=\"true\" viewBox=\"0 0 459.554 148.471\"><use href=\"#d2wm\"/></svg><span class=\"x\">&times;</span>' + starW + '<span class=\"bname\">BOTAFOGO</span></div>'\n      + '<h1 style=\"margin-top:1.8rem\">O bra&ccedil;o tech<br>do Botafogo</h1>'\n      + '<div class=\"sub\">Plataforma, squad e um semestre de entregas &mdash; em tr&ecirc;s atos: quem somos, o que constru&iacute;mos juntos e como entregamos.</div>'\n      + '<nav class=\"toc\">' + tocAtos + '</nav>'\n      + '<div class=\"foot\"><span>Proposta confidencial</span><span>Botafogo</span></div>'\n      + '</section>';\n\n    // 01 — Quem somos\n    html += '<section class=\"slide d2s\" data-index=\"1\">' + headD('02')\n      + '<span class=\"eyebrow\" style=\"margin-top:1rem\">Ato 1 &middot; Quem somos</span>'\n      + '<h1 class=\"dh1\">Da necessidade &agrave; produ&ccedil;&atilde;o.<br>O resto &eacute; demo.</h1>'\n      + '<p class=\"dsub\">O dif&iacute;cil nunca foi a ideia &mdash; foi chegar em produ&ccedil;&atilde;o. A Data&sup2; &eacute; uma runtime completa e um time que constr&oacute;i com voc&ecirc;: sistemas no ar em semanas, n&atilde;o trimestres.</p>'\n      + '<div class=\"facts\">'\n      + '<div class=\"fact\" data-seq><div class=\"v\">[ANO]</div><div class=\"l\">funda&ccedil;&atilde;o</div><span class=\"ph-pill\">preencher</span></div>'\n      + '<div class=\"fact\" data-seq><div class=\"v\">[N]</div><div class=\"l\">pessoas no time</div><span class=\"ph-pill\">preencher</span></div>'\n      + '<div class=\"fact\" data-seq><div class=\"v\">[N]</div><div class=\"l\">sistemas em produ&ccedil;&atilde;o</div><span class=\"ph-pill\">preencher</span></div>'\n      + '<div class=\"fact\" data-seq><div class=\"v\">[N]</div><div class=\"l\">setores atendidos</div><span class=\"ph-pill\">preencher</span></div>'\n      + '</div>'\n      + '<div class=\"payoffline\"><span class=\"pdot\"></span><span>Esta apresenta&ccedil;&atilde;o roda na pr&oacute;pria <b>runtime</b> que ela apresenta.</span></div>'\n      + foot() + '</section>';\n\n    // 02 — A plataforma\n    var prods = [\n      ['#4866FA','UI','Telas, apps e portais &mdash; a interface nasce pronta pra produ&ccedil;&atilde;o.'],\n      ['#FA4848','Registry','Cadastros e dados em escala de milh&otilde;es.'],\n      ['#48FAA1','ID','Login, identidade e permiss&otilde;es &mdash; o perfil &uacute;nico vive aqui.'],\n      ['#FADC48','Media','Imagem e m&iacute;dia geradas sob demanda.'],\n      ['#FA48DC','Domain','Intelig&ecirc;ncia multimodal: texto, voz, imagem e vis&atilde;o.'],\n      ['#8448FA','Rush','Escuta tudo que chega: webhook, WhatsApp, telefone, cron.'],\n      ['#BFFA48','Cashier','Transaciona: pagamento, split, assinatura.'],\n      ['#48FAFA','Connect','Fala com qualquer sistema: bilheteria, s&oacute;cio, loja, ERP.']\n    ];\n    var prodHtml = prods.map(function(p){\n      return '<div class=\"prod\" data-seq style=\"--pc:'+p[0]+'\"><div class=\"pn\"><span class=\"pd\"></span>'+p[1]+'</div><div class=\"pv\">'+p[2]+'</div></div>';\n    }).join('');\n    html += '<section class=\"slide d2s\" data-index=\"2\">' + headD('03')\n      + '<span class=\"eyebrow\" style=\"margin-top:1rem\">Ato 1 &middot; A plataforma</span>'\n      + '<h1 class=\"dh1\">N&atilde;o &eacute; um stack. &Eacute; uma runtime.</h1>'\n      + '<p class=\"dsub\">Oito produtos numa linguagem s&oacute; &mdash; interface, dados, identidade, m&iacute;dia, intelig&ecirc;ncia, eventos, pagamentos e integra&ccedil;&otilde;es nascem juntos. &Eacute; por isso que a dist&acirc;ncia entre a ideia e o sistema no ar cai de trimestres pra semanas.</p>'\n      + '<div class=\"prodgrid\">' + prodHtml + '</div>'\n      + '<div class=\"payoffline\"><span class=\"pdot\"></span><span>Cada produto da vis&atilde;o do Ato 2 combina esses oito &mdash; <b>sem cola, sem fornecedor extra</b>.</span></div>'\n      + foot() + '</section>';\n\n    // 03 — Prova\n    html += '<section class=\"slide d2s\" data-index=\"3\">' + headD('04')\n      + '<span class=\"eyebrow\" style=\"margin-top:1rem\">Ato 1 &middot; Prova</span>'\n      + '<h1 class=\"dh1\">J&aacute; est&atilde;o no ar.</h1>'\n      + '<p class=\"dsub\">Nada aqui &eacute; slideware: cada sistema constru&iacute;do na Data&sup2; tem endere&ccedil;o e usu&aacute;rio de verdade.</p>'\n      + '<div class=\"logogrid\">'\n      + '<div class=\"logoph\" data-seq>logo cliente</div><div class=\"logoph\" data-seq>logo cliente</div><div class=\"logoph\" data-seq>logo cliente</div>'\n      + '<div class=\"logoph\" data-seq>logo cliente</div><div class=\"logoph\" data-seq>logo cliente</div><div class=\"logoph\" data-seq>logo cliente</div>'\n      + '</div>'\n      + '<div class=\"caseline\" data-seq><b>Caso 1 &middot; preencher</b>[Uma linha sobre um caso em produ&ccedil;&atilde;o &mdash; ex.: atendimento com IA por voz e WhatsApp operando em escala nacional.]</div>'\n      + '<div class=\"caseline\" data-seq><b>Caso 2 &middot; preencher</b>[Uma linha sobre um segundo caso &mdash; ex.: opera&ccedil;&atilde;o de dados e intelig&ecirc;ncia para bem de consumo.]</div>'\n      + foot() + '</section>';\n\n    // ============ ATO 2 · A VISÃO ============\n    // 04 — Capa da visão\n    var tocItems = [\n      [5,'Vendas',''], [6,'Atendimento',''], [7,'Redes sociais',''], [8,'Aplicativo',''], [9,'Perfil &uacute;nico',''], [10,'MCP',''], [11,'Outros','bonus'], [12,'Botafogo Audience','finale']\n    ];\n    var tocHtml = tocItems.map(function(t, i){\n      var cls = t[2] ? ' class=\"' + t[2] + '\"' : '';\n      var n = ('0' + (i+1));\n      return '<button' + cls + ' data-goto=\"' + t[0] + '\"><span class=\"n\">' + n + '</span>' + t[1] + '</button>';\n    }).join('');\n    html += '<section class=\"slide cover\" data-index=\"4\">'\n      + '<span class=\"eyebrow\">Ato 2 &middot; A vis&atilde;o para o Botafogo</span>'\n      + '<svg class=\"cover-star\" viewBox=\"0 0 24 24\"><path d=\"M12 1l2.6 7.2H22l-6 4.6 2.3 7.2L12 15.8 5.7 20l2.3-7.2-6-4.6h7.4z\"/></svg>'\n      + '<h1>Acesso &agrave; tecnologia</h1>'\n      + '<div class=\"sub\">Seis produtos, constru&iacute;dos um a um. No final, todos se conectam num motor &uacute;nico de monetiza&ccedil;&atilde;o: o Botafogo Audience.</div>'\n      + '<nav class=\"toc\">' + tocHtml + '</nav>'\n      + '<div class=\"foot\"><span>Proposta confidencial</span><span>Botafogo</span></div>'\n      + '</section>';\n\n    // 05 — Vendas\n    html += '<section class=\"slide solution\" data-index=\"5\">' + head('06')\n      + '<div class=\"sol-title\"><span class=\"eyebrow\">Solu&ccedil;&atilde;o 01 &middot; Vendas com agente</span><h1>Um agente que vende o lugar certo &mdash; e ainda oferece a camisa.</h1>'\n      + '<p>O torcedor diz o que quer; o agente cruza setor, pre&ccedil;o e disponibilidade e fecha a compra na pr&oacute;pria conversa. E, no momento de maior inten&ccedil;&atilde;o, oferece o pr&oacute;ximo item certo.</p></div>'\n      + flow(['Torcedor pede','Agente decide','Fecha a compra','Oferece a camisa'])\n      + '<div class=\"sol-body\"><div class=\"sol-left\">'\n      + pros([\n          'Fecha a venda dentro da conversa &mdash; sem redirecionar pra outro site.',\n          'Depois do ingresso, oferece a camisa do jogo na mesma conversa &mdash; cross-sell no momento de maior inten&ccedil;&atilde;o de compra.',\n          'Mesmo princ&iacute;pio do \"compre junto\" da Amazon e do checkout no WhatsApp que Natura e Magalu j&aacute; usam no Brasil.'\n        ])\n      + '</div>'\n      + widget(\n          '<span class=\"dot-status pulse\"></span><span class=\"name\">Assistente de Ingressos</span>' + liveStat(18,3,' vendo esse jogo'),\n          '<div class=\"bubble user\" data-seq>quero ver o jogo de domingo, com a fam&iacute;lia, at&eacute; R$400</div>'\n          + '<div class=\"typing\" data-seq><span></span><span></span><span></span></div>'\n          + '<div class=\"bubble bot\" data-seq data-hide=\".typing\">achei uma boa op&ccedil;&atilde;o pra voc&ecirc;s:</div>'\n          + '<div class=\"result-card\" data-seq><div class=\"r-title\">Setor Sul &middot; 4 lugares juntos</div><div class=\"r-line\">R$ 92 cada &middot; sobra R$32 pra um combo</div><div class=\"r-total\">Total: <span data-count-to=\"368\" data-count-prefix=\"R$ \">R$ 0</span></div><button type=\"button\" tabindex=\"-1\">Finalizar compra</button></div>'\n          + '<div class=\"bubble sys\" data-seq>pagamento confirmado &middot; Pix</div>'\n          + '<div class=\"bubble bot\" data-seq>j&aacute; que voc&ecirc; vai ao jogo...</div>'\n          + '<div class=\"xsell\" data-seq><div class=\"xsell-thumb\"></div><div class=\"xsell-info\"><b>Camisa 2026 &middot; torcedor</b><span>combina com seu setor &middot; R$249</span></div><button type=\"button\" tabindex=\"-1\">Adicionar</button></div>'\n        )\n      + '</div>' + footSol('Alimenta o Audience: prefer&ecirc;ncia de setor e ticket m&eacute;dio') + '</section>';\n\n    // 06 — Atendimento\n    html += '<section class=\"slide solution\" data-index=\"6\">' + head('07')\n      + '<div class=\"sol-title\"><span class=\"eyebrow\">Solu&ccedil;&atilde;o 02 &middot; Atendimento &mdash; a mesma conversa continua</span><h1>A venda foi s&oacute; o come&ccedil;o. O mesmo agente segue com o torcedor, em qualquer canal.</h1>'\n      + '<p>Ingresso que n&atilde;o chegou, troca de setor, 2&ordf; via, renova&ccedil;&atilde;o: a IA resolve o simples na hora e transfere o resto pra um atendente humano &mdash; com o hist&oacute;rico completo, sem o torcedor repetir nada.</p></div>'\n      + flow(['Compra vira conversa','IA resolve o simples','Humano assume o resto'])\n      + '<div class=\"sol-body\"><div class=\"sol-left\">'\n      + pros([\n          'Venda e atendimento na mesma conversa &mdash; o torcedor n&atilde;o muda de canal pra ser atendido.',\n          'O que precisa de humano vai pra fila certa, com o hist&oacute;rico completo &mdash; ningu&eacute;m reconta a hist&oacute;ria.',\n          'Essa arquitetura j&aacute; roda em produ&ccedil;&atilde;o hoje.'\n        ])\n      + chips('Dispon&iacute;vel em', ['WhatsApp','App','Web','Telefone'])\n      + '</div>'\n      + widget(\n          '<span class=\"dot-status pulse\"></span><span class=\"name\">Atendimento Botafogo</span>' + liveStat(27,2,' resolvidos hoje'),\n          '<div class=\"bubble user\" data-seq>comprei 4 ingressos pro domingo, mas s&oacute; chegaram 3 no e-mail</div>'\n          + '<div class=\"typing\" data-seq><span></span><span></span><span></span></div>'\n          + '<div class=\"bubble bot\" data-seq data-hide=\".typing\">achei seu pedido &mdash; o 4&ordm; ingresso falhou no envio. Reenviei agora:</div>'\n          + '<div class=\"result-card\" data-seq><div class=\"r-title\">Pedido #8412 &middot; 4&times; Setor Sul</div><div class=\"r-ok\">4&ordm; ingresso reenviado agora &#10003;</div></div>'\n          + '<div class=\"bubble user\" data-seq>chegou! aproveitando: d&aacute; pra trocar pro setor coberto?</div>'\n          + '<div class=\"bubble sys\" data-seq>&rarr; transferido pra Marina (humano)</div>'\n          + '<div class=\"bubble bot\" data-seq>Marina: oi! vi seu pedido aqui, vamos ver as op&ccedil;&otilde;es de troca</div>'\n        )\n      + '</div>' + footSol('Alimenta o Audience: inten&ccedil;&atilde;o e motivo de contato') + '</section>';\n\n    // 07 — Redes sociais\n    html += '<section class=\"slide solution\" data-index=\"7\">' + head('08')\n      + '<div class=\"sol-title\"><span class=\"eyebrow\">Solu&ccedil;&atilde;o 03 &middot; Monitoramento de redes sociais</span><h1>Cada post do clube, medido, comparado e transformado na pr&oacute;xima ideia.</h1>'\n      + '<p>O sistema l&ecirc; os posts do Instagram do clube, cruza alcance e engajamento entre eles e aponta o que funciona: formato, hor&aacute;rio, tema. E sugere o pr&oacute;ximo conte&uacute;do.</p></div>'\n      + flow(['Post entra','IA cruza engajamento','Sugere o pr&oacute;ximo'])\n      + '<div class=\"sol-body\"><div class=\"sol-left\">'\n      + pros([\n          'L&ecirc; os posts reais da conta e calcula alcance, engajamento, salvamentos e compartilhamentos sozinho.',\n          'Aponta o padr&atilde;o que funciona: formato, hor&aacute;rio e tema que mais engajam.',\n          'Sugere a ideia do pr&oacute;ximo conte&uacute;do &mdash; n&atilde;o s&oacute; analisa o passado.'\n        ])\n      + '</div>'\n      + widget(\n          '<span class=\"dot-status pulse\"></span><span class=\"name\">Radar de Redes</span>' + liveStat(312,4,' men&ccedil;&otilde;es hoje'),\n          '<div class=\"sp-stats\" data-seq><div class=\"sp-stat\"><b data-count-to=\"31\">0</b><span>posts</span></div><div class=\"sp-stat\"><b data-count-to=\"9.8\" data-count-decimals=\"1\" data-count-suffix=\"%\">0%</b><span>engaj. m&eacute;dio</span></div><div class=\"sp-stat\"><b>Reels</b><span>melhor formato</span></div></div>'\n          + '<div class=\"sp-chart\" data-seq><div class=\"sp-barcol\"><div class=\"sp-bar\" data-grow data-h=\"71\"></div><div class=\"sp-bl\">Foto<br>8,2%</div></div><div class=\"sp-barcol\"><div class=\"sp-bar\" data-grow data-h=\"84\"></div><div class=\"sp-bl\">Reels<br>9,8%</div></div><div class=\"sp-barcol\"><div class=\"sp-bar hi\" data-grow data-h=\"100\"></div><div class=\"sp-bl\">Carrossel<br>11,6%</div></div></div>'\n          + '<div class=\"sp-post\" data-seq><div class=\"sp-thumb\"></div><div class=\"sp-post-info\"><div class=\"sp-cap\">&ldquo;Vit&oacute;ria 3x0 no cl&aacute;ssico&rdquo;</div><div class=\"sp-tags\">48,2K curtidas &middot; 9,4% engajamento</div></div></div>'\n          + '<div class=\"sp-insight\" data-seq><span class=\"sp-insight-tag\">Sugest&atilde;o pro pr&oacute;ximo post</span>Reels de resultado &agrave; noite passa de 800 mil visualiza&ccedil;&otilde;es &mdash; melhor hor&aacute;rio pra publicar.</div>'\n        )\n      + '</div>' + footSol('Alimenta o Audience: comportamento e afinidade de conte&uacute;do') + '</section>';\n\n    // 08 — Aplicativo\n    html += '<section class=\"slide solution\" data-index=\"8\">' + head('09')\n      + '<div class=\"sol-title\"><span class=\"eyebrow\">Solu&ccedil;&atilde;o 04 &middot; Aplicativo do torcedor</span><h1>O clube inteiro no bolso do torcedor &mdash; crescendo um m&oacute;dulo de cada vez.</h1>'\n      + '<p>Ingresso, loja oficial, not&iacute;cias, &aacute;rea de s&oacute;cio, carteirinha digital &mdash; hoje espalhados por quatro ou cinco apps e sites. Aqui, tudo debaixo do mesmo teto.</p></div>'\n      + flow(['M&oacute;dulo entra','Mesma conta, mesmo design','Cresce por partes'])\n      + '<div class=\"sol-body\"><div class=\"sol-left\">'\n      + pros([\n          'Cada tela nova (enquete, agente de ingresso, chat de atendimento) entra como m&oacute;dulo.',\n          'Mesma base de dados, mesmo design, mesma conta em todo lugar.',\n          'Cresce por partes &mdash; n&atilde;o precisa nascer completo pra valer a pena.'\n        ])\n      + '</div>'\n      + widget(\n          '',\n          '<div class=\"phone-hero\" data-seq><div class=\"ph-eyebrow\">PR&Oacute;XIMO JOGO</div><div class=\"ph-main\">Domingo, 16h &middot; Botafogo x Rival</div><div class=\"ph-live\"><span class=\"d\"></span>Ingressos &agrave; venda</div></div>'\n          + '<div class=\"ph-section\">Acesso r&aacute;pido</div>'\n          + '<div class=\"apptiles\" data-seq style=\"margin:.5rem .85rem 0;\">'\n          + '<div class=\"apptile\"><span class=\"ic\">I</span>Ingresso<span class=\"badge\">2</span></div>'\n          + '<div class=\"apptile\"><span class=\"ic\">L</span>Loja</div>'\n          + '<div class=\"apptile\"><span class=\"ic\">N</span>Not&iacute;cias<span class=\"badge\">5</span></div>'\n          + '<div class=\"apptile\"><span class=\"ic\">S</span>S&oacute;cio</div>'\n          + '<div class=\"apptile\"><span class=\"ic\">C</span>Carteirinha</div>'\n          + '<div class=\"apptile\"><span class=\"ic\">A</span>Atendimento</div>'\n          + '</div>',\n          '<div class=\"phone-bar\"><span>9:41</span><span class=\"batt\"></span></div>',\n          '<div class=\"phone-tabbar\" data-seq><div class=\"pt active\">In&iacute;cio</div><div class=\"pt\">Ingresso</div><div class=\"pt\">Loja</div><div class=\"pt\">Perfil</div></div>'\n        )\n      + '</div>' + footSol('Alimenta o Audience: frequ&ecirc;ncia e uso por m&oacute;dulo') + '</section>';\n\n    // 09 — Perfil único\n    html += '<section class=\"slide solution\" data-index=\"9\">' + head('10')\n      + '<div class=\"sol-title\"><span class=\"eyebrow\">Solu&ccedil;&atilde;o 05 &middot; Perfil &uacute;nico do torcedor</span><h1>Login n&atilde;o &eacute; s&oacute; entrar. &Eacute; o clube conhecer o torcedor por inteiro.</h1>'\n      + '<p>\"Entrar com Botafogo\" &eacute; a base &mdash; mas o que ela destrava &eacute; maior: hist&oacute;rico de ingressos, presen&ccedil;a nos jogos e comportamento nas redes sociais, tudo no mesmo perfil.</p></div>'\n      + flow(['Torcedor entra 1&times;','Dados se juntam','Perfil completo em qualquer tela'])\n      + '<div class=\"sol-body\"><div class=\"sol-left\">'\n      + pros([\n          'Sabe quais jogos o torcedor comprou e em quais realmente esteve &mdash; n&atilde;o s&oacute; a inten&ccedil;&atilde;o.',\n          'Cruza com o comportamento nas redes: o que curte, comenta e compartilha.',\n          'Atendimento, vendas e marketing enxergam a mesma pessoa &mdash; n&atilde;o tr&ecirc;s cadastros diferentes.'\n        ])\n      + '</div>'\n      + widget(\n          '<span class=\"dot-status\"></span><span class=\"name\">Perfil do Torcedor</span><span class=\"stat\">atualizado agora</span>',\n          '<div class=\"up-head\" data-seq><div class=\"avatar\">J</div><div><div class=\"up-name\">Julia R.</div><div class=\"up-sub\">S&oacute;cia desde 2019</div></div></div>'\n          + '<div class=\"up-sources\" data-seq><span class=\"src\">Ingressos</span><span class=\"src\">Jogos</span><span class=\"src\">Redes sociais</span></div>'\n          + '<div class=\"up-stat-row\" data-seq><div class=\"up-stat\"><b>8/10</b><span>jogos em casa</span></div><div class=\"up-stat\"><b>Setor Sul</b><span>preferido</span></div><div class=\"up-stat\"><b>Fiel</b><span>perfil social</span></div></div>'\n          + '<div class=\"sp-insight\" data-seq><span class=\"sp-insight-tag\">Perfil social</span>Comenta em posts de resultado e engaja mais &agrave; noite &mdash; torcedora ativa nas redes.</div>'\n        )\n      + '</div>' + footSol('Alimenta o Audience: identidade unificada') + '</section>';\n\n    // 10 — MCP\n    html += '<section class=\"slide solution\" data-index=\"10\">' + head('11')\n      + '<div class=\"sol-title\"><span class=\"eyebrow\">Solu&ccedil;&atilde;o 06 &middot; Acesso &agrave; tecnologia<span class=\"live-badge\"><span class=\"d\"></span>OPORTUNIDADE PIONEIRA</span></span><h1>N&atilde;o &eacute; s&oacute; suporte por IA. &Eacute; o Botafogo dentro do ChatGPT, do Claude e do Gemini de cada torcedor &mdash; o primeiro clube do pa&iacute;s a abrir essa porta.</h1>'\n      + '<p>Um MCP abre um canal novo: qualquer assistente de IA passa a falar com o clube. N&atilde;o &eacute; s&oacute; pergunta e resposta &mdash; cr&iacute;tica, sugest&atilde;o e ideia da torcida chegam em escala, direto de onde ela j&aacute; conversa todo dia.</p></div>'\n      + flow(['Torcedor pergunta ao pr&oacute;prio assistente','O assistente consulta o Botafogo','Clube responde, vende e escuta'])\n      + '<div class=\"sol-body\"><div class=\"sol-left\">'\n      + pros([\n          'Fala com o torcedor onde ele j&aacute; vive: dentro do assistente de IA que ele usa todo dia.',\n          'Mais que resolver problema: um canal de escuta &mdash; cr&iacute;tica, sugest&atilde;o, ideia &mdash; em escala, sem formul&aacute;rio.',\n          'Nenhum clube brasileiro fez isso ainda. D&aacute; pra ser o primeiro.'\n        ])\n      + '</div>'\n      + '<div class=\"widget-wrap\"><div class=\"mcp-stack\">'\n      + '<div class=\"mcp-win w1\" data-seq><div class=\"widget-head\"><span class=\"dot-status pulse\"></span><span class=\"name\">ChatGPT</span><span class=\"stat\">via Botafogo MCP</span></div><div class=\"mcp-body\"><div class=\"bubble user\">tem jogo do Botafogo no dia dos pais?</div><div class=\"bubble bot\">Tem! Domingo, 16h, em casa. J&aacute; garanto 2 ingressos juntos pra voc&ecirc; e seu pai?</div><div class=\"bubble user\">fecha!</div></div></div>'\n      + '<div class=\"mcp-win w2\" data-seq><div class=\"widget-head\"><span class=\"dot-status pulse\"></span><span class=\"name\">Claude</span><span class=\"stat\">via Botafogo MCP</span></div><div class=\"mcp-body\"><div class=\"bubble user\">presente do Botafogo pro meu filho de 10 anos, at&eacute; R$200?</div><div class=\"bubble bot\">Camisa infantil + tour no est&aacute;dio no s&aacute;bado. Reservo os dois?</div></div></div>'\n      + '<div class=\"mcp-win w3\" data-seq><div class=\"widget-head\"><span class=\"dot-status pulse\"></span><span class=\"name\">Gemini</span><span class=\"stat\">via Botafogo MCP</span></div><div class=\"mcp-body\"><div class=\"bubble user\">manda minha sugest&atilde;o pro clube: voltar o uniforme listrado</div><div class=\"bubble bot\">Enviada! Chegou direto no radar do clube.</div></div></div>'\n      + '</div></div>'\n      + '</div>' + footSol('Alimenta o Audience: inten&ccedil;&atilde;o capturada por IA em escala') + '</section>';\n\n    // 11 — Outros\n    var outrosCards = [\n      ['Melhores momentos por IA','Corta autom&aacute;tico cada gol e cada defesa, por jogador ou por torcedor &mdash; pronto pra postar no story.','Comprovado &middot; Cleveland Cavaliers + WSC Sports (+83% downloads)'],\n      ['Camisa desenhada pela torcida','O torcedor desenha com IA a sua vers&atilde;o do manto; as melhores v&atilde;o &agrave; vota&ccedil;&atilde;o &mdash; uma j&aacute; foi usada em campo, de verdade.','Comprovado &middot; Manchester City x Puma'],\n      ['S&oacute;cio com poder de decis&atilde;o','N&iacute;veis com benef&iacute;cio real (n&atilde;o s&oacute; desconto) e voto em decis&otilde;es menores do clube.','Em expans&atilde;o &middot; modelo usado por Barcelona, PSG e Flamengo'],\n      ['Document&aacute;rio do dia a dia','Bastidor, vesti&aacute;rio, diretoria &mdash; com o drama que s&oacute; o Botafogo d&aacute;.','Formato provado, dif&iacute;cil de copiar &middot; F1 \"Drive to Survive\" (Netflix)'],\n      ['RH com triagem por IA','Curr&iacute;culo chega, a IA organiza a fila de prioridade pra entrevista &mdash; n&atilde;o &eacute; a estrela do pacote, mas economiza tempo de verdade.','Pr&aacute;tico, n&atilde;o &eacute; vitrine']\n    ];\n    var outrosHtml = outrosCards.map(function(c){\n      return '<div class=\"o-card\"><div class=\"o-title\">' + c[0] + '</div><div class=\"o-desc\">' + c[1] + '</div><div class=\"o-tag\">' + c[2] + '</div></div>';\n    }).join('');\n    html += '<section class=\"slide\" data-index=\"11\">' + head('12')\n      + '<span class=\"eyebrow\" style=\"margin-top:1rem\">Fora do pacote principal</span>'\n      + '<h2 style=\"font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:800;color:var(--ink);margin-top:.4rem;max-width:44ch;\">Cinco frentes a mais. N&atilde;o travam o pacote se ficarem de fora agora.</h2>'\n      + '<div class=\"outros-grid\">' + outrosHtml + '</div>'\n      + '</section>';\n\n    // 12 — Botafogo Audience\n    var dot = function(x,y,delay){ return '<circle r=\"4\" fill=\"var(--status)\"><animateMotion dur=\"2.4s\" begin=\"'+delay+'s\" repeatCount=\"indefinite\" path=\"M '+x+' '+y+' L 200 200\"/></circle>'; };\n    html += '<section class=\"slide\" data-index=\"12\">' + head('13')\n      + '<div class=\"aud-title\"><span class=\"eyebrow\">O que conecta tudo</span><h1>Seis produtos. Um motor &uacute;nico de monetiza&ccedil;&atilde;o: o Botafogo Audience.</h1>'\n      + '<p>Cada produto gera um tipo de dado sobre o torcedor: o que compra, como usa o app, o que fala nas redes, o que pergunta &agrave; IA. Junto, isso vira uma audi&ecirc;ncia segment&aacute;vel que o clube j&aacute; &eacute; dono &mdash; e pode monetizar de v&aacute;rias formas, sem depender de painel de est&aacute;dio ou verba de emissora.</p></div>'\n      + '<div class=\"aud-body\">'\n      + '<div class=\"aud-hub-wrap\"><div class=\"aud-hub\"><svg viewBox=\"0 0 400 400\">'\n      + '<line x1=\"200\" y1=\"200\" x2=\"200\" y2=\"50\" stroke=\"var(--grey-3)\" stroke-width=\"1.5\"/>'\n      + '<line x1=\"200\" y1=\"200\" x2=\"330\" y2=\"125\" stroke=\"var(--grey-3)\" stroke-width=\"1.5\"/>'\n      + '<line x1=\"200\" y1=\"200\" x2=\"330\" y2=\"275\" stroke=\"var(--grey-3)\" stroke-width=\"1.5\"/>'\n      + '<line x1=\"200\" y1=\"200\" x2=\"200\" y2=\"350\" stroke=\"var(--grey-3)\" stroke-width=\"1.5\"/>'\n      + '<line x1=\"200\" y1=\"200\" x2=\"70\" y2=\"275\" stroke=\"var(--grey-3)\" stroke-width=\"1.5\"/>'\n      + '<line x1=\"200\" y1=\"200\" x2=\"70\" y2=\"125\" stroke=\"var(--grey-3)\" stroke-width=\"1.5\"/>'\n      + (reduced ? '' : dot(200,50,0) + dot(330,125,.3) + dot(330,275,.6) + dot(200,350,.9) + dot(70,275,1.2) + dot(70,125,1.5))\n      + '<circle cx=\"200\" cy=\"200\" r=\"44\" fill=\"var(--status)\"/>'\n      + '<text x=\"200\" y=\"197\" text-anchor=\"middle\" fill=\"var(--paper)\" font-size=\"9\" font-weight=\"700\">BOTAFOGO</text>'\n      + '<text x=\"200\" y=\"209\" text-anchor=\"middle\" fill=\"var(--paper)\" font-size=\"9\" font-weight=\"700\">AUDIENCE</text>'\n      + '<circle cx=\"200\" cy=\"50\" r=\"8\" fill=\"var(--ink)\"/>'\n      + '<text x=\"200\" y=\"34\" text-anchor=\"middle\" fill=\"var(--ink)\" font-size=\"11.5\" font-weight=\"700\">Vendas</text>'\n      + '<circle cx=\"330\" cy=\"125\" r=\"8\" fill=\"var(--ink)\"/>'\n      + '<text x=\"344\" y=\"129\" text-anchor=\"start\" fill=\"var(--ink)\" font-size=\"11.5\" font-weight=\"700\">Atendimento</text>'\n      + '<circle cx=\"330\" cy=\"275\" r=\"8\" fill=\"var(--ink)\"/>'\n      + '<text x=\"344\" y=\"279\" text-anchor=\"start\" fill=\"var(--ink)\" font-size=\"11.5\" font-weight=\"700\">Redes</text>'\n      + '<circle cx=\"200\" cy=\"350\" r=\"8\" fill=\"var(--ink)\"/>'\n      + '<text x=\"200\" y=\"370\" text-anchor=\"middle\" fill=\"var(--ink)\" font-size=\"11.5\" font-weight=\"700\">App</text>'\n      + '<circle cx=\"70\" cy=\"275\" r=\"8\" fill=\"var(--ink)\"/>'\n      + '<text x=\"56\" y=\"279\" text-anchor=\"end\" fill=\"var(--ink)\" font-size=\"11.5\" font-weight=\"700\">Perfil</text>'\n      + '<circle cx=\"70\" cy=\"125\" r=\"8\" fill=\"var(--ink)\"/>'\n      + '<text x=\"56\" y=\"129\" text-anchor=\"end\" fill=\"var(--ink)\" font-size=\"11.5\" font-weight=\"700\">MCP</text>'\n      + '</svg></div></div>'\n      + '<div class=\"aud-cards\">'\n      + '<div class=\"a-card\"><div class=\"a-tag\">Publicidade</div><div class=\"a-title\">Publicidade segmentada nos canais pr&oacute;prios</div><div class=\"a-desc\">Marca compra alcance direcionado por regi&atilde;o, comportamento e interesse &mdash; dentro do app, site e WhatsApp que o clube j&aacute; tem.</div></div>'\n      + '<div class=\"a-card\"><div class=\"a-tag\">Patroc&iacute;nio</div><div class=\"a-title\">Patroc&iacute;nio sob medida por segmento</div><div class=\"a-desc\">Patrocinador paga um pr&ecirc;mio pra alcan&ccedil;ar exatamente quem vai a todo jogo e compra produto oficial &mdash; usando o perfil &uacute;nico, n&atilde;o estimativa.</div></div>'\n      + '<div class=\"a-card\"><div class=\"a-tag\">Dados</div><div class=\"a-title\">Intelig&ecirc;ncia de mercado pro patrocinador</div><div class=\"a-desc\">Relat&oacute;rio agregado e an&ocirc;nimo do que a torcida fala e sente sobre a marca &mdash; gerado pelo monitoramento de redes.</div></div>'\n      + '<div class=\"a-card\"><div class=\"a-tag\">Comiss&atilde;o</div><div class=\"a-title\">Comiss&atilde;o em oferta de parceiro</div><div class=\"a-desc\">Quando o agente oferece produto de parceiro dentro da conversa, o clube fica com uma fatia da venda.</div></div>'\n      + '</div>'\n      + '</div>'\n      + foot() + '</section>';\n\n    // ============ ATO 3 · COMO ENTREGAMOS ============\n    // 13 — Modelo de trabalho\n    html += '<section class=\"slide d2s\" data-index=\"13\">' + headD('14')\n      + '<span class=\"eyebrow\" style=\"margin-top:1rem\">Ato 3 &middot; Como entregamos</span>'\n      + '<h1 class=\"dh1\">Constru&iacute;mos com voc&ecirc;. N&atilde;o pra voc&ecirc;.</h1>'\n      + '<p class=\"dsub\">Uma squad dedicada, embarcada no clube, entregando em sprints de duas semanas &mdash; com tudo vis&iacute;vel num ambiente de staging desde a primeira.</p>'\n      + '<div class=\"sqgrid\">'\n      + '<div class=\"sq\" data-seq><div class=\"si\">?</div><div class=\"sr\">[Papel 1]</div><div class=\"sd\">ex.: arquiteto de produto</div><span class=\"ph-pill\">preencher</span></div>'\n      + '<div class=\"sq\" data-seq><div class=\"si\">?</div><div class=\"sr\">[Papel 2]</div><div class=\"sd\">ex.: builder Data&sup2;</div><span class=\"ph-pill\">preencher</span></div>'\n      + '<div class=\"sq\" data-seq><div class=\"si\">?</div><div class=\"sr\">[Papel 3]</div><div class=\"sd\">ex.: builder Data&sup2;</div><span class=\"ph-pill\">preencher</span></div>'\n      + '<div class=\"sq\" data-seq><div class=\"si\">?</div><div class=\"sr\">[Papel 4]</div><div class=\"sd\">ex.: designer</div><span class=\"ph-pill\">preencher</span></div>'\n      + '<div class=\"sq\" data-seq><div class=\"si\">?</div><div class=\"sr\">[Papel 5]</div><div class=\"sd\">ex.: l&iacute;der de entrega</div><span class=\"ph-pill\">preencher</span></div>'\n      + '</div>'\n      + '<div class=\"chipsd\"><span class=\"chipd\">Sprints de 2 semanas</span><span class=\"chipd\">Review quinzenal com o clube</span><span class=\"chipd\">Staging aberto pro clube acompanhar</span><span class=\"chipd\">Tudo no ar &mdash; nada de slide de status</span></div>'\n      + foot() + '</section>';\n\n    // 14 — Roadmap do semestre\n    var rmap = [\n      ['M&Ecirc;S 1','Funda&ccedil;&atilde;o + Radar de Redes','Perfil &uacute;nico v1 e base do torcedor; radar de redes operando no dia a dia do clube.'],\n      ['M&Ecirc;S 2','Atendimento multicanal','WhatsApp e web com transbordo pra humano &mdash; arquitetura que j&aacute; rodamos em produ&ccedil;&atilde;o.'],\n      ['M&Ecirc;S 3','Agente de vendas','Venda de ingresso na conversa, com cross-sell. Depende da integra&ccedil;&atilde;o com a bilheteria.'],\n      ['M&Ecirc;S 4','App do torcedor v1','Ingresso, not&iacute;cias, carteirinha e atendimento &mdash; reusando tudo dos meses 1-3.'],\n      ['M&Ecirc;S 5','Botafogo MCP','O clube dentro dos assistentes de IA &mdash; primeiro do pa&iacute;s.'],\n      ['M&Ecirc;S 6','Audience v1','Segmenta&ccedil;&atilde;o sobre o perfil &uacute;nico + piloto com um patrocinador real.']\n    ];\n    var rmapHtml = rmap.map(function(r){\n      return '<div class=\"rm\" data-seq><div class=\"rmm\">'+r[0]+'</div><div class=\"rmt\">'+r[1]+'</div><div class=\"rmd\">'+r[2]+'</div><span class=\"rms\">NO AR</span></div>';\n    }).join('');\n    html += '<section class=\"slide d2s\" data-index=\"14\">' + headD('15')\n      + '<span class=\"eyebrow\" style=\"margin-top:1rem\">Ato 3 &middot; Roadmap do semestre</span>'\n      + '<h1 class=\"dh1\">Um semestre. Seis entregas no ar.</h1>'\n      + '<p class=\"dsub\">Cada m&ecirc;s fecha com algo rodando &mdash; n&atilde;o com um relat&oacute;rio de progresso.</p>'\n      + '<div class=\"rmap\">' + rmapHtml + '</div>'\n      + '<div class=\"rmnote\">A ordem se ajusta &agrave;s prioridades do clube e &agrave;s integra&ccedil;&otilde;es dispon&iacute;veis (bilheteria, s&oacute;cio-torcedor, loja). O que n&atilde;o muda: todo m&ecirc;s termina com entrega em produ&ccedil;&atilde;o.</div>'\n      + foot() + '</section>';\n\n    // 15 — Sprint de descoberta\n    html += '<section class=\"slide d2s\" data-index=\"15\">' + headD('16')\n      + '<span class=\"eyebrow\" style=\"margin-top:1rem\">Ato 3 &middot; Come&ccedil;ando menor</span>'\n      + '<h1 class=\"dh1\">Prefere validar antes? Sprint de descoberta.</h1>'\n      + '<p class=\"dsub\">Duas semanas de time embarcado, focadas na frente que o clube escolher. Termina com prot&oacute;tipo rodando e roadmap detalhado &mdash; n&atilde;o com um PDF.</p>'\n      + '<div class=\"steps\">'\n      + '<div class=\"step\" data-seq><div class=\"stn\">1</div><div class=\"stt\">Imers&atilde;o</div><div class=\"std\">Entendemos a opera&ccedil;&atilde;o, os sistemas atuais e a dor priorit&aacute;ria &mdash; com quem vive o problema.</div></div>'\n      + '<div class=\"step\" data-seq><div class=\"stn\">2</div><div class=\"stt\">Constru&ccedil;&atilde;o</div><div class=\"std\">Constru&iacute;mos o prot&oacute;tipo da frente escolhida na runtime &mdash; funcionando, com dados de verdade onde der.</div></div>'\n      + '<div class=\"step\" data-seq><div class=\"stn\">3</div><div class=\"stt\">Entrega</div><div class=\"std\">Prot&oacute;tipo no ar + roadmap do semestre calibrado com o que aprendemos.</div></div>'\n      + '</div>'\n      + '<div class=\"caseline\" data-seq><b>Formato e investimento &middot; preencher</b>[Dura&ccedil;&atilde;o, composi&ccedil;&atilde;o do time e valor da sprint de descoberta &mdash; ou remover este bloco se o valor ficar pra conversa.]</div>'\n      + foot() + '</section>';\n\n    // 16 — Próximos passos\n    html += '<section class=\"slide d2s\" data-index=\"16\">' + headD('17')\n      + '<span class=\"eyebrow\" style=\"margin-top:1rem\">Pr&oacute;ximos passos</span>'\n      + '<h1 class=\"dh1\">Chega de demo.<br>Traga a necessidade &mdash; devolvemos rodando.</h1>'\n      + '<div class=\"steps\" style=\"max-width:900px\">'\n      + '<div class=\"step\" data-seq><div class=\"stn\">1</div><div class=\"stt\">Kickoff</div><div class=\"std\">Uma reuni&atilde;o pra escolher a frente priorit&aacute;ria e definir acessos (bilheteria, s&oacute;cio, redes).</div></div>'\n      + '<div class=\"step\" data-seq><div class=\"stn\">2</div><div class=\"stt\">Sprint 1</div><div class=\"std\">Duas semanas depois, a primeira entrega j&aacute; est&aacute; vis&iacute;vel no staging do clube.</div></div>'\n      + '<div class=\"step\" data-seq><div class=\"stn\">3</div><div class=\"stt\">Ritmo</div><div class=\"std\">Review quinzenal, entrega mensal em produ&ccedil;&atilde;o, roadmap sempre ajust&aacute;vel.</div></div>'\n      + '</div>'\n      + '<div class=\"caseline\" data-seq style=\"max-width:520px\"><b>Contato &middot; preencher</b>[Nome, e-mail e telefone de quem conduz a conta.]</div>'\n      + foot() + '</section>';\n\n    html += '</div>';\n    html += '<div class=\"controls\"><button class=\"nav-btn\" id=\"prev\" aria-label=\"Slide anterior\"><svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M15 5l-7 7 7 7\" stroke=\"var(--ink)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button><div class=\"dots\" id=\"dots\"></div><button class=\"nav-btn\" id=\"next\" aria-label=\"Pr&oacute;ximo slide\"><svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M9 5l7 7-7 7\" stroke=\"var(--ink)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button></div>';\n    html += '</div>';\n\n    return html;\n  },\n  mounted(d2, root) {\n    var GATE_URL = 'https://botafogo-poc.data2apis.com/rush/deck-gate';\n    var STORAGE_KEY = 'bfgPitchUnlocked';\n    var reducedMotion = false;\n    try { reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; } catch (e) {}\n\n    function animateCount(el){\n      var to = parseFloat(el.getAttribute('data-count-to'));\n      if (isNaN(to)) { return; }\n      var from = parseFloat(el.getAttribute('data-count-from') || '0');\n      var suffix = el.getAttribute('data-count-suffix') || '';\n      var prefix = el.getAttribute('data-count-prefix') || '';\n      var decimals = el.getAttribute('data-count-decimals') ? parseInt(el.getAttribute('data-count-decimals'), 10) : 0;\n      var dur = 700;\n      var start = null;\n      function step(ts){\n        if (!start) { start = ts; }\n        var p = Math.min(1, (ts - start) / dur);\n        var val = from + (to - from) * p;\n        el.textContent = prefix + val.toFixed(decimals).replace('.', ',') + suffix;\n        if (p < 1) { requestAnimationFrame(step); }\n      }\n      requestAnimationFrame(step);\n    }\n\n    function showAllImmediate(slideEl){\n      var els = Array.prototype.slice.call(slideEl.querySelectorAll('[data-seq]'));\n      els.forEach(function(el){\n        el.classList.add('show');\n        var hideSel = el.getAttribute('data-hide');\n        if (hideSel) { var t = slideEl.querySelector(hideSel); if (t) { t.style.display = 'none'; } }\n      });\n      Array.prototype.slice.call(slideEl.querySelectorAll('[data-count-to]')).forEach(function(c){\n        var to = parseFloat(c.getAttribute('data-count-to'));\n        var suffix = c.getAttribute('data-count-suffix') || '';\n        var prefix = c.getAttribute('data-count-prefix') || '';\n        var decimals = c.getAttribute('data-count-decimals') ? parseInt(c.getAttribute('data-count-decimals'), 10) : 0;\n        c.textContent = prefix + to.toFixed(decimals).replace('.', ',') + suffix;\n      });\n      Array.prototype.slice.call(slideEl.querySelectorAll('[data-grow]')).forEach(function(b){\n        b.style.height = b.getAttribute('data-h') + '%';\n      });\n    }\n\n    function playWidget(slideEl){\n      if (!slideEl) { return; }\n      if (slideEl.__bfgTimers) { slideEl.__bfgTimers.forEach(clearTimeout); }\n      var els = Array.prototype.slice.call(slideEl.querySelectorAll('[data-seq]'));\n      if (!els.length) { return; }\n      if (reducedMotion) { showAllImmediate(slideEl); return; }\n      els.forEach(function(el){\n        el.classList.remove('show');\n        Array.prototype.slice.call(el.querySelectorAll('[data-grow]')).concat(el.hasAttribute('data-grow') ? [el] : []).forEach(function(b){ b.style.height = '0%'; });\n        Array.prototype.slice.call(el.querySelectorAll('[data-count-to]')).concat(el.hasAttribute('data-count-to') ? [el] : []).forEach(function(c){\n          c.textContent = (c.getAttribute('data-count-prefix') || '') + (c.getAttribute('data-count-from') || '0') + (c.getAttribute('data-count-suffix') || '');\n        });\n      });\n      Array.prototype.slice.call(slideEl.querySelectorAll('.typing')).forEach(function(t){ t.style.display = ''; });\n      var timers = [];\n      els.forEach(function(el, i){\n        var t = setTimeout(function(){\n          el.classList.add('show');\n          var hideSel = el.getAttribute('data-hide');\n          if (hideSel) { var tgt = slideEl.querySelector(hideSel); if (tgt) { tgt.style.display = 'none'; } }\n          var counters = (el.hasAttribute('data-count-to') ? [el] : []).concat(Array.prototype.slice.call(el.querySelectorAll('[data-count-to]')));\n          counters.forEach(animateCount);\n          var bars = (el.hasAttribute('data-grow') ? [el] : []).concat(Array.prototype.slice.call(el.querySelectorAll('[data-grow]')));\n          bars.forEach(function(b){ requestAnimationFrame(function(){ b.style.height = b.getAttribute('data-h') + '%'; }); });\n        }, i * 420 + 150);\n        timers.push(t);\n      });\n      slideEl.__bfgTimers = timers;\n    }\n\n    var gate = root.querySelector('.gate');\n    var gateForm = root.querySelector('.gate-form');\n    var gateInput = root.querySelector('.gate-input');\n    var gateBtn = root.querySelector('.gate-submit');\n    var gateError = root.querySelector('.gate-error');\n\n    function unlock(){\n      try { localStorage.setItem(STORAGE_KEY, '1'); } catch (e) {}\n      gate.classList.add('hidden');\n      if (gateInput) { gateInput.value = ''; }\n    }\n\n    var already = false;\n    try { already = localStorage.getItem(STORAGE_KEY) === '1'; } catch (e) {}\n    if (already) { unlock(); }\n\n    if (gateForm) {\n      gateForm.addEventListener('submit', function(ev){\n        ev.preventDefault();\n        var pw = gateInput ? gateInput.value : '';\n        if (gateBtn) { gateBtn.disabled = true; }\n        if (gateError) { gateError.textContent = ''; }\n        fetch(GATE_URL, {\n          method: 'POST',\n          headers: { 'Content-Type': 'application/json' },\n          body: JSON.stringify({ password: pw })\n        }).then(function (r) { return r.json(); }).then(function (j) {\n          if (gateBtn) { gateBtn.disabled = false; }\n          var ok = j && j.data && j.data.ok;\n          if (ok) {\n            unlock();\n          } else if (gateError) {\n            gateError.textContent = 'Senha errada. Tente de novo.';\n            if (gateInput) { gateInput.value = ''; gateInput.focus(); }\n          }\n        }).catch(function () {\n          if (gateBtn) { gateBtn.disabled = false; }\n          if (gateError) { gateError.textContent = 'Erro ao validar. Tente de novo.'; }\n        });\n      });\n    }\n\n    var slides = Array.prototype.slice.call(root.querySelectorAll('.slide'));\n    var dotsWrap = root.querySelector('#dots');\n    var prevBtn = root.querySelector('#prev');\n    var nextBtn = root.querySelector('#next');\n    var current = 0;\n\n    slides.forEach(function (_, i) {\n      var b = document.createElement('button');\n      b.setAttribute('aria-label', 'Ir para o slide ' + (i + 1));\n      b.addEventListener('click', function () { goTo(i); });\n      dotsWrap.appendChild(b);\n    });\n    var dotEls = Array.prototype.slice.call(dotsWrap.children);\n\n    function render(){\n      slides.forEach(function (s, i) { s.classList.toggle('active', i === current); });\n      dotEls.forEach(function (d, i) { d.classList.toggle('active', i === current); });\n      if (prevBtn) { prevBtn.disabled = current === 0; }\n      if (nextBtn) { nextBtn.disabled = current === slides.length - 1; }\n      playWidget(slides[current]);\n    }\n    function goTo(i){\n      if (i < 0 || i >= slides.length) { return; }\n      current = i;\n      render();\n    }\n    if (prevBtn) { prevBtn.addEventListener('click', function () { goTo(current - 1); }); }\n    if (nextBtn) { nextBtn.addEventListener('click', function () { goTo(current + 1); }); }\n    document.addEventListener('keydown', function (e) {\n      if (e.key === 'ArrowRight') { goTo(current + 1); }\n      if (e.key === 'ArrowLeft') { goTo(current - 1); }\n    });\n\n    var tocBtns = Array.prototype.slice.call(root.querySelectorAll('.toc button'));\n    tocBtns.forEach(function (b) {\n      b.addEventListener('click', function () {\n        var i = parseInt(b.getAttribute('data-goto'), 10);\n        if (!isNaN(i)) { goTo(i); }\n      });\n    });\n\n    var stageEl = root.querySelector('.stage');\n    var touchStartX = null;\n    var touchStartY = null;\n    if (stageEl) {\n      stageEl.addEventListener('touchstart', function (e) {\n        touchStartX = e.touches[0].clientX;\n        touchStartY = e.touches[0].clientY;\n      }, { passive: true });\n      stageEl.addEventListener('touchend', function (e) {\n        if (touchStartX === null) { return; }\n        var dx = e.changedTouches[0].clientX - touchStartX;\n        var dy = e.changedTouches[0].clientY - touchStartY;\n        if (Math.abs(dx) > 60 && Math.abs(dx) > Math.abs(dy)) {\n          if (dx < 0) { goTo(current + 1); } else { goTo(current - 1); }\n        }\n        touchStartX = null;\n        touchStartY = null;\n      }, { passive: true });\n    }\n\n    if (!reducedMotion) {\n      var liveEls = Array.prototype.slice.call(root.querySelectorAll('.stat-live'));\n      setInterval(function () {\n        liveEls.forEach(function (el) {\n          if (Math.random() < 0.5) { return; }\n          var n = parseInt(el.getAttribute('data-n'), 10) || 0;\n          var step = parseInt(el.getAttribute('data-step'), 10) || 1;\n          n += 1 + Math.floor(Math.random() * step);\n          el.setAttribute('data-n', n);\n          var suffix = el.getAttribute('data-suffix') || '';\n          el.textContent = n + suffix;\n        });\n      }, 2600);\n    }\n\n    render();\n  }\n};\n"}}}}}}}}]}},{"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":[]}},{"reference":"ComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6a8748c328ee9e371c7a8f0d","component":"data2-core-primitives@Artboard","system":"6a70990a6b5e6214055853f2","displayName":"Pitch · Braco Tech Botafogo","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Pitch · Braco Tech Botafogo"}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":1600,"height":900}},"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}}},"reference":"uBVISCc7-hfr83fZbfvRT","deleteMetadata":{}},{"_id":"c238b9e09f610ecb0b8510d5","parent":"6a8748c328ee9e371c7a8f0d","component":"botafogo-poc@botPitch","system":"6a70990a6b5e6214055853f2","displayName":"botPitch","params":{"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":1600,"height":900}}}},"reference":"E4jW0QUP9GdBDfIaxsvPo","deleteMetadata":{}}]}},{"_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":"6a8748e4e621eefb0254987f","displayName":"Pitch Braco Tech","reference":"3Xy-pHeXm-_nFIffTKDK5","params":{"domain":{"component":"data2-core-primitives@String","params":{"content":"pitch"}},"entryPoint":{"component":"data2-core-types@ComponentInstanceReference","params":{"component":"data2-core-primitives@Artboard","reference":"uBVISCc7-hfr83fZbfvRT"}}},"system":"6a70990a6b5e6214055853f2","component":"data2-core-primitives@Application"}]}},{"reference":"DataComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"BundlesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}}],"processesParams":{}}}}