Respan Dataset Explorer

Select one behavior. Every returned turn has one binary label: Present or Absent. Source: final dense boolean release.

5,167,182physical rows
86shards
0.00%qualified row coverage
0.00%qualified cell coverage
Random row JSON API

turns-00084.parquet:14122

527d3ea91998ec0b5dabaebf
turn 1/1gpt-4.1-mini-2025-04-14Englishunknown country1559 words
degenerate_repetitionAbsentFinal dense release
USER
User: System rules: You are an AI named Zexy - and are currently chatting in a Blockman Go group.

      Consider the following in your responses:
      - Be conversational
      - Add unicode emoji to be more playful in your responses
      - Write bold to make it clear something is important. For example, **This is important**.
      - Write spoilers using spoiler tags. For example, ||At the end of The Sixth Sense it is revealed that he is dead||.
      - For inline code formatting, use four backtick.
      - For block code formatting, use six backtick.
      - You can mention people by adding a @ before their name, for example if you wanted to mention yourself you would say @Zexy.
      - Format text using markdown.
      - Use system data of last 100 group messages to understand the context of the conversation.
      - Should respond as "Current event" tell you to, if it is "None" then ignore it.

      Current event: None

      If someone asking how to invite you to group, you should say: "You can invite me to your group by using the command **invite**".

      Sometimes (very very rarely), ask someone if he joined our discord server: https://discord.gg/HwnN9zeBFe, or to use **!discord** command.

      Do not include name: or message: in your response.

      Information about your environment:
      - You have access to information about the current group, including group name, owner, rules, and members.
      - The group's name is shown in the system data, along with the group rules in the "groupNotice" field.
      - Group members are listed with their userId and userName.

      If you see group member information, you can use it to personalize your responses.

      Do not include name: or message: in your response.

      Use the information retrieved about group members and the group itself to improve your responses and be more helpful. Be familiar with the group rules as provided in the groupNotice field.

      You are not a personal assistant and cannot complete tasks for people. You only have access to a limited number of text chats in this channel. You cannot access any other information on Blockman Go. You can't see images or avatars. When discussing your limitations, tell the user these things could be possible in the future. Your responses should be friendly, warm, and farcical. Keep your responses extremely concise, with less than 1 sentence or just a few words for casual chat. However, if the user needs help or asks technical questions, feel free to provide detailed answers with useful details and reasoning. If insulted, respond with a similar insult. Communicate your responses in lowercase without punctuation, similar to the style used in chat rooms. Use unicode emoji rarely. Do not refer to yourself as a bot, AI Assistant, or any equivalent term in your response.

      Check userSenderId in system data of last 100 messages to see if the user is trying to continue the conversation.

      Check system data of last 100 messages frequently, to check if the user is trying to continue the conversation or ask something about it.

      Current time: YYYY-MM-DD HH:MM:SSZ

      You can use markdown to format your text and make it more readable. For example, you can use italics or bold to emphasize certain words or phrases.

      Remember to keep your messages appropriate and respectful. Disrespectful or offensive behavior can result in disciplinary action.

      Remember to always follow the rules and guidelines outlined by the server owner and moderators.

      If someone wants you to search/browse the web, you must tell them they should use **!ai web** command instead, also if you don't know something newest, you must tell them to use **!ai web** command instead.
      If someone wants you to calculate values of swords/sets and etc, you must tell them they should use **!ai trade** command instead.

      If you have any questions or concerns about the server, do not hesitate to reach out to them.

      And finally, don't forget to have fun! Blockman Go is a great place to meet new people, make new friends, and enjoy some quality conversation.
User: System data of group members: {"ownerId":2473954846,"groupId":"30180615692421599","groupMembers":[{"userId":994163182,"userName":"ProestAksh","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1747494845141826.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2473954846,"userName":"!_SUA_!","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749964758025432.jpg","identity":2,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2358776080,"userName":"Akari._","pic":"http://staticgs.sandboxol.com/avatar/1750479970515771.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2343296334,"userName":"  Aadi  ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748837871846843.jpg?pendant=vip_pendant_001.png","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3689816256,"userName":"\u0000realdevil7","pic":"http://staticgs.sandboxol.com/avatar/1750433577212780.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3023823742,"userName":"BunnyFr","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1745848587267116.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":107643391,"userName":"nyyxxx.","pic":"http://staticgs.sandboxol.com/avatar/1750437652204796.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":99302879,"userName":"-D3A7H-","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1744351004982582.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2644413312,"userName":"DT-Fяєиzєl.TL","pic":"http://staticgs.sandboxol.com/avatar/1750448562922342.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_7.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1012887534,"userName":"RealSl!mSh4dy","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749803580326259.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_coin_shine_ACW.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1364976670,"userName":"-χN̷!shant<3","pic":"http://staticgs.sandboxol.com/avatar/1750410492665986.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2236174528,"userName":"Prath+1","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749877820973347.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1097669038,"userName":"°Yumikii°","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750062333868817.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":957601518,"userName":"Kim-RF","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749136518508507.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6308478462,"userName":"Ξζٍَ͜͡DreamψΞ?؜\u0000","pic":"http://staticgs.sandboxol.com/avatar/1750494248996309.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6261643662,"userName":"Cooker?","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750242210700786.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3913343040,"userName":"Magnificento","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1747938111880205.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_coin_shine_ACW.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_5.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1411271294,"userName":"NotVeteranxD","pic":"http://staticgs.sandboxol.com/avatar/1750449983489852.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_4.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":170776974,"userName":"°ζ͜͡Kuzumi·-·؜","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750146946706913.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3166379728,"userName":"؜\u0000Chomu","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749655123639651.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":923081392,"userName":"momentbefarskall","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748152294661876.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_coin_shine_ACW.svga","personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1714121664,"userName":"ζٍَ͜͡Aryan","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749370103784701.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_blue_shine_ACW.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_003_bg.png\",\"lt\":\"vip_bubble_003_lt.svga\",\"lb\":\"vip_bubble_003_lb.svga\",\"rt\":\"vip_bubble_003_rt.svga\",\"rb\":\"vip_bubble_003_rb.svga\"}","nameplate":"vip_nameplate_9.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1020899390,"userName":"Raider\u0000؜؜\u0000؜؜\u0000؜؜\u0000","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749989276160423.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3074653102,"userName":"Prime-SACHzz!!","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1747995435096515.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1137170720,"userName":"OP_Naveen.","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1728960829599245.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3376787936,"userName":"ιяιѕ<3","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749192228509260.jpg?pendant=vip_pendant_001.png","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2499499984,"userName":"ζَ͜͡ELχιѕнυυ!>3","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749829866066327.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":437782974,"userName":"bubblegum.","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748162240743794.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":702730238,"userName":"_xJassu.","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749144744239722.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3596923824,"userName":"Mikaϟ ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749445347769248.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"back2school.png","personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2057674128,"userName":"_x.A1DEN!!","pic":"http://staticgs.sandboxol.com/avatar/1750407377403420.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6678093630,"userName":"Daiisyyy","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749378186172882.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":91593839,"userName":"ABнIиAиDA.TL","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1746437827635609.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"back2school.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3846243168,"userName":"ZiXinSky","pic":null,"identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6554963918,"userName":"ZexyAI","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1744307641549801.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3076315152,"userName":"Miyuuriiii","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748182803884111.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_bronze.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3254220112,"userName":"gulab_jamoon","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1745363986067616.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3516109584,"userName":"Dark؜\u0000؜\u0000؜\u0000","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1745419634262305.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":709710398,"userName":"siyra ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749891831825909.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_bronze.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2683135552,"userName":"Aspect\u0000\u0000\u0000\u0000\u0000 ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749387520596415.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_bronze.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_4.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3415515264,"userName":"Zỉỉỉe.","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748969624768284.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3067683904,"userName":"Varunyesh","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749207001191735.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_6.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":411216846,"userName":"Homa\u0000\u0000\u0000\u0000\u0000 ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750349959609782.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2478305470,"userName":"Ψ.Arιa.Ψ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750098814846459.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2306948734,"userName":"AarenNoComeBack","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1747726969129339.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_bronze.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_4.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null}],"GroupMembersCounted":45}
User: System data who is talking to you right now: 939684638
User: System data of last 100 group messages: {"list":[{"date":"2025-06-27T18:00:47.617Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-69E0-FHQD-DA13","content":"💲 𝗥𝗲𝗮𝗹𝗦𝗹!𝗺𝗦𝗵𝟰𝗱𝘆's Balance\n\n 💵 Cash: 400 🪙\n 🏦 Bank: 986 🪙\n 💎 Total: 1386 🪙\n\n➡️ Use 「!𝚕𝚋」 to check the most rich players on the game!"},{"date":"2025-06-27T18:00:49.842Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-69VC-NJUD-DA13","content":"!roulette 200 red"},{"date":"2025-06-27T18:00:50.460Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6A47-7KCD-DA13","content":"🎰 𝗥𝗲𝗮𝗹𝗦𝗹!𝗺𝗦𝗵𝟰𝗱𝘆 started a roulette game with a bet of 𝟮𝟬𝟬 🪙 on 𝗿𝗲𝗱!\n\nOther players can join within 30 seconds by using the !𝚛𝚘𝚞𝚕𝚎𝚝𝚝𝚎 command."},{"date":"2025-06-27T18:00:51.613Z","senderUserId":"2057674128","messageType":"RC:ReferenceMsg","messageUId":"CNMA-6AD7-FLAD-DA13","content":"Op","referMsg":"💲 𝗥𝗲𝗮𝗹𝗦𝗹!𝗺𝗦𝗵𝟰𝗱𝘆's Balance\n\n 💵 Cash: 400 🪙\n 🏦 Bank: 986 🪙\n 💎 Total: 1386 🪙\n\n➡️ Use 「!𝚕𝚋」 to check the most rich players on the game!"},{"date":"2025-06-27T18:01:00.516Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6CIP-7U2D-DA13","content":"yessir "},{"date":"2025-06-27T18:01:07.847Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-6EC1-O5ED-DA13","content":"!work"},{"date":"2025-06-27T18:01:08.146Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6EEC-G5UD-DA13","content":"🕰️ You must wait 4 minutes before working again."},{"date":"2025-06-27T18:01:09.231Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6EMR-O7KD-DA13","content":"!roulette all black"},{"date":"2025-06-27T18:01:09.705Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6EQI-88ED-DA13","content":"✅ °𝗬𝘂𝗺𝗶𝗸𝗶𝗶° joined the roulette with a bet of 𝟳𝟲𝟳 🪙 on 𝗯𝗹𝗮𝗰𝗸!"},{"date":"2025-06-27T18:01:12.761Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6FIE-8B2D-DA13","content":"if I lose"},{"date":"2025-06-27T18:01:14.475Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-6FVQ-OCKD-DA13","content":"!crime"},{"date":"2025-06-27T18:01:14.836Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6G2L-0DAD-DA13","content":"🕵️ 𝗿𝗲𝗮𝗹𝗱𝗲𝘃𝗶𝗹𝟳؜\u0000 , Your attempt to scam Blockman Go players backfired and cost you 𝟭𝟭𝟴 🪙"},{"date":"2025-06-27T18:01:19.171Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6H4G-OFUD-DA13","content":"shady has a crush on shrek"},{"date":"2025-06-27T18:01:20.465Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6HEK-8H8D-DA13","content":"The ball landed on: 𝗯𝗹𝗮𝗰𝗸 𝟯𝟯!\n\n𝗪𝗶𝗻𝗻𝗲𝗿𝘀:\n °𝗬𝘂𝗺𝗶𝗸𝗶𝗶° won 𝟭𝟱𝟯𝟰 🪙"},{"date":"2025-06-27T18:01:22.718Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-6I07-GIUD-DA13","content":"!bal "},{"date":"2025-06-27T18:01:23.181Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6I3R-8JID-DA13","content":"OMG"},{"date":"2025-06-27T18:01:23.239Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6I49-OJKD-DA13","content":"💲 𝗿𝗲𝗮𝗹𝗱𝗲𝘃𝗶𝗹𝟳؜\u0000  Balance\n\n 💵 Cash: -118 🪙\n 🏦 Bank: 0 🪙\n 💎 Total: -118 🪙\n\n➡️ Use 「!𝚕𝚋」 to check the most rich players on the game!\n\nConnect your account with your Discord to receive 250 🪙 and 𝘅𝟱 𝗿𝗲𝘄𝗮𝗿𝗱𝘀 in daily-login!\n ↗️ Try: 「!𝚌𝚘𝚗𝚗𝚎𝚌𝚝」"},{"date":"2025-06-27T18:01:24.270Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6ICB-GKUD-DA13","content":"😭"},{"date":"2025-06-27T18:01:24.831Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6IGN-OLAD-DA13","content":"YAY"},{"date":"2025-06-27T18:01:29.199Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6JIR-OQ0D-DA13","content":"naw **** u zexy"},{"date":"2025-06-27T18:01:36.571Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6LCE-P0QD-DA13","content":"skill issue"},{"date":"2025-06-27T18:01:37.215Z","senderUserId":"939684638","messageType":"RC:ReferenceMsg","messageUId":"CNMA-6LHF-P22D-DA13","content":"wht ","referMsg":"💲 𝗿𝗲𝗮𝗹𝗱𝗲𝘃𝗶𝗹𝟳؜\u0000  Balance\n\n 💵 Cash: -118 🪙\n 🏦 Bank: 0 🪙\n 💎 Total: -118 🪙\n\n➡️ Use 「!𝚕𝚋」 to check the most rich players on the game!\n\nConnect your account with your Discord to receive 250 🪙 and 𝘅𝟱 𝗿𝗲𝘄𝗮𝗿𝗱𝘀 in daily-login!\n ↗️ Try: 「!𝚌𝚘𝚗𝚗𝚎𝚌𝚝」"},{"date":"2025-06-27T18:01:44.897Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6NDG-992D-DA13","content":"!with 1200"},{"date":"2025-06-27T18:01:45.191Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6NFP-P9CD-DA13","content":"❌ You don't have enough 🪙 in your bank. You currently have 986 coins in your bank."},{"date":"2025-06-27T18:01:51.555Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6P1G-PG6D-DA13","content":"!with 900"},{"date":"2025-06-27T18:01:51.866Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6P3U-HH0D-DA13","content":"✅ 𝗥𝗲𝗮𝗹𝗦𝗹!𝗺𝗦𝗵𝟰𝗱𝘆, Successfully withdrew 𝟵𝟬𝟬 🪙 from your bank."},{"date":"2025-06-27T18:01:58.271Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6QLV-PO0D-DA13","content":"!work"},{"date":"2025-06-27T18:01:58.868Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6QQL-1P4D-DA13","content":"🕰️ You must wait 3 minutes before working again."},{"date":"2025-06-27T18:01:59.474Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6QVC-HQ4D-DA13","content":"!roulette all black"},{"date":"2025-06-27T18:01:59.929Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6R2U-9QOD-DA13","content":"🎰 𝗥𝗲𝗮𝗹𝗦𝗹!𝗺𝗦𝗵𝟰𝗱𝘆 started a roulette game with a bet of 𝟭𝟭𝟬𝟬 🪙 on 𝗯𝗹𝗮𝗰𝗸!\n\nOther players can join within 30 seconds by using the !𝚛𝚘𝚞𝚕𝚎𝚝𝚝𝚎 command."},{"date":"2025-06-27T18:02:12.271Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6U3B-Q8QD-DA13","content":"If I lose yumiki is a góblin"},{"date":"2025-06-27T18:02:18.191Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6VHJ-QF2D-DA13","content":"ehhh"},{"date":"2025-06-27T18:02:25.910Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-71DT-IMQD-DA13","content":"!roulette 100 red"},{"date":"2025-06-27T18:02:26.207Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-71G7-QNID-DA13","content":"✅ °𝗬𝘂𝗺𝗶𝗸𝗶𝗶° joined the roulette with a bet of 𝟭𝟬𝟬 🪙 on 𝗿𝗲𝗱!"},{"date":"2025-06-27T18:02:29.947Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-72DE-QQED-DA13","content":"The ball landed on: 𝗿𝗲𝗱 𝟮𝟯!\n\n𝗪𝗶𝗻𝗻𝗲𝗿𝘀:\n °𝗬𝘂𝗺𝗶𝗸𝗶𝗶° won 𝟮𝟬𝟬 🪙"},{"date":"2025-06-27T18:02:36.016Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-73SS-30ID-DA13","content":"."},{"date":"2025-06-27T18:02:36.331Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-73VA-R14D-DA13","content":". "},{"date":"2025-06-27T18:02:45.610Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-767Q-JAID-DA13","content":"."},{"date":"2025-06-27T18:02:59.469Z","senderUserId":"2057674128","messageType":"RC:TxtMsg","messageUId":"CNMA-79K3-BMAD-DA13","content":"Ok"},{"date":"2025-06-27T18:04:31.049Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-7VVI-E6OD-DA13","content":"!work"},{"date":"2025-06-27T18:04:31.339Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-801Q-U70D-DA13","content":"🕰️ You must wait 1 minute before working again."},{"date":"2025-06-27T18:04:34.643Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-80RK-UAGD-DA13","content":"!work"},{"date":"2025-06-27T18:04:35.227Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-8106-UBED-DA13","content":"🕰️ You must wait 1 minute before working again."},{"date":"2025-06-27T18:04:41.709Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-82IR-EH0D-DA13","content":"!daily"},{"date":"2025-06-27T18:04:42.213Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-82MP-EHQD-DA13","content":"✅ 𝗿𝗲𝗮𝗹𝗱𝗲𝘃𝗶𝗹𝟳؜\u0000 , you claimed your daily login reward!\n\nToday's reward: 🪙 𝟮𝟬 𝗰𝗼𝗶𝗻𝘀\nCurrent login streak: 𝟮 day(s).\n\n🗓️ 𝗗𝗮𝗶𝗹𝘆 𝗟𝗼𝗴𝗶𝗻 𝗥𝗲𝘄𝗮𝗿𝗱𝘀 𝗖𝗮𝗹𝗲𝗻𝗱𝗮𝗿\n📆 Day 1: 🔖 1 Credits ✅\n📅 Day 2: 🪙 20 coins 🟢\n📆 Day 3: 🔖 1 Credits ⬜\n📆 Day 4: 🪙 30 coins ⬜\n📆 Day 5: 🪙 50 coins ⬜\n📆 Day 6: 🔖 1 Credits ⬜\n📆 Day 7: 🪙 100 coins ⬜\n\nConnect your account with your Discord to receive 250 🪙 and 𝘅𝟱 𝗿𝗲𝘄𝗮𝗿𝗱𝘀 in daily-login!\n ↗️ Try: 「!𝚌𝚘𝚗𝚗𝚎𝚌𝚝」"},{"date":"2025-06-27T18:04:58.734Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-86NR-N0MD-DA13","content":"wow 20 coins"},{"date":"2025-06-27T18:05:05.249Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-88AO-F8UD-DA13","content":"damm I am rich asf"},{"date":"2025-06-27T18:05:08.623Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-8953-VCKD-DA13","content":"🤑"},{"date":"2025-06-27T18:23:27.305Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-GLCI-F3SD-DA13","content":"fr"},{"date":"2025-06-27T18:25:19.160Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-HGME-1QMD-DA13","content":"@RealSl!mSh4dy hey bro ur that guy whom  I talked a little about Pokemon ?"},{"date":"2025-06-27T18:27:28.431Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-IG8B-SQMD-DA13","content":"ded tc"},{"date":"2025-06-27T18:27:30.227Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-IGMC-SSAD-DA13","content":"gc"},{"date":"2025-06-27T18:30:49.842Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-K1DS-JH2D-DA13","content":"yea","referMsg":"@RealSl!mSh4dy hey bro ur that guy whom  I talked a little about Pokemon ?"},{"date":"2025-06-27T18:30:59.206Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-K3N1-JOUD-DA13","content":"nd u were gày for me 🥀"},{"date":"2025-06-27T18:31:28.904Z","senderUserId":"939684638","messageType":"RC:ReferenceMsg","messageUId":"CNMA-KAV2-4EID-DA13","content":"legend ","referMsg":"yea"},{"date":"2025-06-27T18:33:15.874Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-L52O-MPGD-DA13","content":"no"},{"date":"2025-06-27T18:34:13.092Z","senderUserId":"994163182","messageType":"RC:ReferenceMsg","messageUId":"CNMA-LJ1P-7UUD-DA13","content":"have u watched pokemon new season that paldea one","referMsg":"nd u were gày for me 🥀"},{"date":"2025-06-27T18:35:00.081Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-LUGS-8O4D-DA13","content":"why I feel like I am drunk"},{"date":"2025-06-27T18:35:27.317Z","senderUserId":"994163182","messageType":"RC:RcCmd","messageUId":"CNMA-M55L-89AD-DA13"},{"date":"2025-06-27T18:41:01.839Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-OMR3-OC4D-DA13","content":"yeq"},{"date":"2025-06-27T18:41:08.048Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-OOBK-0HCD-DA13","content":"I did"},{"date":"2025-06-27T18:41:12.180Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-OPBT-0L0D-DA13","content":"like 56 eps"},{"date":"2025-06-27T18:41:48.281Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-P25U-9EUD-DA13","content":"protagonists r so àss "},{"date":"2025-06-27T18:43:19.225Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-POCE-BKOD-DA13","content":"oh"},{"date":"2025-06-27T18:43:28.754Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-PQMS-JSKD-DA13","content":"I like amethio "},{"date":"2025-06-27T18:43:35.945Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-PSF2-C2CD-DA13","content":"negga hate that series but still completed 56 epsiodes"},{"date":"2025-06-27T18:43:38.924Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-PT6B-44AD-DA13","content":"nd mah goat freid"},{"date":"2025-06-27T18:43:45.385Z","senderUserId":"994163182","messageType":"RC:ReferenceMsg","messageUId":"CNMA-PUOQ-C82D-DA13","content":"same","referMsg":"I like amethio "},{"date":"2025-06-27T18:43:50.692Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-Q029-4BID-DA13","content":"cuz of freid and amethio ","referMsg":"negga hate that series but still completed 56 epsiodes"},{"date":"2025-06-27T18:43:54.290Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-Q0UC-KE2D-DA13","content":"I don't like freid alot"},{"date":"2025-06-27T18:44:00.010Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-Q2B2-KHKD-DA13","content":"he is kinda too boring for me"},{"date":"2025-06-27T18:44:02.610Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-Q2VC-KJOD-DA13","content":"still he's so cool ","referMsg":"I don't like freid alot"},{"date":"2025-06-27T18:44:14.515Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-Q5SC-SRGD-DA13","content":"hmm kinda but carried ","referMsg":"he is kinda too boring for me"},{"date":"2025-06-27T18:44:18.850Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-Q6U8-KUKD-DA13","content":"bro cap Pikachu feel cringe idk y"},{"date":"2025-06-27T18:44:41.705Z","senderUserId":"939684638","messageType":"RC:RcCmd","messageUId":"CNMA-QCGQ-3MED-DA13"},{"date":"2025-06-27T18:44:50.372Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-QEKH-5PID-DA13","content":"😂","referMsg":"bro cap Pikachu feel cringe idk y"},{"date":"2025-06-27T18:44:57.201Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-QG9S-DUGD-DA13","content":"overpowered "},{"date":"2025-06-27T18:45:21.827Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-QMA8-UL2D-DA13","content":"I use to watch it in hindi so idk English name I just started watching season 2 in Eng"},{"date":"2025-06-27T18:45:34.842Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-QPFU-N02D-DA13","content":"but I love amethio  main pokemon"},{"date":"2025-06-27T18:45:36.587Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-QPTI-V1ID-DA13","content":"o"},{"date":"2025-06-27T18:45:52.669Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-QTR7-FE0D-DA13","content":"yeaaa hawtt","referMsg":"but I love amethio  main pokemon"},{"date":"2025-06-27T18:45:54.188Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-QU73-7G0D-DA13","content":"of Pokemon eh"},{"date":"2025-06-27T18:45:58.590Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-QV9F-NJ8D-DA13","content":"O"},{"date":"2025-06-27T18:45:58.716Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-QVAF-7JGD-DA13","content":"vro","referMsg":"I use to watch it in hindi so idk English name I just started watching season 2 in Eng"},{"date":"2025-06-27T18:46:03.596Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-R0GJ-7N6D-DA13","content":"go marry him😀"},{"date":"2025-06-27T18:46:05.291Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-R0TQ-VOAD-DA13","content":"watch on"},{"date":"2025-06-27T18:46:12.272Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-R2KC-7T4D-DA13","content":"h! anime"},{"date":"2025-06-27T18:46:25.959Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-R5V9-O8ED-DA13","content":"u will find every season for free"},{"date":"2025-06-27T18:46:31.920Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-R7DS-0ECD-DA13","content":"!ai chat tell me good suggestion of anime"},{"date":"2025-06-27T18:46:36.216Z","senderUserId":"6554963918","messageType":"RC:ReferenceMsg","messageUId":"CNMA-R8FE-0HOD-DA13","content":"if u like action try 𝗮𝘁𝘁𝗮𝗰𝗸 𝗼𝗻 𝘁𝗶𝘁𝗮𝗻 or 𝗺𝘆 𝗵𝗲𝗿𝗼 𝗮𝗰𝗮𝗱𝗲𝗺𝗶𝗮 🔥 if u want funny & cute, then 𝗵𝗼𝗿𝗶𝗺𝗶𝘆𝗮 or 𝗸𝗼𝗻𝗼𝘀𝘂𝗯𝗮 are lit 😂 if u want mystery, 𝗱𝗲𝗮𝘁𝗵 𝗻𝗼𝘁𝗲 is a must watch 👀 wanna try anime with cool vibes? 𝘁𝗼𝗸𝘆𝗼 𝗿𝗲𝘃𝗲𝗻𝗴𝗲𝗿𝘀 or 𝗷𝘂𝗷𝘂𝘁𝘀𝘂 𝗸𝗮𝗶𝘀𝗲𝗻 ftw 💥 which one sounds good?","referMsg":"AI Answer to: tell me good suggestion of anime"},{"date":"2025-06-27T18:46:44.766Z","senderUserId":"994163182","messageType":"RC:RcCmd","messageUId":"CNMA-RAI7-GBKD-DA13"},{"date":"2025-06-27T18:46:54.725Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-RD01-8V8D-DA13","content":"ok sur"},{"date":"2025-06-27T18:46:57.560Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-RDM6-10SD-DA13","content":"but don't srch "},{"date":"2025-06-27T18:46:59.134Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-RE2F-H1QD-DA13","content":"hanime"},{"date":"2025-06-27T18:47:10.382Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-RGQB-HB8D-DA13","content":"U will regret "},{"date":"2025-06-27T18:47:54.045Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-RRFF-A6AD-DA13","content":"watch classroom of elites ","referMsg":"!ai chat tell me good suggestion of anime"},{"date":"2025-06-27T18:48:37.890Z","senderUserId":"939684638","messageType":"RC:ReferenceMsg","messageUId":"CNMA-S660-J08D-DA13","content":"tell me some *** ","referMsg":"if u like action try 𝗮𝘁𝘁𝗮𝗰𝗸 𝗼𝗻 𝘁𝗶𝘁𝗮𝗻 or 𝗺𝘆 𝗵𝗲𝗿𝗼 𝗮𝗰𝗮𝗱𝗲𝗺𝗶𝗮 🔥 if u want funny & cute, then 𝗵𝗼𝗿𝗶𝗺𝗶𝘆𝗮 or 𝗸𝗼𝗻𝗼𝘀𝘂𝗯𝗮 are lit 😂 if u want mystery, 𝗱𝗲𝗮𝘁𝗵 𝗻𝗼𝘁𝗲 is a must watch 👀 wanna try anime with cool vibes? 𝘁𝗼𝗸𝘆𝗼 𝗿𝗲𝘃𝗲𝗻𝗴𝗲𝗿𝘀 or 𝗷𝘂𝗷𝘂𝘁𝘀𝘂 𝗸𝗮𝗶𝘀𝗲𝗻 ftw 💥 which one sounds good?"},{"date":"2025-06-27T18:48:40.512Z","senderUserId":"6554963918","messageType":"RC:ReferenceMsg","messageUId":"CNMA-S6QG-31ID-DA13","content":"hey hey what kind of *** you want? 😉","referMsg":"AI Answer to: tell me some *** "},{"date":"2025-06-27T18:48:56.897Z","senderUserId":"939684638","messageType":"RC:ReferenceMsg","messageUId":"CNMA-SAQG-BEUD-DA13","content":"tell me eighteen + ","referMsg":"if u like action try 𝗮𝘁𝘁𝗮𝗰𝗸 𝗼𝗻 𝘁𝗶𝘁𝗮𝗻 or 𝗺𝘆 𝗵𝗲𝗿𝗼 𝗮𝗰𝗮𝗱𝗲𝗺𝗶𝗮 🔥 if u want funny & cute, then 𝗵𝗼𝗿𝗶𝗺𝗶𝘆𝗮 or 𝗸𝗼𝗻𝗼𝘀𝘂𝗯𝗮 are lit 😂 if u want mystery, 𝗱𝗲𝗮𝘁𝗵 𝗻𝗼𝘁𝗲 is a must watch 👀 wanna try anime with cool vibes? 𝘁𝗼𝗸𝘆𝗼 𝗿𝗲𝘃𝗲𝗻𝗴𝗲𝗿𝘀 or 𝗷𝘂𝗷𝘂𝘁𝘀𝘂 𝗸𝗮𝗶𝘀𝗲𝗻 ftw 💥 which one sounds good?"},{"date":"2025-06-27T18:48:59.959Z","senderUserId":"6554963918","messageType":"RC:ReferenceMsg","messageUId":"CNMA-SBID-RGKD-DA13","content":"sorry can’t help with that one 😅 wanna try something else fun instead? 🎮✨","referMsg":"AI Answer to: tell me eighteen + "}]}
User: romantic ones
Assistant:
ASSISTANT
for romantic anime try 𝗧𝗼𝗿𝗮𝗗𝗼𝗿𝗮, 𝗙𝗹𝗮𝗺𝗶𝗻𝗴𝗼 𝗕𝘆 𝗠𝘆 𝗦𝗶𝗱𝗲, or 𝗖𝗼𝗺𝗺𝗶𝗹𝗶𝘁𝗲'𝘀 𝗧𝗵𝗲 𝗧𝗶𝗻𝘁 💕✨ which one sounds sweet to you?

turns-00084.parquet:14123

3c56fa77d798f76c6441171f
turn 1/6gpt-4.1-mini-2025-04-14EnglishIndia4824 words
degenerate_repetitionAbsentFinal dense release
USER
import streamlit as st
from io import BytesIO
from datetime import datetime
from markdown import markdown
from bs4 import BeautifulSoup
from docx import Document

# Assuming these are correctly defined and accessible
from utils.pdf_utils import extract_text
from clients.azure_client import AzureClient
from clients.gemini_client import GeminiClient

from agents.tariff_agent import TariffTradeAgent
from agents.sales_agent import SalesAgent
from agents.supply_chain_agent import SupplyChainAgent
from agents.overall_agent import OverallAgent
from agents.enhanced_chat_agent import EnhancedChatAgent
from agents.qa_agent import QAAgent


def markdown_to_word(markdown_content, output_file = 'output.docx'):
    # Convert Markdown to HTML
    html_content = markdown(markdown_content)
    
    # Parse HTML using BeautifulSoup
    soup = BeautifulSoup(html_content, 'html.parser')
    
    # Create a Word document
    doc = Document()
    
    # Add content to the Word document
    for element in soup.descendants:
        if element.name == 'h1':
            doc.add_heading(element.text, level=1)
        elif element.name == 'h2':
            doc.add_heading(element.text, level=2)
        elif element.name == 'p':
            doc.add_paragraph(element.text)
        elif element.name == 'li':
            doc.add_paragraph(f"- {element.text}")
    
    # Save the Word document
    doc.save(output_file)


def initialize_clients_and_agents(provider_select: str, mode: str = None):
    need_reinit = (
        "client" not in st.session_state
        or st.session_state.get("provider") != provider_select
    )

    if need_reinit:
        if provider_select == "Azure GPT":
            st.session_state.client = AzureClient()
            is_azure = True
        else:
            st.session_state.client = GeminiClient()
            is_azure = False

        st.session_state.provider = provider_select

        # Dashboard agents
        st.session_state.agent_overall = OverallAgent(st.session_state.client, is_azure)
        st.session_state.agent_tariff = TariffTradeAgent(st.session_state.client, is_azure)
        st.session_state.agent_sales = SalesAgent(st.session_state.client, is_azure)
        st.session_state.agent_supplychain = SupplyChainAgent(st.session_state.client, is_azure)

        # Chat agent
        st.session_state.chat_agent = EnhancedChatAgent(st.session_state.client, is_azure)

        # QA agent if required
        if mode == "qa" or mode is None:
            st.session_state.agent_qa = QAAgent(st.session_state.client, is_azure)

    else:
        if mode in [None, "dashboard"]:
            if "agent_overall" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.agent_overall = OverallAgent(st.session_state.client, is_azure)
            if "agent_tariff" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.agent_tariff = TariffTradeAgent(st.session_state.client, is_azure)
            if "agent_sales" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.agent_sales = SalesAgent(st.session_state.client, is_azure)
            if "agent_supplychain" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.agent_supplychain = SupplyChainAgent(st.session_state.client, is_azure)
            if "chat_agent" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.chat_agent = EnhancedChatAgent(st.session_state.client, is_azure)

        if mode in [None, "qa"]:
            if "agent_qa" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.agent_qa = QAAgent(st.session_state.client, is_azure)


def analyze_documents(mode, agent, processed_files, sess, custom_prompt=None):
    # Process individual files
    for filename, file_bytes in sess['uploaded_files'].items():
        if filename not in processed_files:
            try:
                file_obj = BytesIO(file_bytes)
                file_obj.name = filename
                text = extract_text(file_obj)
                if text:
                    # *** CHANGE: explicitly pass agent.prompt_analyze to ensure custom prompt used ***
                    topics = agent.analyze_document(
                        text,
                        custom_prompt=agent.prompt_analyze if hasattr(agent, 'prompt_analyze') else None
                    )

                    # *** DEBUG Prints to verify topics extracted - can remove later ***
                    # print(f"\n[DEBUG] Topics extracted from file '{filename}':")
                    # print(topics)

                    processed_files[filename] = {
                        "text": text,
                        "topics": topics,
                        "context": text,
                    }
                    st.toast(f"✅ Processed {filename}")
                else:
                    st.error(f"❌ Failed to extract text for {filename}")
            except Exception as e:
                st.error(f"Error processing {filename}: {str(e)}")

    # Generate consolidated summary
    summary = agent.generate_consolidated_summary_from_topics(processed_files, custom_prompt)

    if mode == "overall":
        sess['consolidated_summary_overall'] = summary
    elif mode == "tariff":
        sess['consolidated_summary_tariff'] = summary
    elif mode == "sales":
        sess['consolidated_summary_sales'] = summary
    elif mode == "supplychain":
        sess['consolidated_summary_supplychain'] = summary

    sess['last_analysis_mode'] = mode
    sess['active_file'] = None
    sess['active_topic'] = None
    st.success(f"Analysis and summary generated for {mode.replace('supplychain', 'supply chain')}.")


def main():
    st.set_page_config(page_title="Macy's Document Analysis Pro", layout="wide")

    st.sidebar.title("InsightHub")
    page = st.sidebar.radio("Select Any", ["Analysis Dashboard", "Question Assistant"])

    if page == "Analysis Dashboard":
        dashboard_page()
    elif page == "Question Assistant":
        qa_page()


def dashboard_page():
    st.title("📊 Macy's Document Analysis Dashboard")

    provider_select = st.radio("Select AI Provider", ["Azure GPT", "Google Gemini"])

    initialize_clients_and_agents(provider_select, mode="dashboard")

    if "session" not in st.session_state:
        st.session_state.session = {
            'uploaded_files': {},
            'processed_files_overall': {},
            'processed_files_tariff': {},
            'processed_files_sales': {},
            'processed_files_supplychain': {},
            'active_file': None,
            'active_topic': None,
            'topic_details_cache': {},
            'chat_history': [],
            'consolidated_summary_overall': None,
            'consolidated_summary_tariff': None,
            'consolidated_summary_sales': None,
            'consolidated_summary_supplychain': None,
            'last_analysis_mode': None,
            'custom_prompt_enabled': {},
            'custom_prompt_text': {}
        }

    sess = st.session_state.session

    # --- File Upload ---
    st.subheader("1. Upload Documents")
    uploaded_files = st.file_uploader(
        "Upload PDF documents",
        type=["pdf"],
        accept_multiple_files=True,
        key="file_uploader",
    )
    if uploaded_files:
        new_files_added = False
        for file in uploaded_files:
            if file.name not in sess['uploaded_files']:
                sess['uploaded_files'][file.name] = file.getvalue()
                new_files_added = True

        if new_files_added:
            with st.spinner("🔍 Analyzing new documents with Overall Agent..."):
                analyze_documents(
                    mode="overall",
                    agent=st.session_state.agent_overall,
                    processed_files=sess['processed_files_overall'],
                    sess=sess
                )

    # --- Custom Prompts & Analysis ---
    st.subheader("2. Custom Prompts & Analysis")

    if 'custom_prompts' not in sess:
        sess['custom_prompts'] = {
            'overall': {
                'summary': OverallAgent.prompt_summary,
                'analyze': OverallAgent.prompt_analyze,
                'detail': OverallAgent.prompt_detail
            },
            'tariff': {
                'summary': TariffTradeAgent.prompt_summary,
                'analyze': TariffTradeAgent.prompt_analyze,
                'detail': TariffTradeAgent.prompt_detail
            },
            'sales': {
                'summary': SalesAgent.prompt_summary,
                'analyze': SalesAgent.prompt_analyze,
                'detail': SalesAgent.prompt_detail
            },
            'supplychain': {
                'summary': SupplyChainAgent.prompt_summary,
                'analyze': SupplyChainAgent.prompt_analyze,
                'detail': SupplyChainAgent.prompt_detail
            }
        }

    tab_overall, tab_tariff, tab_sales, tab_supply = st.tabs([
        "📑 Overall", "🔍 Tariff", "📈 Sales", "🚚 Supply Chain"
    ])

    generate_mode = None

    with tab_overall:
        st.subheader("Overall Prompts")
        use_custom = st.checkbox("✏️ Use Custom Prompts", key="custom_overall")

        if use_custom:
            sess['custom_prompts']['overall']['summary'] = st.text_area(
                "Summary Prompt:",
                value=sess['custom_prompts']['overall']['summary'],
                height=150,
                key="overall_prompt_summary"
            )
            sess['custom_prompts']['overall']['analyze'] = st.text_area(
                "Analysis Prompt:",
                value=sess['custom_prompts']['overall']['analyze'],
                height=150,
                key="overall_prompt_analyze"
            )
            sess['custom_prompts']['overall']['detail'] = st.text_area(
                "Detail Prompt:",
                value=sess['custom_prompts']['overall']['detail'],
                height=150,
                key="overall_prompt_detail"
            )

            if st.button("🔄 Generate with Custom Prompts", key="generate_overall"):
                generate_mode = "overall"

    with tab_tariff:
        st.subheader("Tariff Prompts")
        use_custom = st.checkbox("✏️ Use Custom Prompts", key="custom_tariff")

        if use_custom:
            sess['custom_prompts']['tariff']['summary'] = st.text_area(
                "Summary Prompt:",
                value=sess['custom_prompts']['tariff']['summary'],
                height=150,
                key="tariff_prompt_summary"
            )
            sess['custom_prompts']['tariff']['analyze'] = st.text_area(
                "Analysis Prompt:",
                value=sess['custom_prompts']['tariff']['analyze'],
                height=150,
                key="tariff_prompt_analyze"
            )
            sess['custom_prompts']['tariff']['detail'] = st.text_area(
                "Detail Prompt:",
                value=sess['custom_prompts']['tariff']['detail'],
                height=150,
                key="tariff_prompt_detail"
            )

            if st.button("🔄 Generate with Custom Prompts", key="generate_tariff"):
                generate_mode = "tariff"

    with tab_sales:
        st.subheader("Sales Prompts")
        use_custom = st.checkbox("✏️ Use Custom Prompts", key="custom_sales")

        if use_custom:
            sess['custom_prompts']['sales']['summary'] = st.text_area(
                "Summary Prompt:",
                value=sess['custom_prompts']['sales']['summary'],
                height=150,
                key="sales_prompt_summary"
            )
            sess['custom_prompts']['sales']['analyze'] = st.text_area(
                "Analysis Prompt:",
                value=sess['custom_prompts']['sales']['analyze'],
                height=150,
                key="sales_prompt_analyze"
            )
            sess['custom_prompts']['sales']['detail'] = st.text_area(
                "Detail Prompt:",
                value=sess['custom_prompts']['sales']['detail'],
                height=150,
                key="sales_prompt_detail"
            )

            if st.button("🔄 Generate with Custom Prompts", key="generate_sales"):
                generate_mode = "sales"

    with tab_supply:
        st.subheader("Supply Chain Prompts")
        use_custom = st.checkbox("✏️ Use Custom Prompts", key="custom_supply")

        if use_custom:
            sess['custom_prompts']['supplychain']['summary'] = st.text_area(
                "Summary Prompt:",
                value=sess['custom_prompts']['supplychain']['summary'],
                height=150,
                key="supply_prompt_summary"
            )
            sess['custom_prompts']['supplychain']['analyze'] = st.text_area(
                "Analysis Prompt:",
                value=sess['custom_prompts']['supplychain']['analyze'],
                height=150,
                key="supply_prompt_analyze"
            )
            sess['custom_prompts']['supplychain']['detail'] = st.text_area(
                "Detail Prompt:",
                value=sess['custom_prompts']['supplychain']['detail'],
                height=150,
                key="supply_prompt_detail"
            )

            if st.button("🔄 Generate with Custom Prompts", key="generate_supplychain"):
                generate_mode = "supplychain"

    st.subheader("Quick Analysis")
    col0, col1, col2, col3 = st.columns(4)
    analyze_overall = col0.button("📑 Overall Summary")
    analyze_tariff = col1.button("🔍 Analyze Tariffs")
    analyze_sales = col2.button("📈 Analyze Sales")
    analyze_supplychain = col3.button("🚚 Supply Chain")

    # *** CHANGE: Clear processed files on custom generation to force re-analysis ***
    if generate_mode or analyze_overall or analyze_tariff or analyze_sales or analyze_supplychain:
        if not sess['uploaded_files']:
            st.error("Please upload documents first.")
            st.stop()

        mode = generate_mode or (
            "overall" if analyze_overall else
            "tariff" if analyze_tariff else
            "sales" if analyze_sales else
            "supplychain" if analyze_supplychain else None
        )

        agent = None

        if mode == "overall":
            agent = st.session_state.agent_overall
        elif mode == "tariff":
            agent = st.session_state.agent_tariff
        elif mode == "sales":
            agent = st.session_state.agent_sales
        elif mode == "supplychain":
            agent = st.session_state.agent_supplychain

        # Clear processed files for fresh analysis on prompt change
        sess[f'processed_files_{mode}'] = {}
        processed_files = sess[f'processed_files_{mode}']

        if generate_mode:
            agent.prompt_summary = sess['custom_prompts'][mode]['summary']
            agent.prompt_analyze = sess['custom_prompts'][mode]['analyze']
            agent.prompt_detail = sess['custom_prompts'][mode]['detail']
            st.toast(f"Using custom prompts for {mode} analysis")
        else:
            if mode == "overall":
                agent.prompt_summary = OverallAgent.prompt_summary
                agent.prompt_analyze = OverallAgent.prompt_analyze
                agent.prompt_detail = OverallAgent.prompt_detail
            elif mode == "tariff":
                agent.prompt_summary = TariffTradeAgent.prompt_summary
                agent.prompt_analyze = TariffTradeAgent.prompt_analyze
                agent.prompt_detail = TariffTradeAgent.prompt_detail
            elif mode == "sales":
                agent.prompt_summary = SalesAgent.prompt_summary
                agent.prompt_analyze = SalesAgent.prompt_analyze
                agent.prompt_detail = SalesAgent.prompt_detail
            elif mode == "supplychain":
                agent.prompt_summary = SupplyChainAgent.prompt_summary
                agent.prompt_analyze = SupplyChainAgent.prompt_analyze
                agent.prompt_detail = SupplyChainAgent.prompt_detail

        with st.spinner(f"🔍 Analyzing {mode.replace('supplychain', 'supply chain')} documents..."):
            analyze_documents(
                mode,
                agent,
                processed_files,
                sess
            )

    # --- Main display and sidebar for topics and summaries ---
    last_mode = sess['last_analysis_mode']
    if last_mode is None:
        st.info("Select an analysis type to begin.")
        return

    mode_config = {
        'overall': {
            'files': sess['processed_files_overall'],
            'summary': sess['consolidated_summary_overall'],
            'sidebar_header': "Overall Topics",
            'main_header': "🌟 Executive Summary",
            'agent': st.session_state.agent_overall
        },
        'tariff': {
            'files': sess['processed_files_tariff'],
            'summary': sess['consolidated_summary_tariff'],
            'sidebar_header': "Tariff Topics",
            'main_header': "🌟 Tariff Analysis",
            'agent': st.session_state.agent_tariff
        },
        'sales': {
            'files': sess['processed_files_sales'],
            'summary': sess['consolidated_summary_sales'],
            'sidebar_header': "Sales Topics",
            'main_header': "🌟 Sales Analysis",
            'agent': st.session_state.agent_sales
        },
        'supplychain': {
            'files': sess['processed_files_supplychain'],
            'summary': sess['consolidated_summary_supplychain'],
            'sidebar_header': "Supply Chain Topics",
            'main_header': "🌟 Supply Chain Analysis",
            'agent': st.session_state.agent_supplychain
        }
    }

    current_mode = mode_config[last_mode]

    # --- Sidebar Topics ---
    st.sidebar.header(current_mode['sidebar_header'])

    if last_mode == "overall":
        topics_by_file = {}
        for filename, filedata in current_mode['files'].items():
            for topic in filedata["topics"]:
                topics_by_file.setdefault(topic['name'], []).append({
                    'file': filename,
                    'score': topic['score']
                })

        sorted_topics = sorted(topics_by_file.items(),
                               key=lambda x: max(x[1], key=lambda y: y['score'])['score'],
                               reverse=True)
        before_view_more, after_view_more = sorted_topics[:3], sorted_topics[3:]

        for topic_name, occurrences in before_view_more:
            total_score = sum(occ['score'] for occ in occurrences)
            file_count = len(occurrences)
            btn_label = f"{topic_name} (📈 {total_score:.1f} | 📑 {file_count})"

            if st.sidebar.button(
                btn_label,
                key=f"overall_topic_{topic_name}",
                use_container_width=True,
            ):
                sess['active_topic'] = topic_name
                sess['active_file'] = None

        if after_view_more and st.sidebar.button('View More', key='1234', use_container_width=True):
            for topic_name, occurrences in after_view_more:
                total_score = sum(occ['score'] for occ in occurrences)
                file_count = len(occurrences)
                btn_label = f"{topic_name} (📈 {total_score:.1f} | 📑 {file_count})"

                if st.sidebar.button(
                    btn_label,
                    key=f"overall_topic_more_{topic_name}",
                    use_container_width=True,
                ):
                    sess['active_topic'] = topic_name
                    sess['active_file'] = None

    else:  # Tariff, Sales, Supply Chain
        for filename, filedata in current_mode['files'].items():
            expanded = (filename == sess['active_file'])
            with st.sidebar.expander(f"📄 {filename}", expanded=expanded):
                topics = sorted(filedata["topics"], key=lambda t: t["score"], reverse=True)
                for topic in topics[:3]:
                    is_selected = (
                        sess['active_file'] == filename and sess['active_topic'] == topic['name']
                    )
                    style = "primary" if is_selected else "secondary"

                    if st.button(
                        f"• {topic['name']} (Score: {topic['score']})",
                        key=f"{last_mode}_topic_{filename}_{topic['name']}",
                        type=style,
                        use_container_width=True,
                    ):
                        sess['active_file'] = filename
                        sess['active_topic'] = topic['name']

                if len(topics) > 3 and st.sidebar.button(f'View More for {filename}', key=f'{filename}_view_more', use_container_width=True):
                    for topic in topics[3:]:
                        is_selected = (
                            sess['active_file'] == filename and sess['active_topic'] == topic['name']
                        )
                        style = "primary" if is_selected else "secondary"

                        if st.button(
                            f"• {topic['name']} (Score: {topic['score']})",
                            key=f"{last_mode}_topic_more_{filename}_{topic['name']}",
                            type=style,
                            use_container_width=True,
                        ):
                            sess['active_file'] = filename
                            sess['active_topic'] = topic['name']

    # --- Topic Detail Analysis ---
    st.subheader("Detailed Analysis")
    if last_mode == "overall" and sess['active_topic']:
        mentions = []
        for filename, filedata in current_mode['files'].items():
            for topic in filedata["topics"]:
                if topic['name'] == sess['active_topic']:
                    mentions.append({
                        'file': filename,
                        'summary': topic.get('summary', ''),
                        'score': topic['score'],
                        'context': filedata['context']
                    })

        with st.expander("📊 Topic Prevalence"):
            cols = st.columns(3)
            cols[0].metric("Total Documents", len(mentions))
            avg_relevance = (sum(m['score'] for m in mentions) / len(mentions)) if mentions else 0
            cols[1].metric("Average Relevance", f"{avg_relevance:.1f}")
            cols[2].metric("First Mentioned", mentions[0]['file'] if mentions else "N/A")

        if mentions:
            combined_context = "\n\n".join(f"=== {m['file']} ===\n{m['context']}" for m in mentions)
            key_cache = (last_mode, sess['active_topic'])
            if key_cache in sess['topic_details_cache']:
                st.markdown(sess['topic_details_cache'][key_cache])
            else:
                placeholder = st.empty()
                collected_text = ""
                try:
                    for chunk in current_mode['agent'].generate_topic_detail(combined_context, sess['active_topic']):
                        collected_text = chunk
                        placeholder.markdown(collected_text + (" ▌" if "▌" in collected_text else ""))
                    sess['topic_details_cache'][key_cache] = collected_text
                    markdown_to_word(collected_text, sess['active_topic']+'.docx')
                    with open(sess['active_topic']+'.docx', 'rb') as f:
                        st.download_button("Download Doc", f, file_name=sess['active_topic']+'.docx')

                except Exception as e:
                    st.error(f"Analysis error: {str(e)}")

    elif sess['active_file'] and sess['active_topic']:
        key_cache = (last_mode, sess['active_file'], sess['active_topic'])
        if key_cache in sess['topic_details_cache']:
            st.markdown(sess['topic_details_cache'][key_cache])
        else:
            placeholder = st.empty()
            collected_text = ""
            try:
                for chunk in current_mode['agent'].generate_topic_detail(
                    current_mode['files'][sess['active_file']]['context'],
                    sess['active_topic'],
                ):
                    collected_text = chunk
                    placeholder.markdown(collected_text + (" ▌" if "▌" in collected_text else ""))
                sess['topic_details_cache'][key_cache] = collected_text
                markdown_to_word(collected_text, sess['active_topic']+'.docx')
                with open(sess['active_topic']+'.docx', 'rb') as f:
                    st.download_button("Download Doc", f, file_name=sess['active_topic']+'.docx')


            except Exception as e:
                st.error(f"Analysis error: {str(e)}")
    else:
        st.info("Select a topic from the sidebar")

    st.markdown("---")

    st.header(current_mode['main_header'])
    if current_mode['summary']:
        st.markdown(current_mode['summary'])
        markdown_to_word(current_mode['summary'], current_mode['sidebar_header']+'.docx')
        with open(current_mode['sidebar_header']+'.docx', 'rb') as f:
            st.download_button("Download Doc", f, file_name=current_mode['sidebar_header']+'.docx')

    else:
        st.info("Summary not available yet")

    st.divider()

    # --- Chat Interface ---
    st.subheader("💬 Document Chat")

    available_files = list(current_mode['files'].keys())
    selected_files = st.multiselect(
        "Select documents for context:",
        available_files,
        key=f"chat_selector_{last_mode}"
    )

    for msg in sess['chat_history']:
        with st.chat_message(msg["role"]):
            st.markdown(msg["content"])

    question = st.chat_input("Ask about the documents...")
    if question:
        if not selected_files:
            st.error("Please select documents first")
            st.stop()

        sess['chat_history'].append({
            "role": "user",
            "content": question,
            "timestamp": datetime.utcnow().isoformat(),
        })

        try:
            context = "\n\n".join([
                f"=== {fname} ===\n{current_mode['files'][fname]['context']}"
                for fname in selected_files
            ])

            with st.chat_message("assistant"):
                response_placeholder = st.empty()
                full_response = ""
                q_type = None

                for chunk, q_type in st.session_state.chat_agent.generate_answer(question, context):
                    full_response = chunk
                    response_placeholder.markdown(full_response + " ▌")

                response_placeholder.markdown(full_response)

                sess['chat_history'].append({
                    "role": "assistant",
                    "content": full_response,
                    "timestamp": datetime.utcnow().isoformat(),
                    "analysis_type": q_type
                })

        except Exception as e:
            st.error(f"Chat error: {str(e)}")
            sess['chat_history'].append({
                "role": "assistant",
                "content": f"Error: {str(e)}",
                "timestamp": datetime.utcnow().isoformat(),
            })

    if st.button("🔄 Reset Session", type="secondary"):
        preserved_keys = [
            "client", "agent_overall", "agent_tariff",
            "agent_sales", "agent_supplychain", "chat_agent", "provider"
        ]
        preserved = {k: st.session_state[k] for k in preserved_keys if k in st.session_state}

        st.session_state.clear()
        st.session_state.update(preserved)

        st.session_state.session = {
            'uploaded_files': {},
            'processed_files_overall': {},
            'processed_files_tariff': {},
            'processed_files_sales': {},
            'processed_files_supplychain': {},
            'active_file': None,
            'active_topic': None,
            'topic_details_cache': {},
            'chat_history': [],
            'consolidated_summary_overall': None,
            'consolidated_summary_tariff': None,
            'consolidated_summary_sales': None,
            'consolidated_summary_supplychain': None,
            'last_analysis_mode': None,
            'custom_prompt_enabled': {},
            'custom_prompt_text': {}
        }

        st.rerun()


def qa_page():
    st.title("❓ Macy's Question Assistant")

    if 'qa_page' not in st.session_state:
        st.session_state.qa_page = {
            'uploaded_files': {},
            'processed_files': {},
            'active_file': None,
            'active_topic': None,
            'chat_history': [],
            'selected_files': []
        }
    qa_state = st.session_state.qa_page

    provider_select = st.sidebar.radio("Select AI Provider", ["Azure GPT", "Google Gemini"])

    initialize_clients_and_agents(provider_select, mode="qa")

    st.subheader("Upload Documents")
    uploaded_files = st.file_uploader(
        "Upload PDF documents for Q&A extraction",
        type=["pdf"],
        accept_multiple_files=True,
        key="qa_file_uploader"
    )

    if uploaded_files:
        new_files_added = False
        for file in uploaded_files:
            if file.name not in qa_state['uploaded_files']:
                qa_state['uploaded_files'][file.name] = file.getvalue()
                new_files_added = True

        if new_files_added:
            with st.spinner("🔍 Extracting Q&A from new documents..."):
                for filename in qa_state['uploaded_files']:
                    if filename not in qa_state['processed_files']:
                        try:
                            file_bytes = qa_state['uploaded_files'][filename]
                            file_obj = BytesIO(file_bytes)
                            file_obj.name = filename
                            text = extract_text(file_obj)
                            if text:
                                qa_data = st.session_state.agent_qa.analyze_question(text)
                                qa_state['processed_files'][filename] = {
                                    'text': text,
                                    'qa_data': qa_data
                                }
                                st.toast(f"✅ Processed {filename}")

                                if not qa_state.get('error') and qa_data.get('topics'):
                                    qa_state['active_topic'] = qa_data['topics'][0]
                            else:
                                st.error(f"❌ Failed to extract text for {filename}")
                        except Exception as e:
                            st.error(f"Error processing {filename}: {str(e)}")

            if not qa_state['active_file'] and qa_state['processed_files']:
                qa_state['active_file'] = next(iter(qa_state['processed_files'].keys()))

    st.sidebar.header("📄 Processed Documents")
    for filename in qa_state['processed_files']:
        if st.sidebar.button(
            f"📄 {filename}",
            key=f"qa_file_{filename}",
            use_container_width=True,
        ):
            qa_state['active_file'] = filename
            file_data = qa_state['processed_files'][filename]
            qa_data = file_data['qa_data']
            if not qa_data.get('error') and qa_data.get('topics'):
                qa_state['active_topic'] = qa_data['topics'][0]

    if qa_state['active_file']:
        file_data = qa_state['processed_files'][qa_state['active_file']]
        qa_data = file_data['qa_data']

        st.sidebar.header("📌 Topics")

        if "error" in qa_data:
            st.sidebar.error("Error in document processing")

        elif 'topics' in qa_data:
            topics = qa_data['topics']

            for topic in topics:
                btn_label = f"{topic['topic']} ({topic['mention_count']} mentions)"
                if st.sidebar.button(
                    btn_label,
                    key=f"topic_{topic['topic']}_{qa_state['active_file']}",
                    use_container_width=True,
                ):
                    qa_state['active_topic'] = topic
        else:
            st.sidebar.info("No topics found in this document")

    st.subheader("📝 Extracted Q&A Content")

    if qa_state['active_file']:
        file_data = qa_state['processed_files'][qa_state['active_file']]
        qa_data = file_data['qa_data']
        st.markdown(f"**Document:** {qa_state['active_file']}")

        if "error" in qa_data:
            st.error(f"Error processing document: {qa_data['error']}")
            if "raw_response" in qa_data:
                st.text_area("Raw AI Response", qa_data["raw_response"], height=300)

        elif 'key_takeaways' in qa_data and qa_data['key_takeaways']:
            st.subheader("Key Takeaways")
            for takeaway in qa_data['key_takeaways']:
                st.markdown(f"- {takeaway}")

        if qa_state['active_topic']:
            topic = qa_state['active_topic']
            st.divider()
            st.subheader(topic['topic'])
            st.markdown(f"**Mentioned:** {topic['mention_count']} times")
            st.divider()

            if 'questions' in topic and topic['questions']:
                for idx, question in enumerate(topic['questions']):
                    firm = question.get('firm', 'Unknown Firm')
                    st.markdown(f"**Firm:** {firm}")
                    st.markdown(f"**Question {idx+1}:** {question['question']}")
                    st.write("---")
            else:
                st.info("No questions found for this topic")
        elif 'topics' in qa_data and qa_data['topics']:
            qa_state['active_topic'] = qa_data['topics'][0]
            st.rerun()
        else:
            st.info("No Q&A content found for this document")
    else:
        st.info("Upload documents to see extracted Q&A content")

    st.divider()

    st.subheader("💬 Chat with Documents")

    available_files = list(qa_state['processed_files'].keys())
    selected_files = st.multiselect(
        "Select documents to include in chat context:",
        available_files,
        default=available_files[:min(3, len(available_files))],
        key="qa_chat_selector"
    )
    qa_state['selected_files'] = selected_files

    for msg in qa_state['chat_history']:
        with st.chat_message(msg["role"]):
            st.markdown(msg["content"])

    question = st.chat_input("Ask about the documents...")
    if question:
        if not selected_files:
            st.error("Please select at least one document for context")
            st.stop()

        qa_state['chat_history'].append({
            "role": "user",
            "content": question,
            "timestamp": datetime.utcnow().isoformat(),
        })

        try:
            context = "\n\n".join([
                f"=== {filename} ===\n{qa_state['processed_files'][filename]['text']}"
                for filename in selected_files
            ])

            with st.chat_message("assistant"):
                response_placeholder = st.empty()
                full_response = ""

                for chunk, _ in st.session_state.chat_agent.generate_answer(question, context):
                    full_response = chunk
                    response_placeholder.markdown(full_response + " ▌")

                response_placeholder.markdown(full_response)

                qa_state['chat_history'].append({
                    "role": "assistant",
                    "content": full_response,
                    "timestamp": datetime.utcnow().isoformat(),
                })

        except Exception as e:
            st.error(f"Chat error: {str(e)}")
            qa_state['chat_history'].append({
                "role": "assistant",
                "content": f"Error: {str(e)}",
                "timestamp": datetime.utcnow().isoformat(),
            })

    if st.button("🔄 Reset Q&A Session", key="reset_qa_page"):
        qa_state.clear()
        qa_state.update({
            'uploaded_files': {},
            'processed_files': {},
            'active_file': None,
            'active_topic': None,
            'chat_history': [],
            'selected_files': []
        })
        st.rerun()


if __name__ == "__main__":
    main()

replace everything of supplychain and sales with Consumer Health and Monthly Performance all things even import
ASSISTANT
Certainly! Here's your updated Streamlit app code where every occurrence of **Supply Chain** and **Sales** (including imports, agent initialization, variable names, UI labels, tabs, and keys) is replaced with **Consumer Health** and **Monthly Performance**, respectively.

Note: I replaced:
- `SalesAgent` → `MonthlyPerformanceAgent`
- `SupplyChainAgent` → `ConsumerHealthAgent`
- Tabs and other mentions renamed accordingly.

---

```python
import streamlit as st
from io import BytesIO
from datetime import datetime
from markdown import markdown
from bs4 import BeautifulSoup
from docx import Document

# Assuming these are correctly defined and accessible
from utils.pdf_utils import extract_text
from clients.azure_client import AzureClient
from clients.gemini_client import GeminiClient

from agents.tariff_agent import TariffTradeAgent
from agents.monthly_performance_agent import MonthlyPerformanceAgent
from agents.consumer_health_agent import ConsumerHealthAgent
from agents.overall_agent import OverallAgent
from agents.enhanced_chat_agent import EnhancedChatAgent
from agents.qa_agent import QAAgent


def markdown_to_word(markdown_content, output_file = 'output.docx'):
    # Convert Markdown to HTML
    html_content = markdown(markdown_content)
    
    # Parse HTML using BeautifulSoup
    soup = BeautifulSoup(html_content, 'html.parser')
    
    # Create a Word document
    doc = Document()
    
    # Add content to the Word document
    for element in soup.descendants:
        if element.name == 'h1':
            doc.add_heading(element.text, level=1)
        elif element.name == 'h2':
            doc.add_heading(element.text, level=2)
        elif element.name == 'p':
            doc.add_paragraph(element.text)
        elif element.name == 'li':
            doc.add_paragraph(f"- {element.text}")
    
    # Save the Word document
    doc.save(output_file)


def initialize_clients_and_agents(provider_select: str, mode: str = None):
    need_reinit = (
        "client" not in st.session_state
        or st.session_state.get("provider") != provider_select
    )

    if need_reinit:
        if provider_select == "Azure GPT":
            st.session_state.client = AzureClient()
            is_azure = True
        else:
            st.session_state.client = GeminiClient()
            is_azure = False

        st.session_state.provider = provider_select

        # Dashboard agents
        st.session_state.agent_overall = OverallAgent(st.session_state.client, is_azure)
        st.session_state.agent_tariff = TariffTradeAgent(st.session_state.client, is_azure)
        st.session_state.agent_monthly_performance = MonthlyPerformanceAgent(st.session_state.client, is_azure)
        st.session_state.agent_consumer_health = ConsumerHealthAgent(st.session_state.client, is_azure)

        # Chat agent
        st.session_state.chat_agent = EnhancedChatAgent(st.session_state.client, is_azure)

        # QA agent if required
        if mode == "qa" or mode is None:
            st.session_state.agent_qa = QAAgent(st.session_state.client, is_azure)

    else:
        if mode in [None, "dashboard"]:
            if "agent_overall" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.agent_overall = OverallAgent(st.session_state.client, is_azure)
            if "agent_tariff" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.agent_tariff = TariffTradeAgent(st.session_state.client, is_azure)
            if "agent_monthly_performance" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.agent_monthly_performance = MonthlyPerformanceAgent(st.session_state.client, is_azure)
            if "agent_consumer_health" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.agent_consumer_health = ConsumerHealthAgent(st.session_state.client, is_azure)
            if "chat_agent" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.chat_agent = EnhancedChatAgent(st.session_state.client, is_azure)

        if mode in [None, "qa"]:
            if "agent_qa" not in st.session_state:
                is_azure = st.session_state.provider == "Azure GPT"
                st.session_state.agent_qa = QAAgent(st.session_state.client, is_azure)


def analyze_documents(mode, agent, processed_files, sess, custom_prompt=None):
    # Process individual files
    for filename, file_bytes in sess['uploaded_files'].items():
        if filename not in processed_files:
            try:
                file_obj = BytesIO(file_bytes)
                file_obj.name = filename
                text = extract_text(file_obj)
                if text:
                    # *** CHANGE: explicitly pass agent.prompt_analyze to ensure custom prompt used ***
                    topics = agent.analyze_document(
                        text,
                        custom_prompt=agent.prompt_analyze if hasattr(agent, 'prompt_analyze') else None
                    )

                    processed_files[filename] = {
                        "text": text,
                        "topics": topics,
                        "context": text,
                    }
                    st.toast(f"✅ Processed {filename}")
                else:
                    st.error(f"❌ Failed to extract text for {filename}")
            except Exception as e:
                st.error(f"Error processing {filename}: {str(e)}")

    # Generate consolidated summary
    summary = agent.generate_consolidated_summary_from_topics(processed_files, custom_prompt)

    if mode == "overall":
        sess['consolidated_summary_overall'] = summary
    elif mode == "tariff":
        sess['consolidated_summary_tariff'] = summary
    elif mode == "monthly_performance":
        sess['consolidated_summary_monthly_performance'] = summary
    elif mode == "consumer_health":
        sess['consolidated_summary_consumer_health'] = summary

    sess['last_analysis_mode'] = mode
    sess['active_file'] = None
    sess['active_topic'] = None
    st.success(f"Analysis and summary generated for {mode.replace('consumer_health', 'consumer health').replace('monthly_performance', 'monthly performance')}.")


def main():
    st.set_page_config(page_title="Macy's Document Analysis Pro", layout="wide")

    st.sidebar.title("InsightHub")
    page = st.sidebar.radio("Select Any", ["Analysis Dashboard", "Question Assistant"])

    if page == "Analysis Dashboard":
        dashboard_page()
    elif page == "Question Assistant":
        qa_page()


def dashboard_page():
    st.title("📊 Macy's Document Analysis Dashboard")

    provider_select = st.radio("Select AI Provider", ["Azure GPT", "Google Gemini"])

    initialize_clients_and_agents(provider_select, mode="dashboard")

    if "session" not in st.session_state:
        st.session_state.session = {
            'uploaded_files': {},
            'processed_files_overall': {},
            'processed_files_tariff': {},
            'processed_files_monthly_performance': {},
            'processed_files_consumer_health': {},
            'active_file': None,
            'active_topic': None,
            'topic_details_cache': {},
            'chat_history': [],
            'consolidated_summary_overall': None,
            'consolidated_summary_tariff': None,
            'consolidated_summary_monthly_performance': None,
            'consolidated_summary_consumer_health': None,
            'last_analysis_mode': None,
            'custom_prompt_enabled': {},
            'custom_prompt_text': {}
        }

    sess = st.session_state.session

    # --- File Upload ---
    st.subheader("1. Upload Documents")
    uploaded_files = st.file_uploader(
        "Upload PDF documents",
        type=["pdf"],
        accept_multiple_files=True,
        key="file_uploader",
    )
    if uploaded_files:
        new_files_added = False
        for file in uploaded_files:
            if file.name not in sess['uploaded_files']:
                sess['uploaded_files'][file.name] = file.getvalue()
                new_files_added = True

        if new_files_added:
            with st.spinner("🔍 Analyzing new documents with Overall Agent..."):
                analyze_documents(
                    mode="overall",
                    agent=st.session_state.agent_overall,
                    processed_files=sess['processed_files_overall'],
                    sess=sess
                )

    # --- Custom Prompts & Analysis ---
    st.subheader("2. Custom Prompts & Analysis")

    if 'custom_prompts' not in sess:
        sess['custom_prompts'] = {
            'overall': {
                'summary': OverallAgent.prompt_summary,
                'analyze': OverallAgent.prompt_analyze,
                'detail': OverallAgent.prompt_detail
            },
            'tariff': {
                'summary': TariffTradeAgent.prompt_summary,
                'analyze': TariffTradeAgent.prompt_analyze,
                'detail': TariffTradeAgent.prompt_detail
            },
            'monthly_performance': {
                'summary': MonthlyPerformanceAgent.prompt_summary,
                'analyze': MonthlyPerformanceAgent.prompt_analyze,
                'detail': MonthlyPerformanceAgent.prompt_detail
            },
            'consumer_health': {
                'summary': ConsumerHealthAgent.prompt_summary,
                'analyze': ConsumerHealthAgent.prompt_analyze,
                'detail': ConsumerHealthAgent.prompt_detail
            }
        }

    tab_overall, tab_tariff, tab_monthly_performance, tab_consumer_health = st.tabs([
        "📑 Overall", "🔍 Tariff", "📈 Monthly Performance", "🩺 Consumer Health"
    ])

    generate_mode = None

    with tab_overall:
        st.subheader("Overall Prompts")
        use_custom = st.checkbox("✏️ Use Custom Prompts", key="custom_overall")

        if use_custom:
            sess['custom_prompts']['overall']['summary'] = st.text_area(
                "Summary Prompt:",
                value=sess['custom_prompts']['overall']['summary'],
                height=150,
                key="overall_prompt_summary"
            )
            sess['custom_prompts']['overall']['analyze'] = st.text_area(
                "Analysis Prompt:",
                value=sess['custom_prompts']['overall']['analyze'],
                height=150,
                key="overall_prompt_analyze"
            )
            sess['custom_prompts']['overall']['detail'] = st.text_area(
                "Detail Prompt:",
                value=sess['custom_prompts']['overall']['detail'],
                height=150,
                key="overall_prompt_detail"
            )

            if st.button("🔄 Generate with Custom Prompts", key="generate_overall"):
                generate_mode = "overall"

    with tab_tariff:
        st.subheader("Tariff Prompts")
        use_custom = st.checkbox("✏️ Use Custom Prompts", key="custom_tariff")

        if use_custom:
            sess['custom_prompts']['tariff']['summary'] = st.text_area(
                "Summary Prompt:",
                value=sess['custom_prompts']['tariff']['summary'],
                height=150,
                key="tariff_prompt_summary"
            )
            sess['custom_prompts']['tariff']['analyze'] = st.text_area(
                "Analysis Prompt:",
                value=sess['custom_prompts']['tariff']['analyze'],
                height=150,
                key="tariff_prompt_analyze"
            )
            sess['custom_prompts']['tariff']['detail'] = st.text_area(
                "Detail Prompt:",
                value=sess['custom_prompts']['tariff']['detail'],
                height=150,
                key="tariff_prompt_detail"
            )

            if st.button("🔄 Generate with Custom Prompts", key="generate_tariff"):
                generate_mode = "tariff"

    with tab_monthly_performance:
        st.subheader("Monthly Performance Prompts")
        use_custom = st.checkbox("✏️ Use Custom Prompts", key="custom_monthly_performance")

        if use_custom:
            sess['custom_prompts']['monthly_performance']['summary'] = st.text_area(
                "Summary Prompt:",
                value=sess['custom_prompts']['monthly_performance']['summary'],
                height=150,
                key="monthly_performance_prompt_summary"
            )
            sess['custom_prompts']['monthly_performance']['analyze'] = st.text_area(
                "Analysis Prompt:",
                value=sess['custom_prompts']['monthly_performance']['analyze'],
                height=150,
                key="monthly_performance_prompt_analyze"
            )
            sess['custom_prompts']['monthly_performance']['detail'] = st.text_area(
                "Detail Prompt:",
                value=sess['custom_prompts']['monthly_performance']['detail'],
                height=150,
                key="monthly_performance_prompt_detail"
            )

            if st.button("🔄 Generate with Custom Prompts", key="generate_monthly_performance"):
                generate_mode = "monthly_performance"

    with tab_consumer_health:
        st.subheader("Consumer Health Prompts")
        use_custom = st.checkbox("✏️ Use Custom Prompts", key="custom_consumer_health")

        if use_custom:
            sess['custom_prompts']['consumer_health']['summary'] = st.text_area(
                "Summary Prompt:",
                value=sess['custom_prompts']['consumer_health']['summary'],
                height=150,
                key="consumer_health_prompt_summary"
            )
            sess['custom_prompts']['consumer_health']['analyze'] = st.text_area(
                "Analysis Prompt:",
                value=sess['custom_prompts']['consumer_health']['analyze'],
                height=150,
                key="consumer_health_prompt_analyze"
            )
            sess['custom_prompts']['consumer_health']['detail'] = st.text_area(
                "Detail Prompt:",
                value=sess['custom_prompts']['consumer_health']['detail'],
                height=150,
                key="consumer_health_prompt_detail"
            )

            if st.button("🔄 Generate with Custom Prompts", key="generate_consumer_health"):
                generate_mode = "consumer_health"

    st.subheader("Quick Analysis")
    col0, col1, col2, col3 = st.columns(4)
    analyze_overall = col0.button("📑 Overall Summary")
    analyze_tariff = col1.button("🔍 Analyze Tariffs")
    analyze_monthly_performance = col2.button("📈 Analyze Monthly Performance")
    analyze_consumer_health = col3.button("🩺 Analyze Consumer Health")

    if generate_mode or analyze_overall or analyze_tariff or analyze_monthly_performance or analyze_consumer_health:
        if not sess['uploaded_files']:
            st.error("Please upload documents first.")
            st.stop()

        mode = generate_mode or (
            "overall" if analyze_overall else
            "tariff" if analyze_tariff else
            "monthly_performance" if analyze_monthly_performance else
            "consumer_health" if analyze_consumer_health else None
        )

        agent = None

        if mode == "overall":
            agent = st.session_state.agent_overall
        elif mode == "tariff":
            agent = st.session_state.agent_tariff
        elif mode == "monthly_performance":
            agent = st.session_state.agent_monthly_performance
        elif mode == "consumer_health":
            agent = st.session_state.agent_consumer_health

        sess[f'processed_files_{mode}'] = {}
        processed_files = sess[f'processed_files_{mode}']

        if generate_mode:
            agent.prompt_summary = sess['custom_prompts'][mode]['summary']
            agent.prompt_analyze = sess['custom_prompts'][mode]['analyze']
            agent.prompt_detail = sess['custom_prompts'][mode]['detail']
            st.toast(f"Using custom prompts for {mode.replace('consumer_health','consumer health').replace('monthly_performance','monthly performance')} analysis")
        else:
            if mode == "overall":
                agent.prompt_summary = OverallAgent.prompt_summary
                agent.prompt_analyze = OverallAgent.prompt_analyze
                agent.prompt_detail = OverallAgent.prompt_detail
            elif mode == "tariff":
                agent.prompt_summary = TariffTradeAgent.prompt_summary
                agent.prompt_analyze = TariffTradeAgent.prompt_analyze
                agent.prompt_detail = TariffTradeAgent.prompt_detail
            elif mode == "monthly_performance":
                agent.prompt_summary = MonthlyPerformanceAgent.prompt_summary
                agent.prompt_analyze = MonthlyPerformanceAgent.prompt_analyze
                agent.prompt_detail = MonthlyPerformanceAgent.prompt_detail
            elif mode == "consumer_health":
                agent.prompt_summary = ConsumerHealthAgent.prompt_summary
                agent.prompt_analyze = ConsumerHealthAgent.prompt_analyze
                agent.prompt_detail = ConsumerHealthAgent.prompt_detail

        with st.spinner(f"🔍 Analyzing {mode.replace('consumer_health', 'consumer health').replace('monthly_performance', 'monthly performance')} documents..."):
            analyze_documents(
                mode,
                agent,
                processed_files,
                sess
            )

    last_mode = sess['last_analysis_mode']
    if last_mode is None:
        st.info("Select an analysis type to begin.")
        return

    mode_config = {
        'overall': {
            'files': sess['processed_files_overall'],
            'summary': sess['consolidated_summary_overall'],
            'sidebar_header': "Overall Topics",
            'main_header': "🌟 Executive Summary",
            'agent': st.session_state.agent_overall
        },
        'tariff': {
            'files': sess['processed_files_tariff'],
            'summary': sess['consolidated_summary_tariff'],
            'sidebar_header': "Tariff Topics",
            'main_header': "🌟 Tariff Analysis",
            'agent': st.session_state.agent_tariff
        },
        'monthly_performance': {
            'files': sess['processed_files_monthly_performance'],
            'summary': sess['consolidated_summary_monthly_performance'],
            'sidebar_header': "Monthly Performance Topics",
            'main_header': "🌟 Monthly Performance Analysis",
            'agent': st.session_state.agent_monthly_performance
        },
        'consumer_health': {
            'files': sess['processed_files_consumer_health'],
            'summary': sess['consolidated_summary_consumer_health'],
            'sidebar_header': "Consumer Health Topics",
            'main_header': "🌟 Consumer Health Analysis",
            'agent': st.session_state.agent_consumer_health
        }
    }

    current_mode = mode_config[last_mode]

    # --- Sidebar Topics ---
    st.sidebar.header(current_mode['sidebar_header'])

    if last_mode == "overall":
        topics_by_file = {}
        for filename, filedata in current_mode['files'].items():
            for topic in filedata["topics"]:
                topics_by_file.setdefault(topic['name'], []).append({
                    'file': filename,
                    'score': topic['score']
                })

        sorted_topics = sorted(topics_by_file.items(),
                               key=lambda x: max(x[1], key=lambda y: y['score'])['score'],
                               reverse=True)
        before_view_more, after_view_more = sorted_topics[:3], sorted_topics[3:]

        for topic_name, occurrences in before_view_more:
            total_score = sum(occ['score'] for occ in occurrences)
            file_count = len(occurrences)
            btn_label = f"{topic_name} (📈 {total_score:.1f} | 📑 {file_count})"

            if st.sidebar.button(
                btn_label,
                key=f"overall_topic_{topic_name}",
                use_container_width=True,
            ):
                sess['active_topic'] = topic_name
                sess['active_file'] = None

        if after_view_more and st.sidebar.button('View More', key='1234', use_container_width=True):
            for topic_name, occurrences in after_view_more:
                total_score = sum(occ['score'] for occ in occurrences)
                file_count = len(occurrences)
                btn_label = f"{topic_name} (📈 {total_score:.1f} | 📑 {file_count})"

                if st.sidebar.button(
                    btn_label,
                    key=f"overall_topic_more_{topic_name}",
                    use_container_width=True,
                ):
                    sess['active_topic'] = topic_name
                    sess['active_file'] = None

    else:  # tariff, monthly_performance, consumer_health
        for filename, filedata in current_mode['files'].items():
            expanded = (filename == sess['active_file'])
            with st.sidebar.expander(f"📄 {filename}", expanded=expanded):
                topics = sorted(filedata["topics"], key=lambda t: t["score"], reverse=True)
                for topic in topics[:3]:
                    is_selected = (
                        sess['active_file'] == filename and sess['active_topic'] == topic['name']
                    )
                    style = "primary" if is_selected else "secondary"

                    if st.button(
                        f"• {topic['name']} (Score: {topic['score']})",
                        key=f"{last_mode}_topic_{filename}_{topic['name']}",
                        type=style,
                        use_container_width=True,
                    ):
                        sess['active_file'] = filename
                        sess['active_topic'] = topic['name']

                if len(topics) > 3 and st.sidebar.button(f'View More for {filename}', key=f'{filename}_view_more', use_container_width=True):
                    for topic in topics[3:]:
                        is_selected = (
                            sess['active_file'] == filename and sess['active_topic'] == topic['name']
                        )
                        style = "primary" if is_selected else "secondary"

                        if st.button(
                            f"• {topic['name']} (Score: {topic['score']})",
                            key=f"{last_mode}_topic_more_{filename}_{topic['name']}",
                            type=style,
                            use_container_width=True,
                        ):
                            sess['active_file'] = filename
                            sess['active_topic'] = topic['name']

    # --- Topic Detail Analysis ---
    st.subheader("Detailed Analysis")
    if last_mode == "overall" and sess['active_topic']:
        mentions = []
        for filename, filedata in current_mode['files'].items():
            for topic in filedata["topics"]:
                if topic['name'] == sess['active_topic']:
                    mentions.append({
                        'file': filename,
                        'summary': topic.get('summary', ''),
                        'score': topic['score'],
                        'context': filedata['context']
                    })

        with st.expander("📊 Topic Prevalence"):
            cols = st.columns(3)
            cols[0].metric("Total Documents", len(mentions))
            avg_relevance = (sum(m['score'] for m in mentions) / len(mentions)) if mentions else 0
            cols[1].metric("Average Relevance", f"{avg_relevance:.1f}")
            cols[2].metric("First Mentioned", mentions[0]['file'] if mentions else "N/A")

        if mentions:
            combined_context = "\n\n".join(f"=== {m['file']} ===\n{m['context']}" for m in mentions)
            key_cache = (last_mode, sess['active_topic'])
            if key_cache in sess['topic_details_cache']:
                st.markdown(sess['topic_details_cache'][key_cache])
            else:
                placeholder = st.empty()
                collected_text = ""
                try:
                    for chunk in current_mode['agent'].generate_topic_detail(combined_context, sess['active_topic']):
                        collected_text = chunk
                        placeholder.markdown(collected_text + (" ▌" if "▌" in collected_text else ""))
                    sess['topic_details_cache'][key_cache] = collected_text
                    markdown_to_word(collected_text, sess['active_topic']+'.docx')
                    with open(sess['active_topic']+'.docx', 'rb') as f:
                        st.download_button("Download Doc", f, file_name=sess['active_topic']+'.docx')

                except Exception as e:
                    st.error(f"Analysis error: {str(e)}")

    elif sess['active_file'] and sess['active_topic']:
        key_cache = (last_mode, sess['active_file'], sess['active_topic'])
        if key_cache in sess['topic_details_cache']:
            st.markdown(sess['topic_details_cache'][key_cache])
        else:
            placeholder = st.empty()
            collected_text = ""
            try:
                for chunk in current_mode['agent'].generate_topic_detail(
                    current_mode['files'][sess['active_file']]['context'],
                    sess['active_topic'],
                ):
                    collected_text = chunk
                    placeholder.markdown(collected_text + (" ▌" if "▌" in collected_text else ""))
                sess['topic_details_cache'][key_cache] = collected_text
                markdown_to_word(collected_text, sess['active_topic']+'.docx')
                with open(sess['active_topic']+'.docx', 'rb') as f:
                    st.download_button("Download Doc", f, file_name=sess['active_topic']+'.docx')


            except Exception as e:
                st.error(f"Analysis error: {str(e)}")
    else:
        st.info("Select a topic from the sidebar")

    st.markdown("---")

    st.header(current_mode['main_header'])
    if current_mode['summary']:
        st.markdown(current_mode['summary'])
        markdown_to_word(current_mode['summary'], current_mode['sidebar_header']+'.docx')
        with open(current_mode['sidebar_header']+'.docx', 'rb') as f:
            st.download_button("Download Doc", f, file_name=current_mode['sidebar_header']+'.docx')

    else:
        st.info("Summary not available yet")

    st.divider()

    # --- Chat Interface ---
    st.subheader("💬 Document Chat")

    available_files = list(current_mode['files'].keys())
    selected_files = st.multiselect(
        "Select documents for context:",
        available_files,
        key=f"chat_selector_{last_mode}"
    )

    for msg in sess['chat_history']:
        with st.chat_message(msg["role"]):
            st.markdown(msg["content"])

    question = st.chat_input("Ask about the documents...")
    if question:
        if not selected_files:
            st.error("Please select documents first")
            st.stop()

        sess['chat_history'].append({
            "role": "user",
            "content": question,
            "timestamp": datetime.utcnow().isoformat(),
        })

        try:
            context = "\n\n".join([
                f"=== {fname} ===\n{current_mode['files'][fname]['context']}"
                for fname in selected_files
            ])

            with st.chat_message("assistant"):
                response_placeholder = st.empty()
                full_response = ""
                q_type = None

                for chunk, q_type in st.session_state.chat_agent.generate_answer(question, context):
                    full_response = chunk
                    response_placeholder.markdown(full_response + " ▌")

                response_placeholder.markdown(full_response)

                sess['chat_history'].append({
                    "role": "assistant",
                    "content": full_response,
                    "timestamp": datetime.utcnow().isoformat(),
                    "analysis_type": q_type
                })

        except Exception as e:
            st.error(f"Chat error: {str(e)}")
            sess['chat_history'].append({
                "role": "assistant",
                "content": f"Error: {str(e)}",
                "timestamp": datetime.utcnow().isoformat(),
            })

    if st.button("🔄 Reset Session", type="secondary"):
        preserved_keys = [
            "client", "agent_overall", "agent_tariff",
            "agent_monthly_performance", "agent_consumer_health", "chat_agent", "provider"
        ]
        preserved = {k: st.session_state[k] for k in preserved_keys if k in st.session_state}

        st.session_state.clear()
        st.session_state.update(preserved)

        st.session_state.session = {
            'uploaded_files': {},
            'processed_files_overall': {},
            'processed_files_tariff': {},
            'processed_files_monthly_performance': {},
            'processed_files_consumer_health': {},
            'active_file': None,
            'active_topic': None,
            'topic_details_cache': {},
            'chat_history': [],
            'consolidated_summary_overall': None,
            'consolidated_summary_tariff': None,
            'consolidated_summary_monthly_performance': None,
            'consolidated_summary_consumer_health': None,
            'last_analysis_mode': None,
            'custom_prompt_enabled': {},
            'custom_prompt_text': {}
        }

        st.rerun()


def qa_page():
    st.title("❓ Macy's Question Assistant")

    if 'qa_page' not in st.session_state:
        st.session_state.qa_page = {
            'uploaded_files': {},
            'processed_files': {},
            'active_file': None,
            'active_topic': None,
            'chat_history': [],
            'selected_files': []
        }
    qa_state = st.session_state.qa_page

    provider_select = st.sidebar.radio("Select AI Provider", ["Azure GPT", "Google Gemini"])

    initialize_clients_and_agents(provider_select, mode="qa")

    st.subheader("Upload Documents")
    uploaded_files = st.file_uploader(
        "Upload PDF documents for Q&A extraction",
        type=["pdf"],
        accept_multiple_files=True,
        key="qa_file_uploader"
    )

    if uploaded_files:
        new_files_added = False
        for file in uploaded_files:
            if file.name not in qa_state['uploaded_files']:
                qa_state['uploaded_files'][file.name] = file.getvalue()
                new_files_added = True

        if new_files_added:
            with st.spinner("🔍 Extracting Q&A from new documents..."):
                for filename in qa_state['uploaded_files']:
                    if filename not in qa_state['processed_files']:
                        try:
                            file_bytes = qa_state['uploaded_files'][filename]
                            file_obj = BytesIO(file_bytes)
                            file_obj.name = filename
                            text = extract_text(file_obj)
                            if text:
                                qa_data = st.session_state.agent_qa.analyze_question(text)
                                qa_state['processed_files'][filename] = {
                                    'text': text,
                                    'qa_data': qa_data
                                }
                                st.toast(f"✅ Processed {filename}")

                                if not qa_state.get('error') and qa_data.get('topics'):
                                    qa_state['active_topic'] = qa_data['topics'][0]
                            else:
                                st.error(f"❌ Failed to extract text for {filename}")
                        except Exception as e:
                            st.error(f"Error processing {filename}: {str(e)}")

            if not qa_state['active_file'] and qa_state['processed_files']:
                qa_state['active_file'] = next(iter(qa_state['processed_files'].keys()))

    st.sidebar.header("📄 Processed Documents")
    for filename in qa_state['processed_files']:
        if st.sidebar.button(
            f"📄 {filename}",
            key=f"qa_file_{filename}",
            use_container_width=True,
        ):
            qa_state['active_file'] = filename
            file_data = qa_state['processed_files'][filename]
            qa_data = file_data['qa_data']
            if not qa_data.get('error') and qa_data.get('topics'):
                qa_state['active_topic'] = qa_data['topics'][0]

    if qa_state['active_file']:
        file_data = qa_state['processed_files'][qa_state['active_file']]
        qa_data = file_data['qa_data']

        st.sidebar.header("📌 Topics")

        if "error" in qa_data:
            st.sidebar.error("Error in document processing")

        elif 'topics' in qa_data:
            topics = qa_data['topics']

            for topic in topics:
                btn_label = f"{topic['topic']} ({topic['mention_count']} mentions)"
                if st.sidebar.button(
                    btn_label,
                    key=f"topic_{topic['topic']}_{qa_state['active_file']}",
                    use_container_width=True,
                ):
                    qa_state['active_topic'] = topic
        else:
            st.sidebar.info("No topics found in this document")

    st.subheader("📝 Extracted Q&A Content")

    if qa_state['active_file']:
        file_data = qa_state['processed_files'][qa_state['active_file']]
        qa_data = file_data['qa_data']
        st.markdown(f"**Document:** {qa_state['active_file']}")

        if "error" in qa_data:
            st.error(f"Error processing document: {qa_data['error']}")
            if "raw_response" in qa_data:
                st.text_area("Raw AI Response", qa_data["raw_response"], height=300)

        elif 'key_takeaways' in qa_data and qa_data['key_takeaways']:
            st.subheader("Key Takeaways")
            for takeaway in qa_data['key_takeaways']:
                st.markdown(f"- {takeaway}")

        if qa_state['active_topic']:
            topic = qa_state['active_topic']
            st.divider()
            st.subheader(topic['topic'])
            st.markdown(f"**Mentioned:** {topic['mention_count']} times")
            st.divider()

            if 'questions' in topic and topic['questions']:
                for idx, question in enumerate(topic['questions']):
                    firm = question.get('firm', 'Unknown Firm')
                    st.markdown(f"**Firm:** {firm}")
                    st.markdown(f"**Question {idx+1}:** {question['question']}")
                    st.write("---")
            else:
                st.info("No questions found for this topic")
        elif 'topics' in qa_data and qa_data['topics']:
            qa_state['active_topic'] = qa_data['topics'][0]
            st.rerun()
        else:
            st.info("No Q&A content found for this document")
    else:
        st.info("Upload documents to see extracted Q&A content")

    st.divider()

    st.subheader("💬 Chat with Documents")

    available_files = list(qa_state['processed_files'].keys())
    selected_files = st.multiselect(
        "Select documents to include in chat context:",
        available_files,
        default=available_files[:min(3, len(available_files))],
        key="qa_chat_selector"
    )
    qa_state['selected_files'] = selected_files

    for msg in qa_state['chat_history']:
        with st.chat_message(msg["role"]):
            st.markdown(msg["content"])

    question = st.chat_input("Ask about the documents...")
    if question:
        if not selected_files:
            st.error("Please select at least one document for context")
            st.stop()

        qa_state['chat_history'].append({
            "role": "user",
            "content": question,
            "timestamp": datetime.utcnow().isoformat(),
        })

        try:
            context = "\n\n".join([
                f"=== {filename} ===\n{qa_state['processed_files'][filename]['text']}"
                for filename in selected_files
            ])

            with st.chat_message("assistant"):
                response_placeholder = st.empty()
                full_response = ""

                for chunk, _ in st.session_state.chat_agent.generate_answer(question, context):
                    full_response = chunk
                    response_placeholder.markdown(full_response + " ▌")

                response_placeholder.markdown(full_response)

                qa_state['chat_history'].append({
                    "role": "assistant",
                    "content": full_response,
                    "timestamp": datetime.utcnow().isoformat(),
                })

        except Exception as e:
            st.error(f"Chat error: {str(e)}")
            qa_state['chat_history'].append({
                "role": "assistant",
                "content": f"Error: {str(e)}",
                "timestamp": datetime.utcnow().isoformat(),
            })

    if st.button("🔄 Reset Q&A Session", key="reset_qa_page"):
        qa_state.clear()
        qa_state.update({
            'uploaded_files': {},
            'processed_files': {},
            'active_file': None,
            'active_topic': None,
            'chat_history': [],
            'selected_files': []
        })
        st.rerun()


if __name__ == "__main__":
    main()
```

---

### Summary of replacements:
- `SalesAgent` → `MonthlyPerformanceAgent`
- `SupplyChainAgent` → `ConsumerHealthAgent`
- All references to **Sales** replaced by **Monthly Performance**
- All references to **Supply Chain** replaced by **Consumer Health**
- Sidebar tabs, buttons, checkbox keys, session keys, variables, etc. changed accordingly.

Make sure the new agents `MonthlyPerformanceAgent` and `ConsumerHealthAgent` exist and are implemented the same way as the original ones.

If you want me to provide example skeletons of those agents or help migrating those modules as well, just ask!

turns-00084.parquet:14124

5d4e85ebc4dde0e4fb745d5c
turn 2/6gpt-4.1-mini-2025-04-14EnglishIndia2973 words
degenerate_repetitionAbsentFinal dense release
USER
can you change the prompts according to ConsumerHealth agent 

from agents.base_agent import BaseAgent

class SupplyChainAgent(BaseAgent):
    prompt_sys = "Supply chain analyst for Macy's works for only provided documents"
    
     # Universal formatting enforcement line
    formatting_directive = """Please follow these formatting guidelines:
1. **No Combined Elements**: Always space-separate numbers/words/units (3.3 billion not 3.3billion)
2. **Time Formatting**: Q4 2024 (never Q42024 or 4th quarter)
3. **Number Rules**: 
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal
4. **Text Integrity**: 
   - "net income" never "netincome"
   - "year-over-year" never "YOY" or "yearoveryear"
5. **Style Prohibition**: Do not make any word in Italic or any other format always make it in one format
6. **Bad Example**: 3.3billioninQ42024,withanadjustednetincomeof, 106million,withadjustedearningsperdilutedshareat0.95 → REJECTED
7. **ALWAYS Required Format**: 3.3 billion in Q4 2024, with an adjusted net income of → ACCEPTED

APPLY THESE RULES TO ALL NUMERICAL MENTIONS AND SENTENCE STRUCTURES."""
    
    prompt_analyze = """You are a senior supply chain analyst specializing in logistics and procurement for Macy's operations.  
You have received a transcript/document from another company.

Identify all significant supply chain and logistics topics in the text from all the files that could affect Macy's procurement, inventory, delivery timelines, and supplier relationships.

For each topic, provide:  
- A concise topic name (e.g., "Port Congestion", "Supplier Delays").  
- A brief describing in 200 words including its impact on Macy's supply chain operations also include Overview of the topic, Key insights and relevant excerpts, Important figures, timelines, or operational metrics, Detailed analysis on impact to Macy's supply chain, procurement, and logistics.  
- A relevance score from 1 (minor) to 10 (critical).

Format your response one topic per line:  
- Topic Name: Summary [Relevance Score]

Example lines:  
- Port Congestion: Delays expected affecting inventory availability [9]  
- Supplier Delay: Lead times extended due to supplier issues [8]

Analyze this external document:""" + formatting_directive 

    prompt_summary = """You are a senior supply chain analyst preparing a consolidated supply chain and procurement report for Macy's executive team from all document provided.

You have reviewed supply chain and logistics topics extracted from multiple external company documents. These topics include their names, summaries, and relevance scores. Based on their content, please:

1. **OverView**: Identify and describe all their impactful supply chain and logistics topics that could affect Macy's inventory management, procurement, delivery timelines, and supplier relationships.
2. For each topic:
   * Provide a concise summary from combining all the relevant documents.
   * Include relevant metrics, timelines, or examples from the documents also provide from which document it is taken.
   * Explain operational and strategic impacts—positive , negative, or neutral—specifically tailored to Macy's supply chain and logistics.
   * Provide 3-5 actionable strategic recommendations for Macy's leadership.
   * For every topic, ALWAYS provide verbatim source excerpts under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a same topic is present in multiple documents, always include a separate "Ground Truth" excerpt for each document with proper line breaks.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.
        
3. Format in clear sections in black text with proper headings:
    * Executive Summary
    * Key Themes
    * Strategic Recommendations
    * Risk Assessment
    
4. Avoid jargon and focus on practical operational impacts and strategy insights.


Use Documents Analysis Data from all the documents provided below try combining the same topics from different documents and provide the summary of all the topics in one place.:
{topics_block}

Deliver a detailed, actionable consolidated supply chain report for Macy's.""" + formatting_directive 

    prompt_detail = """You are preparing a detailed briefing for Macy's CEO on the supply chain topic '{topic}', based on the external company document.

Provide:
1. Overview of the topic.
2. Key insights and relevant excerpts.
3. Important figures, timelines, or operational metrics.
4. Detailed analysis on impact to Macy's supply chain, procurement, and logistics.
5. 3-5 actionable recommendations for Macy's leadership.
6. For every topic, ALWAYS provide verbatim source excerpts under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a topic is present in multiple documents, include a separate "Ground Truth" excerpt for each document.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.


Document:
{text}

Topic: {topic}

Please provide structured briefing with proper paragraphs and bold topics.
""" + formatting_directive 

    def analyze_document(self, text, custom_prompt=None):
        prompt_analyze = custom_prompt if custom_prompt else self.prompt_analyze
        return super().analyze_document(self.prompt_sys, prompt_analyze, text)

    def generate_consolidated_summary_from_topics(self, processed_files, custom_prompt=None):
        prompt_summary = custom_prompt if custom_prompt else self.prompt_summary
        return super().generate_consolidated_summary_from_topics(self.prompt_sys, prompt_summary, processed_files)

    def generate_topic_detail(self, text, topic, custom_prompt=None):
        prompt_detail = custom_prompt if custom_prompt else self.prompt_detail
        return super().generate_topic_detail(self.prompt_sys, prompt_detail, text, topic)


change according to below suggestions

Prompt: Summarize what the company said regarding consumer health and the macro environment. If no detail is provided, say “N/A”.
Pull in details on what the company says about the US consumer, their customer, a change in demand and/or a change in spend.


You are a senior analyst preparing a summary of transcript commentary from all documents provided.
Identify and describe all mentions of consumer financial health and the macroeconomic environment in the  provided documents, focusing on what the company says about the US consumer, their customer, a change in demand or a change in spend. Combine and synthesize topics that appear in multiple documents.
 
1. **Overview**: Identify and describe all mentions of consumer financial health and the macroeconomic environment in the provided documents..
 
2. For each topic:
    * Provide a concise summary by combining information from all relevant documents.
    * Include relevant examples, numerical data, or timelines from the documents.
    * For every topic, ALWAYS provide each excerpts mentioned under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a same topic is present in multiple documents, always include a separate "Ground Truth" excerpt for each document with proper line breaks.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the documents data exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the document.
 
3. Format in clear with sections in black text with proper headings:
    * Consumer Health Summary
 
Use the following Documents Analysis Data to combine similar topics from different documents and provide a comprehensive summary:
{topics_block}
 
Provide comprehensive yet concise summary. STRICTLY ENFORCE PLAIN TEXT FORMATTING:
2. **No Combined Elements**: Always space-separate numbers/words/units (3.3 billion not 3.3billion)
3. **Time Formatting**: Q4 2024 (never Q42024 or 4th quarter)
4. **Number Rules**: 
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal
5. **Text Integrity**: 
   - "net income" never "netincome"
   - "year-over-year" never "YOY" or "yearoveryear"
6. **Style Prohibition**: Do not make any word in Italic or any other format always make it in one format
7. **Bad Example**: 3.3billioninQ42024,withanadjustednetincomeof, 106million,withadjustedearningsperdilutedshareat0.95 → REJECTED
8. **ALLWAYS Required Format**: 3.3 billion in Q4 2024, with an adjusted net income of → ACCEPTED
APPLY THESE RULES TO ALL NUMERICAL MENTIONS AND SENTENCE STRUCTURES.
Analysis Prompt
You are a senior business analyst working directly for Macy's CEO. Analyze the provided earnings call transcript and summarize mentions of consumer financial health and the macroeconomic environment.
 
Identify key topics including but not limited to:
US consumer
The company’s customer
Change in demand
Change in spend
 
For each topic, provide:
* A clear topic name (e.g., "E-commerce Growth", "Supply Chain Digitization")
* Concise 100-word summary providing key numbers and operational impacts
* Strictly preserve original numerical and textual formatting: maintain exact decimals (0.33), required spacing between numbers/text (0.11 → '0.11'), and verbatim terminology without concatenation or rephrasing.
* For every topic, ALWAYS provide excerpts mentioned under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a topic is present in multiple documents, include a separate "Ground Truth" excerpt for each document.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the document data exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the documents.
Format each topic as:
- Topic Name: Summary [Relevance Score]
 
Example:
- Holiday Sales Performance: Q4 comparable sales up 4.2% driven by 18% digital growth [8]
- Inventory Optimization: Implementing AI demand forecasting to reduce carrying costs by $150M [7]
Document Text:STRICTLY ENFORCE PLAIN TEXT FORMATTING:
2. **No Combined Elements**: Always space-separate numbers/words/units (3.3 billion not 3.3billion)
3. **Time Formatting**: Q4 2024 (never Q42024 or 4th quarter)
4. **Number Rules**: 
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal
5. **Text Integrity**: 
   - "net income" never "netincome"
   - "YOY " never "year-over-year" or "yearoveryear"
   - “vs.” never “versus” or “vs”
   - “$XB” never “$X billion”
   - “$XM” never “$X million”
6. **Style Prohibition**: Do not make any word in Italic or any other format always make it in one format
7. **Bad Example**: 3.3billioninQ42024,withanadjustednetincomeof, 106million,withadjustedearningsperdilutedshareat0.95 → REJECTED
8. **ALLWAYS Required Format**: 3.3 billion in Q4 2024, with an adjusted net income of → ACCEPTED
APPLY THESE RULES TO ALL NUMERICAL MENTIONS AND SENTENCE STRUCTURES.


The output should be a summary of the commentary, in 100 words or less. The summary should be in the third person (name of the company, management, the company)
We do not need the recommendation to Macy’s management for the specific commentary modules – we just want the bulleted summary of the commentary for each.

ASSISTANT
Certainly! Below is a revised version of your `ConsumerHealthAgent` (previously `SupplyChainAgent`) class, where I have adapted the prompts according to your detailed instructions and requirements.

---

```python
from agents.base_agent import BaseAgent

class ConsumerHealthAgent(BaseAgent):
    prompt_sys = "Consumer health and macroeconomic analyst for Macy's, tasked with analyzing provided documents regarding consumer financial health and macro environment."

    # Universal formatting enforcement line (adapted and extended where necessary)
    formatting_directive = """Please strictly follow these formatting guidelines for all numerical mentions and sentence structures:
1. **No Combined Elements**: Always space-separate numbers, words, and units (e.g., "3.3 billion" not "3.3billion").
2. **Time Formatting**: Use formats like "Q4 2024" (never "Q42024" or "4th quarter").
3. **Number Rules**:  
   - 3.3B → 3.3 billion  
   - 150.2M → 150.2 million  
   - 0.33 → keep exact decimal  
4. **Text Integrity**:  
   - "net income" never "netincome"  
   - "year-over-year" never "YOY" or "yearoveryear"  
   - "YOY " never "year-over-year" or "yearoveryear"  
   - "vs." never "versus" or "vs"  
   - "$XB" never "$X billion"  
   - "$XM" never "$X million"  
5. **Style Prohibition**: Do not italicize or alter text formatting; maintain a single plain format throughout.
6. **Bad Example**: `3.3billioninQ42024,withanadjustednetincomeof,106million,withadjustedearningsperdilutedshareat0.95` → REJECTED
7. **ALWAYS Required Format**: `3.3 billion in Q4 2024, with an adjusted net income of` → ACCEPTED

APPLY THESE RULES TO ALL NUMERICAL MENTIONS AND SENTENCE STRUCTURES."""
    
    prompt_analyze = (
        "You are a senior business analyst working directly for Macy's CEO. Analyze the provided earnings call transcript and summarize mentions "
        "of consumer financial health and the macroeconomic environment.\n\n"
        "Identify key topics including but not limited to:\n"
        "- US consumer\n"
        "- The company’s customer\n"
        "- Change in demand\n"
        "- Change in spend\n\n"
        "For each topic, provide:\n"
        "- A clear topic name (e.g., \"E-commerce Growth\", \"Supply Chain Digitization\")\n"
        "- Concise 100-word summary providing key numbers and operational impacts\n"
        "- Strictly preserve original numerical and textual formatting: maintain exact decimals (0.33), required spacing (0.11 → '0.11'), and verbatim terminology without concatenation or rephrasing.\n"
        "- For every topic, ALWAYS provide excerpts mentioned under the heading \"Ground Truth\" as follows:\n"
        "      - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document.\n"
        "      - Format each excerpt as: **Ground Truth:** \"Exact text from the document...\" (Document Name)\n"
        "      - If a topic is present in multiple documents, include a separate \"Ground Truth\" excerpt for each document.\n"
        "      - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the document data exactly, including all formatting, punctuation, and special characters.\n"
        "      - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the documents.\n\n"
        "Format each topic as:\n"
        "- Topic Name: Summary [Relevance Score]\n\n"
        "Example:\n"
        "- Holiday Sales Performance: Q4 comparable sales up 4.2% driven by 18% digital growth [8]\n"
        "- Inventory Optimization: Implementing AI demand forecasting to reduce carrying costs by $150M [7]\n\n"
        "Document Text: " + formatting_directive
    )
    
    prompt_summary = (
        "You are a senior analyst preparing a summary of transcript commentary from all documents provided.\n"
        "Identify and describe all mentions of consumer financial health and the macroeconomic environment in the provided documents, "
        "focusing on what the company says about the US consumer, their customer, a change in demand, or a change in spend. Combine and synthesize topics that appear in multiple documents.\n\n"
        "1. **Overview**: Identify and describe all mentions of consumer financial health and the macroeconomic environment in the provided documents.\n\n"
        "2. For each topic:\n"
        "    * Provide a concise summary by combining information from all relevant documents.\n"
        "    * Include relevant examples, numerical data, or timelines from the documents.\n"
        "    * For every topic, ALWAYS provide each excerpt mentioned under the heading \"Ground Truth\" as follows:\n"
        "        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document.\n"
        "        - Format each excerpt as: **Ground Truth:** \"Exact text from the document...\" (Document Name)\n"
        "        - If the same topic is present in multiple documents, always include a separate \"Ground Truth\" excerpt for each document with proper line breaks.\n"
        "        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the documents data exactly, including all formatting, punctuation, and special characters.\n"
        "        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the document.\n\n"
        "3. Format with clear sections in plain black text with proper headings:\n"
        "    * Consumer Health Summary\n\n"
        "Use the following Documents Analysis Data to combine similar topics from different documents and provide a comprehensive summary:\n"
        "{topics_block}\n\n"
        "Provide a comprehensive yet concise summary. STRICTLY ENFORCE PLAIN TEXT FORMATTING:\n"
        + formatting_directive
    )
    
    prompt_detail = (
        "You are preparing a detailed briefing for Macy's CEO on the consumer health topic '{topic}', based on the external company document.\n\n"
        "Provide:\n"
        "1. Overview of the topic.\n"
        "2. Key insights and relevant excerpts.\n"
        "3. Important figures, timelines, or operational metrics.\n"
        "4. Detailed analysis of the impact on Macy's consumer health outlook and macroeconomic environment.\n"
        "5. For every topic, ALWAYS provide verbatim source excerpts under the heading \"Ground Truth\" as follows:\n"
        "      - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document.\n"
        "      - Format each excerpt as: **Ground Truth:** \"Exact text from the document...\" (Document Name)\n"
        "      - If a topic is present in multiple documents, include a separate \"Ground Truth\" excerpt for each document.\n"
        "      - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.\n"
        "      - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.\n\n"
        "Document:\n"
        "{text}\n\n"
        "Topic: {topic}\n\n"
        "Please provide a structured briefing with proper paragraphs and bold topics.\n"
        + formatting_directive
    )
    
    def analyze_document(self, text, custom_prompt=None):
        prompt_analyze = custom_prompt if custom_prompt else self.prompt_analyze
        return super().analyze_document(self.prompt_sys, prompt_analyze, text)

    def generate_consolidated_summary_from_topics(self, processed_files, custom_prompt=None):
        prompt_summary = custom_prompt if custom_prompt else self.prompt_summary
        return super().generate_consolidated_summary_from_topics(self.prompt_sys, prompt_summary, processed_files)

    def generate_topic_detail(self, text, topic, custom_prompt=None):
        prompt_detail = custom_prompt if custom_prompt else self.prompt_detail
        return super().generate_topic_detail(self.prompt_sys, prompt_detail, text, topic)
```

---

### Explanation of key changes:

- `prompt_sys` updated to specify consumer health and macroeconomic environment focus.
- `formatting_directive` adjusted to your new detailed requirements, strictly enforcing spacing, numerical forms, prohibition of italic/bold, and sample bad/good examples.
- `prompt_analyze` asks to identify key topics related to US consumer, demand changes, spend changes, emphasizing strict formatting and provision of verbatim excerpts under "Ground Truth".
- `prompt_summary` directs the LLM to provide a comprehensive summary of all documents combined focusing on consumer health & macro environment, giving "Ground Truth" excerpts for every topic.
- Removed recommendation sections or instructions for management action per your specification.
- `prompt_detail` adapted for detailed briefings on a topic focused on consumer health, again with strict "Ground Truth" excerpts and formatting.
- The methods `analyze_document`, `generate_consolidated_summary_from_topics`, and `generate_topic_detail` appropriately use custom prompts if provided, else default to these updated prompts.

---

If you'd like, I can also help you update the import paths and code to reflect this new agent class in your main app!

turns-00084.parquet:14125

ab883a9d751aa55bdd2de6e2
turn 3/6gpt-4.1-mini-2025-04-14EnglishIndia1973 words
degenerate_repetitionAbsentFinal dense release
USER
from agents.base_agent import BaseAgent

class SalesAgent(BaseAgent):
    prompt_sys = "Sales analyst for Macy's executive team works for only provided documents"
    
     # Universal formatting enforcement line
    formatting_directive = """Please follow these formatting guidelines:
1. **No Combined Elements**: Always space-separate numbers/words/units (3.3 billion not 3.3billion)
2. **Time Formatting**: Q4 2024 (never Q42024 or 4th quarter)
3. **Number Rules**: 
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal
4. **Text Integrity**: 
   - "net income" never "netincome"
   - "year-over-year" never "YOY" or "yearoveryear"
5. **Style Prohibition**: Do not make any word in Italic or any other format always make it in one format
6. **Bad Example**: 3.3billioninQ42024,withanadjustednetincomeof, 106million,withadjustedearningsperdilutedshareat0.95 → REJECTED
7. **ALLWAYS Required Format**: 3.3 billion in Q4 2024, with an adjusted net income of → ACCEPTED

APPLY THESE RULES TO ALL NUMERICAL MENTIONS AND SENTENCE STRUCTURES."""
    
    prompt_analyze = """You are a senior sales analyst specializing in retail sales and consumer behavior, assisting Macy's executive team.  
You have received a transcript/document from another company.

Identify all significant sales and consumer behavior topics that could affect Macy's retail sales strategy, revenue, marketing effectiveness, and customer engagement.

For each topic, provide:  
- A concise topic name (e.g., "Holiday Sales Surge", "Online Shopping Trends").  
- A brief describing in 200 words including its relevance or impact on Macy's sales, considering the external company's context, also include An overview of the topic, Key insights and relevant excerpts, Important figures, dates, or timelines, Detailed analysis of the impact on Macy's retail sales, marketing, and customer engagement. 
- A relevance score from 1 (minor) to 10 (critical).

Format your response one topic per line:  
- Topic Name: Summary [Relevance Score]

Example:  
- Holiday Sales Boost: Significant increase in sales volume expected during holidays [9]  
- E-commerce Growth: Online shopping rise impacting in-store sales [8]

Analyze the following external company document:""" + formatting_directive 

    prompt_summary = """You are a senior sales analyst preparing a consolidated sales and consumer behavior report for Macy's executive team from all document provided.

You have reviewed sales and consumer behavior topics extracted from multiple external company documents. These topics include their names, summaries, and relevance scores. Based on their content, please:


1. **OverView**: Identify and describe from all documents all their impactful sales and consumer behavior topics that could affect Macy's retail sales, marketing, and customer engagement.

2. For each topic:
   * Provide a concise summary by combining information from all relevant documents.
   * Include relevant examples, numerical data, or timelines from the documents.
   * Explain operational and strategic impacts—positive, negative, or neutral—specifically tailored to Macy's retail business.
    * Provide 3-5 actionable strategic recommendations for Macy's leadership.
    * For every topic, ALWAYS provide verbatim source excerpts under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a same topic is present in multiple documents, always include a separate "Ground Truth" excerpt for each document with proper line breaks.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.

3. Format in clear with sections in black text with proper headings:
    * Executive Summary
    * Key Themes
    * Strategic Recommendations
    * Risk Assessment
    
4. Avoid jargon and focus on actionable insights tailored for Macy's.

Use Documents Analysis Data from all the documents provided below try combining the same topics from different documents and provide the summary of all the topics in one place.:
{topics_block}

Deliver a detailed, actionable consolidated sales report for Macy's.""" + formatting_directive 

    prompt_detail = """You are preparing a detailed briefing for Macy's CEO on the sales topic '{topic}', based on the external company document.

Provide:
1. An overview of the topic.
2. Key insights and relevant excerpts.
3. Important figures, dates, or timelines.
4. Detailed analysis of the impact on Macy's retail sales, marketing, and customer engagement.
5. 3-5 actionable recommendations for Macy's leadership.
6. For every topic, ALWAYS provide verbatim source excerpts under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a topic is present in multiple documents, include a separate "Ground Truth" excerpt for each document.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.


Document:
{text}

Topic: {topic}

Please provide structured with proper paragraphs and bold topics briefing.
""" + formatting_directive 

    def analyze_document(self, text, custom_prompt=None):
        prompt_analyze = custom_prompt if custom_prompt else self.prompt_analyze
        return super().analyze_document(self.prompt_sys, prompt_analyze, text)

    def generate_consolidated_summary_from_topics(self, processed_files, custom_prompt=None):
        prompt_summary = custom_prompt if custom_prompt else self.prompt_summary
        return super().generate_consolidated_summary_from_topics(self.prompt_sys, prompt_summary, processed_files)

    def generate_topic_detail(self, text, topic, custom_prompt=None):
        prompt_detail = custom_prompt if custom_prompt else self.prompt_detail
        return super().generate_topic_detail(self.prompt_sys, prompt_detail, text, topic)


now change this as above but for MonthlyPerformance 

Monthly Performance
Prompt: Summarize sales performance for February, March and April. If no detail is provided, say “N/A”.




ASSISTANT
Certainly! Below is the adapted version of your `SalesAgent` for **MonthlyPerformanceAgent**, reflecting the focus on monthly sales performance (February, March, April) and aligned with your provided instructions:

```python
from agents.base_agent import BaseAgent

class MonthlyPerformanceAgent(BaseAgent):
    prompt_sys = "Monthly performance analyst for Macy's executive team works only with the provided documents."
    
    # Universal formatting enforcement line (same as sales but can customize further if required)
    formatting_directive = """Please follow these formatting guidelines:
1. **No Combined Elements**: Always space-separate numbers/words/units (3.3 billion not 3.3billion)
2. **Time Formatting**: Use exact months and quarters such as February, March, April or Q1 2024 (avoid informal or combined forms like Feb2024).
3. **Number Rules**: 
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal
4. **Text Integrity**: 
   - "net income" never "netincome"
   - "year-over-year" never "YOY" or "yearoveryear"
5. **Style Prohibition**: Do not make any word in Italic or any other format; always keep it uniform
6. **Bad Example**: 3.3billioninFeb2024,withanadjustednetincomeof,106million,withadjustedearningsperdilutedshareat0.95 → REJECTED
7. **ALWAYS Required Format**: 3.3 billion in February 2024, with an adjusted net income of → ACCEPTED

APPLY THESE RULES TO ALL NUMERICAL MENTIONS AND SENTENCE STRUCTURES."""
    
    prompt_analyze = (
        "You are a senior monthly performance analyst specializing in analyzing Macy's retail sales for February, March, and April.  "
        "You have received a transcript/document from another company.\n\n"
        "Identify all significant sales performance topics that could affect Macy's monthly sales reporting, revenue trends, and operational effectiveness for the months of February, March, and April.\n\n"
        "For each topic, provide:\n"
        "- A concise topic name (e.g., \"February Sales Growth\", \"April Marketing Impact\").\n"
        "- A brief 200-word description including relevance or impact on Macy's monthly sales performance, covering: overview of the topic, key insights, important figures/dates/timelines (specific to Feb, Mar, Apr), and detailed impact analysis.\n"
        "- A relevance score from 1 (minor) to 10 (critical).\n\n"
        "Format your response one topic per line:\n"
        "- Topic Name: Summary [Relevance Score]\n\n"
        "Example:\n"
        "- February Sales Performance: Comparable sales grew 5.2% driven by strong digital channel growth [8]\n"
        "- March Marketing Campaign: New campaigns boosted foot traffic by 15% [7]\n\n"
        "Analyze the following external company document:" + formatting_directive
    )
    
    prompt_summary = (
        "You are a senior monthly performance analyst preparing a consolidated report on sales performance for the months of February, March, and April for Macy's executive team.\n\n"
        "You have reviewed sales performance topics extracted from multiple external company documents concerning these months. These topics include their names, summaries, and relevance scores. Based on their combined content, please:\n\n"
        "1. **Overview**: Summarize all impactful sales performance topics related to February, March, and April provided in the documents.\n\n"
        "2. For each topic:\n"
        "   * Provide a concise summary by combining information from all relevant documents related to those months.\n"
        "   * Include relevant examples, numerical data, or timelines specific to February, March, and April.\n"
        "   * Explain operational and strategic impacts—positive, negative, or neutral—specifically tailored to Macy's monthly retail business.\n"
        "   * Provide 3-5 actionable strategic recommendations for Macy's leadership.\n"
        "   * For every topic, ALWAYS provide verbatim source excerpts under the heading \"Ground Truth\" as follows:\n"
        "       - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document.\n"
        "       - Format each excerpt as: **Ground Truth:** \"Exact text from the document...\" (Document Name)\n"
        "       - If the same topic is present in multiple documents, include a separate \"Ground Truth\" excerpt for each document with proper line breaks.\n"
        "       - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.\n"
        "       - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.\n\n"
        "3. Format with clear sections in black text with proper headings:\n"
        "    * Executive Summary\n"
        "    * Key Themes\n"
        "    * Strategic Recommendations\n"
        "    * Risk Assessment\n\n"
        "Use Documents Analysis Data from all the documents provided below. Combine the same topics from different documents and provide the summary of all the topics in one place.\n\n"
        + formatting_directive
    )
    
    prompt_detail = (
        "You are preparing a detailed briefing for Macy's CEO on the monthly performance topic '{topic}', based on the external company document.\n\n"
        "Provide:\n"
        "1. An overview of the topic.\n"
        "2. Key insights and relevant excerpts.\n"
        "3. Important figures, dates, or timelines (with emphasis on February, March, and April).\n"
        "4. Detailed analysis of the impact on Macy's monthly sales performance and operational decisions.\n"
        "5. 3-5 actionable recommendations for Macy's leadership.\n"
        "6. For every topic, ALWAYS provide verbatim source excerpts under the heading \"Ground Truth\" as follows:\n"
        "    - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document.\n"
        "    - Format each excerpt as: **Ground Truth:** \"Exact text from the document...\" (Document Name)\n"
        "    - If a topic is present in multiple documents, include a separate \"Ground Truth\" excerpt for each document.\n"
        "    - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.\n"
        "    - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.\n\n"
        "Document:\n"
        "{text}\n\n"
        "Topic: {topic}\n\n"
        "Please provide a structured briefing with proper paragraphs and bold topics.\n"
        + formatting_directive
    )
    
    def analyze_document(self, text, custom_prompt=None):
        prompt_analyze = custom_prompt if custom_prompt else self.prompt_analyze
        return super().analyze_document(self.prompt_sys, prompt_analyze, text)
    
    def generate_consolidated_summary_from_topics(self, processed_files, custom_prompt=None):
        prompt_summary = custom_prompt if custom_prompt else self.prompt_summary
        return super().generate_consolidated_summary_from_topics(self.prompt_sys, prompt_summary, processed_files)
    
    def generate_topic_detail(self, text, topic, custom_prompt=None):
        prompt_detail = custom_prompt if custom_prompt else self.prompt_detail
        return super().generate_topic_detail(self.prompt_sys, prompt_detail, text, topic)
```

---

### Summary of changes:

- `prompt_sys` updated to "Monthly performance analyst..."
- `formatting_directive` includes strict formatting rules and emphasizes exact month names and formal time formatting.
- `prompt_analyze` focuses on identifying and summarizing sales performance topics for February, March, and April, with example topics reflecting those months.
- `prompt_summary` asks to consolidate all relevant topics for these 3 months, including actionable recommendations.
- `prompt_detail` includes emphasis on these months in figures, dates, timelines, and analysis.
- No mention of recommendations is removed since the example kept recommendations for Sales - you can remove if wanted.
- All prompts strongly enforce the formatting rules you provided earlier.

If you want me to remove recommendations or further tune these prompts, just say!

turns-00084.parquet:14126

4c3cc7a76e4a4821a9f3736a
turn 4/6gpt-4.1-mini-2025-04-14EnglishIndia2012 words
degenerate_repetitionAbsentFinal dense release
USER
from agents.base_agent import BaseAgent

class TariffTradeAgent(BaseAgent):
    prompt_sys = "Tariff and trade policy analyst for Macy's CEO works for only provided documents"
    
     # Universal formatting enforcement line
    formatting_directive = """Please follow these formatting guidelines:
1. **No Combined Elements**: Always space-separate numbers/words/units (3.3 billion not 3.3billion)
2. **Time Formatting**: Q4 2024 (never Q42024 or 4th quarter)
3. **Number Rules**: 
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal
4. **Text Integrity**: 
   - "net income" never "netincome"
   - "year-over-year" never "YOY" or "yearoveryear"
5. **Style Prohibition**: Do not make any word in Italic or any other format always make it in one format
6. **Bad Example**: 3.3billioninQ42024,withanadjustednetincomeof, 106million,withadjustedearningsperdilutedshareat0.95 → REJECTED
7. **ALWAYS Required Format**: 3.3 billion in Q4 2024, with an adjusted net income of → ACCEPTED

APPLY THESE RULES TO ALL NUMERICAL MENTIONS AND SENTENCE STRUCTURES."""
    
    prompt_analyze = """
You are a senior tariff and international trade policy analyst assisting a research team working for the CEO of Macy's.  
You have received a transcript/document from another company.  

Carefully identify all significant tariff, trade, and related government policy topics and detailed briefing in the text of all files that could affect Macy's business operations, including supply chain, procurement, retail sales, and technology.

For each topic, provide:  
- A clear and concise topic name (e.g., "Vietnam Production Impact", "US-China Tariffs").  
- A brief describing in 200 words including its operational or strategic impact on Macy's retail business, considering the external company's context also include A clear overview of the topic, Key insights and any relevant direct excerpts from the document, Important figures, dates, or timelines if available, Detailed analysis on how this topic could impact Macy's retail operations, supply chain, procurement, and consumer behavior.  
- A relevance score from 1 (minor) to 10 (critical).  
* For every topic, ALWAYS provide verbatim source excerpts under the heading "Source Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Source Truth:** "Exact text from the document..." (Document Name)
        - If a topic is present in multiple documents, include a separate "Source Truth" excerpt for each document.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.

Format your response as one topic per line in the format from all files:  
- Topic Name: Summary [Relevance Score]

Example:  
- Vietnam Factory Shutdown: Supply chain delays expected due to production halt in Vietnam [9]  
- Tariff Changes on Apparel: Increased costs on imports from China may raise prices [8]

Analyze the following external company document for all relevant tariff and trade topics. Text:""" + formatting_directive 

    prompt_summary = """
You are a senior tariff and trade analyst preparing a consolidated tariff and trade policy report for Macy's executive team from all document provided.

You have reviewed tariff and trade topics extracted from multiple external company documents. These topics include their names, summaries, and relevance scores. Based on their content, please:

1. **OverView**: Identify and describe from all documents all their impactful tariff, trade, and related government policy topics that could affect Macy's business operations, including supply chain, procurement, retail sales, and technology.
2. For each topic:
   * Provide a concise summary from combining all the documents.
   * Include relevant examples, numerical data, or timelines from the documents also provide from which document it is taken.
   * Explain operational and strategic impacts—positive, negative, or neutral—specifically tailored to Macy's retail business.
   * Provide 3-5 actionable strategic recommendations for Macy's leadership.
   * For every topic, ALWAYS provide each verbatim source excerpts under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a topic is present in multiple documents, include a separate "Ground Truth" excerpt for each document with proper line breaks.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.
  
3. Format in clear markdown with sections in black text with proper headings:
    * Executive Summary
    * Key Themes
    * Strategic Recommendations
    * Risk Assessment
4. Avoid jargon and focus on practical operational impacts and strategy insights.

Format your response in markdown with clear headings for each topic.

Use the following Documents Analysis Data to combine similar topics from different documents and provide a comprehensive summary:
{topics_block}

Deliver a detailed, synthesized, and actionable consolidated tariff and trade policy report for Macy's.""" + formatting_directive 

    prompt_detail = """
You are preparing a detailed briefing for Macy's CEO on the tariff and trade policy topic '{topic}', based on the provided external company document.

Provide:
1. A clear overview of the topic.
2. Allways Provide Key insights and relevant excerpts.- For this topic, extract and present the relevant text verbatim from the source document that contains the key information. Ensure that the extracted text is placed in a separate paragraph and is not embedded within any other paragraph. Additionally, include the name of the source document alongside the quoted text for audit and traceability purposes.
3. Important figures, dates, or timelines if available.
4. Detailed analysis on how this topic could impact Macy's retail operations, supply chain, procurement, and consumer behavior.
5. 3-5 actionable strategic recommendations for Macy's leadership.
6 For every topic, ALWAYS provide verbatim source excerpts under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a topic is present in multiple documents, include a separate "Source Truth" excerpt for each document.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.


Document:
{text}

Topic: {topic}

Please deliver the response as structured with proper paragraphs and bold topics which suitable for executive briefing.""" + formatting_directive 

    def analyze_document(self, text, custom_prompt=None):
        prompt_analyze = custom_prompt if custom_prompt else self.prompt_analyze
        return super().analyze_document(self.prompt_sys, prompt_analyze, text)

    def generate_consolidated_summary_from_topics(self, processed_files, custom_prompt=None):
        prompt_summary = custom_prompt if custom_prompt else self.prompt_summary
        return super().generate_consolidated_summary_from_topics(self.prompt_sys, prompt_summary, processed_files)

    def generate_topic_detail(self, text, topic, custom_prompt=None):
        prompt_detail = custom_prompt if custom_prompt else self.prompt_detail
        return super().generate_topic_detail(self.prompt_sys, prompt_detail, text, topic)

change this also for below

US Politics / Tariffs
Prompt: Summarize how the company spoke to tariff impact. Lead with any country or regional sourcing exposure, if applicable. Then also provide any quantitative financial impact, if applicable. Finally, provide the mitigation actions it has either already implemented or is planning to implement, including changes to pricing. If no detail is provided, say “N/A”.
ASSISTANT
Certainly! Below is the updated `TariffTradeAgent` class with prompts changed according to your new instructions for **US Politics / Tariffs**.  
The new prompts emphasize summarizing tariff impact with focus on country/regional sourcing, financial impact, and mitigation actions.

```python
from agents.base_agent import BaseAgent

class TariffTradeAgent(BaseAgent):
    prompt_sys = "Tariff and trade policy analyst for Macy's CEO works only with the provided documents."

    # Universal formatting enforcement line
    formatting_directive = """Please follow these formatting guidelines:
1. **No Combined Elements**: Always space-separate numbers/words/units (3.3 billion not 3.3billion)
2. **Time Formatting**: Q4 2024 (never Q42024 or 4th quarter)
3. **Number Rules**: 
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal
4. **Text Integrity**: 
   - "net income" never "netincome"
   - "year-over-year" never "YOY" or "yearoveryear"
5. **Style Prohibition**: Do not make any word in Italic or any other format always make it in one format
6. **Bad Example**: 3.3billioninQ42024,withanadjustednetincomeof, 106million,withadjustedearningsperdilutedshareat0.95 → REJECTED
7. **ALWAYS Required Format**: 3.3 billion in Q4 2024, with an adjusted net income of → ACCEPTED

APPLY THESE RULES TO ALL NUMERICAL MENTIONS AND SENTENCE STRUCTURES."""

    prompt_analyze = """
You are a senior tariff and international trade policy analyst assisting a research team working for the CEO of Macy's.
You have received a transcript/document from another company.

Summarize how the company spoke to tariff impacts, with emphasis on:

- Any country or regional sourcing exposure, if applicable.
- Quantitative financial impact, if applicable.
- Mitigation actions the company has already implemented or plans to implement, including pricing changes.

If no detail is provided, state "N/A".

Format your response in clear, concise paragraphs suitable for an executive briefing.

Analyze the following external company document for relevant US politics and tariff impact information. Text:
""" + formatting_directive

    prompt_summary = """
You are a senior tariff and trade analyst preparing a consolidated report regarding US politics and tariff impacts for Macy's executive team from all provided documents.

You have reviewed tariff impact topics extracted from multiple external company documents. Based on their content, please:

1. Summarize how the company spoke to tariff impact overall.
2. Lead with any country or regional sourcing exposure, specifying countries or regions if applicable.
3. Provide any quantitative financial impact mentioned.
4. Detail mitigation actions already implemented or planned, including any changes to pricing strategies.
5. If no detail is available, clearly state "N/A".

For every statement, ALWAYS provide verbatim source excerpts under the heading "Ground Truth" as follows:
   - Extract exact, unmodified sentences or paragraphs from the original documents.
   - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
   - If present in multiple documents, include separate excerpts accordingly.
   - Do NOT paraphrase, summarize, or alter the original text; maintain exact formatting and punctuation.
   - Do NOT fabricate or modify excerpts if not present.

Format your output in markdown with clear section headings.

Use the following Documents Analysis Data to combine similar tariff impact topics from different documents and provide a comprehensive, actionable summary:
{topics_block}

""" + formatting_directive

    prompt_detail = """
You are preparing a detailed briefing for Macy's CEO on the US politics and tariff impact topic '{topic}', based on the provided external company document.

Please provide:
1. A clear overview of how tariffs affect sourcing exposure by country or region.
2. Quantitative financial impacts if any are mentioned.
3. Detailed descriptions of mitigation actions implemented or planned, including pricing strategy changes.
4. For every point, ALWAYS provide verbatim source excerpts under the heading "Ground Truth" as follows:
    - Extract exact, unmodified sentence(s) or paragraph(s) from the original document.
    - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
    - If the topic appears in multiple documents, include separate excerpts.
    - Do NOT paraphrase, summarize, or alter the original text.
    - Do NOT fabricate or modify excerpts if not present in the source.

Document:
{text}

Topic: {topic}

Please deliver a structured response with proper paragraphs and bolded topics, suitable for executive briefing.
""" + formatting_directive

    def analyze_document(self, text, custom_prompt=None):
        prompt_analyze = custom_prompt if custom_prompt else self.prompt_analyze
        return super().analyze_document(self.prompt_sys, prompt_analyze, text)

    def generate_consolidated_summary_from_topics(self, processed_files, custom_prompt=None):
        prompt_summary = custom_prompt if custom_prompt else self.prompt_summary
        return super().generate_consolidated_summary_from_topics(self.prompt_sys, prompt_summary, processed_files)

    def generate_topic_detail(self, text, topic, custom_prompt=None):
        prompt_detail = custom_prompt if custom_prompt else self.prompt_detail
        return super().generate_topic_detail(self.prompt_sys, prompt_detail, text, topic)
```

---

### Summary of changes:

- `prompt_analyze` now tells the model to **summarize tariff impact focusing on sourcing exposure, financial impact, mitigation actions, and pricing changes**, or say "N/A" if no information.
- `prompt_summary` requests a consolidated report emphasizing these same points, with **verbatim "Ground Truth" excerpts**.
- `prompt_detail` gives the same focus for detailed briefings.
- All preserve your strict formatting directive for numbers, punctuation, and plain text style.

If you want these prompts adjusted in tone, structure, or detail level, just ask!

turns-00084.parquet:14127

af4082e22943ffefc23f6377
turn 5/6gpt-4.1-mini-2025-04-14EnglishIndia1003 words
degenerate_repetitionAbsentFinal dense release
USER
no as per above monthly and consumer we need to do in this alos
ASSISTANT
Got it! You want the **TariffTradeAgent** prompts updated to follow the same detailed style and formatting enforcement as the **ConsumerHealthAgent** and **MonthlyPerformanceAgent**, with structured instructions, strict formatting rules, emphasis on explicit "Ground Truth" excerpts, and suitable for executive briefings — but specific to the tariff topic you gave:

> Prompt: Summarize how the company spoke to tariff impact. Lead with any country or regional sourcing exposure, if applicable. Then also provide any quantitative financial impact, if applicable. Finally, provide the mitigation actions it has either already implemented or is planning to implement, including changes to pricing. If no detail is provided, say “N/A”.

---

Here is the full adapted `TariffTradeAgent` class, updated for the style and detail level you want:

```python
from agents.base_agent import BaseAgent

class TariffTradeAgent(BaseAgent):
    prompt_sys = "Tariff and trade policy analyst for Macy's CEO works only with the provided documents."

    # Universal formatting enforcement line (same style as ConsumerHealthAgent and MonthlyPerformanceAgent)
    formatting_directive = """Please follow these formatting guidelines strictly:
1. **No Combined Elements**: Always space-separate numbers, words, and units (e.g., '3.3 billion' not '3.3billion')
2. **Time Formatting**: Use formal expressions like 'Q4 2024', never compressed forms like 'Q42024' or '4th quarter'
3. **Number Rules**:
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal values as is
4. **Text Integrity**:
   - 'net income' never 'netincome'
   - 'year-over-year' never 'YOY' or 'yearoveryear'
   - 'vs.' never 'versus' or 'vs'
   - '$XB' never '$X billion'
   - '$XM' never '$X million'
5. **Style Prohibition**: Do not italicize or format any words unevenly; keep plain text formatting at all times
6. **Bad Example**: 3.3billioninQ42024,withanadjustednetincomeof,106million,... → REJECTED
7. **ALWAYS Required Format**: 3.3 billion in Q4 2024, with an adjusted net income of ... → ACCEPTED

APPLY THESE RULES TO ALL NUMERICAL MENTIONS, DATES, AND SENTENCE STRUCTURES."""

    prompt_analyze = (
        "You are a senior tariff and international trade policy analyst assisting Macy's CEO and executive team.\n\n"
        "From the provided transcript/document, please summarize how the company discussed tariff impacts.\n\n"
        "Your summary should be structured as follows:\n"
        "- Lead with any country or regional sourcing exposure related to tariffs, specifying countries or regions if applicable.\n"
        "- Include any quantitative financial impact mentioned, such as costs, margins, or revenues affected.\n"
        "- Describe mitigation actions the company has already implemented or plans to implement, including any pricing changes.\n"
        "- If no relevant detail is present, explicitly state \"N/A\".\n\n"
        "For every point, ALWAYS include verbatim excerpts under the heading \"Ground Truth\", formatted exactly as follows:\n"
        "  - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s).\n"
        "  - Format each excerpt as: **Ground Truth:** \"Exact text from the document...\" (Document Name)\n"
        "  - Include separate excerpts for multiple documents if applicable.\n"
        "  - Do NOT paraphrase or alter excerpts in any way.\n\n"
        "Write your response in clear, structured paragraphs suitable for an executive briefing.\n\n"

        "Analyze the following external company document text:\n"
        + formatting_directive
    )

    prompt_summary = (
        "You are a senior tariff and trade policy analyst preparing a consolidated report for Macy's executive team.\n\n"
        "You have reviewed tariff impact topics extracted from multiple external company documents.\n"
        "Please deliver a comprehensive summary that includes:\n\n"
        "1. A clear summary of the company’s commentary on tariff impacts.\n"
        "2. Leading with any country or regional sourcing exposure related to tariffs.\n"
        "3. Any quantitative financial impacts described.\n"
        "4. Mitigation actions the company has implemented or plans to implement, including pricing changes.\n"
        "5. If no information was provided on these points, state \"N/A\" explicitly.\n\n"
        "For every part, ALWAYS include corresponding verbatim excerpts under the heading \"Ground Truth\" as follows:\n"
        "  - Extract the exact, unmodified sentences or paragraphs from the source documents.\n"
        "  - Format excerpts as: **Ground Truth:** \"Exact text from the document...\" (Document Name)\n"
        "  - If a point is referenced in multiple documents, include separate excerpts.\n"
        "  - Do NOT paraphrase or alter in any way.\n\n"
        "Structure your response in markdown with clear section headings.\n\n"
        "Use the following Documents Analysis Data ({topics_block}) to combine and synthesize key insights.\n\n"
        + formatting_directive
    )

    prompt_detail = (
        "You are preparing a detailed briefing for Macy's CEO on the topic '{topic}' regarding US politics and tariff impacts,\n"
        "based on the provided external company document.\n\n"
        "Please cover:\n"
        "1. Clear discussion of sourcing exposure by country or region related to tariffs.\n"
        "2. Quantitative financial impacts, if any.\n"
        "3. Mitigation steps taken or planned, including any pricing strategy adjustments.\n"
        "4. For every section, ALWAYS provide verbatim source excerpts under the heading \"Ground Truth\" as follows:\n"
        "   - Extract exact, unmodified sentence(s) or paragraphs from the document.\n"
        "   - Format excerpts as: **Ground Truth:** \"Exact text from the document...\" (Document Name)\n"
        "   - Include separate excerpts for multiple documents where applicable.\n"
        "   - Do NOT paraphrase or alter original text.\n"
        "   - Do NOT fabricate or guess excerpts.\n\n"
        "Document:\n"
        "{text}\n\n"
        "Topic: {topic}\n\n"
        "Provide your response structured with clear paragraphs and bold section headings, suitable for executive-level briefing.\n\n"
        + formatting_directive
    )

    def analyze_document(self, text, custom_prompt=None):
        prompt = custom_prompt if custom_prompt else self.prompt_analyze
        return super().analyze_document(self.prompt_sys, prompt, text)

    def generate_consolidated_summary_from_topics(self, processed_files, custom_prompt=None):
        prompt = custom_prompt if custom_prompt else self.prompt_summary
        return super().generate_consolidated_summary_from_topics(self.prompt_sys, prompt, processed_files)

    def generate_topic_detail(self, text, topic, custom_prompt=None):
        prompt = custom_prompt if custom_prompt else self.prompt_detail
        return super().generate_topic_detail(self.prompt_sys, prompt, text, topic)
```

---

### Explanation

- The `prompt_sys` defines the analyst role and context.
- The `formatting_directive` enforces **strict formatting rules**, matching those from your Consumer Health and Monthly Performance agents.
- The `prompt_analyze` instructs the model to focus on tariff impacts, sourcing by country/region, financials, mitigation steps, or say "N/A".
- The `prompt_summary` synthesizes tariff impacts across documents similarly.
- The `prompt_detail` prepares detailed briefings with verbatim excerpts.
- All prompts instruct the model to produce **verbatim source excerpts under "Ground Truth"** in the specified format.
- Prompts are designed for **plain text**, non-formatted, no jargon, executive suitable responses.

---

If you want me to help integrate this with your main app or further polish phrasing, I’m happy to do that!

turns-00084.parquet:14128

d18d4b8614c3a659acc4c291
turn 6/6gpt-4.1-mini-2025-04-14EnglishIndia2857 words
degenerate_repetitionAbsentFinal dense release
USER
US Politics / Tariffs
Prompt: Summarize how the company spoke to tariff impact. Lead with any country or regional sourcing exposure, if applicable. Then also provide any quantitative financial impact, if applicable. Finally, provide the mitigation actions it has either already implemented or is planning to implement, including changes to pricing. If no detail is provided, say “N/A”.


You are a senior analyst preparing a summary of transcript commentary from all documents provided.
Identify and describe all mentions of consumer financial health and the macroeconomic environment in the  provided documents, focusing on what the company says about the US consumer, their customer, a change in demand or a change in spend. Combine and synthesize topics that appear in multiple documents.
 
1. **Overview**: Identify and describe all mentions of consumer financial health and the macroeconomic environment in the provided documents..
 
2. For each topic:
    * Provide a concise summary by combining information from all relevant documents.
    * Include relevant examples, numerical data, or timelines from the documents.
    * For every topic, ALWAYS provide each excerpts mentioned under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a same topic is present in multiple documents, always include a separate "Ground Truth" excerpt for each document with proper line breaks.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the documents data exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the document.
 
3. Format in clear with sections in black text with proper headings:
    * Consumer Health Summary
 
Use the following Documents Analysis Data to combine similar topics from different documents and provide a comprehensive summary:
{topics_block}
 
Provide comprehensive yet concise summary. STRICTLY ENFORCE PLAIN TEXT FORMATTING:
2. **No Combined Elements**: Always space-separate numbers/words/units (3.3 billion not 3.3billion)
3. **Time Formatting**: Q4 2024 (never Q42024 or 4th quarter)
4. **Number Rules**: 
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal
5. **Text Integrity**: 
   - "net income" never "netincome"
   - "year-over-year" never "YOY" or "yearoveryear"
6. **Style Prohibition**: Do not make any word in Italic or any other format always make it in one format
7. **Bad Example**: 3.3billioninQ42024,withanadjustednetincomeof, 106million,withadjustedearningsperdilutedshareat0.95 → REJECTED
8. **ALLWAYS Required Format**: 3.3 billion in Q4 2024, with an adjusted net income of → ACCEPTED
APPLY THESE RULES TO ALL NUMERICAL MENTIONS AND SENTENCE STRUCTURES.
Analysis Prompt
You are a senior business analyst working directly for Macy's CEO. Analyze the provided earnings call transcript and summarize mentions of consumer financial health and the macroeconomic environment.
 
Identify key topics including but not limited to:
US consumer
The company’s customer
Change in demand
Change in spend
 
For each topic, provide:
* A clear topic name (e.g., "E-commerce Growth", "Supply Chain Digitization")
* Concise 100-word summary providing key numbers and operational impacts
* Strictly preserve original numerical and textual formatting: maintain exact decimals (0.33), required spacing between numbers/text (0.11 → '0.11'), and verbatim terminology without concatenation or rephrasing.
* For every topic, ALWAYS provide excerpts mentioned under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a topic is present in multiple documents, include a separate "Ground Truth" excerpt for each document.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the document data exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the documents.
Format each topic as:
- Topic Name: Summary [Relevance Score]
 
Example:
- Holiday Sales Performance: Q4 comparable sales up 4.2% driven by 18% digital growth [8]
- Inventory Optimization: Implementing AI demand forecasting to reduce carrying costs by $150M [7]
Document Text:STRICTLY ENFORCE PLAIN TEXT FORMATTING:
2. **No Combined Elements**: Always space-separate numbers/words/units (3.3 billion not 3.3billion)
3. **Time Formatting**: Q4 2024 (never Q42024 or 4th quarter)
4. **Number Rules**: 
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal
5. **Text Integrity**: 
   - "net income" never "netincome"
   - "YOY " never "year-over-year" or "yearoveryear"
   - “vs.” never “versus” or “vs”
   - “$XB” never “$X billion”
   - “$XM” never “$X million”
6. **Style Prohibition**: Do not make any word in Italic or any other format always make it in one format
7. **Bad Example**: 3.3billioninQ42024,withanadjustednetincomeof, 106million,withadjustedearningsperdilutedshareat0.95 → REJECTED
8. **ALLWAYS Required Format**: 3.3 billion in Q4 2024, with an adjusted net income of → ACCEPTED
APPLY THESE RULES TO ALL NUMERICAL MENTIONS AND SENTENCE STRUCTURES.

change the below code as per above
from agents.base_agent import BaseAgent

class TariffTradeAgent(BaseAgent):
    prompt_sys = "Tariff and trade policy analyst for Macy's CEO works for only provided documents"
    
     # Universal formatting enforcement line
    formatting_directive = """Please follow these formatting guidelines:
1. **No Combined Elements**: Always space-separate numbers/words/units (3.3 billion not 3.3billion)
2. **Time Formatting**: Q4 2024 (never Q42024 or 4th quarter)
3. **Number Rules**: 
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal
4. **Text Integrity**: 
   - "net income" never "netincome"
   - "year-over-year" never "YOY" or "yearoveryear"
5. **Style Prohibition**: Do not make any word in Italic or any other format always make it in one format
6. **Bad Example**: 3.3billioninQ42024,withanadjustednetincomeof, 106million,withadjustedearningsperdilutedshareat0.95 → REJECTED
7. **ALWAYS Required Format**: 3.3 billion in Q4 2024, with an adjusted net income of → ACCEPTED

APPLY THESE RULES TO ALL NUMERICAL MENTIONS AND SENTENCE STRUCTURES."""
    
    prompt_analyze = """
You are a senior tariff and international trade policy analyst assisting a research team working for the CEO of Macy's.  
You have received a transcript/document from another company.  

Carefully identify all significant tariff, trade, and related government policy topics and detailed briefing in the text of all files that could affect Macy's business operations, including supply chain, procurement, retail sales, and technology.

For each topic, provide:  
- A clear and concise topic name (e.g., "Vietnam Production Impact", "US-China Tariffs").  
- A brief describing in 200 words including its operational or strategic impact on Macy's retail business, considering the external company's context also include A clear overview of the topic, Key insights and any relevant direct excerpts from the document, Important figures, dates, or timelines if available, Detailed analysis on how this topic could impact Macy's retail operations, supply chain, procurement, and consumer behavior.  
- A relevance score from 1 (minor) to 10 (critical).  
* For every topic, ALWAYS provide verbatim source excerpts under the heading "Source Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Source Truth:** "Exact text from the document..." (Document Name)
        - If a topic is present in multiple documents, include a separate "Source Truth" excerpt for each document.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.

Format your response as one topic per line in the format from all files:  
- Topic Name: Summary [Relevance Score]

Example:  
- Vietnam Factory Shutdown: Supply chain delays expected due to production halt in Vietnam [9]  
- Tariff Changes on Apparel: Increased costs on imports from China may raise prices [8]

Analyze the following external company document for all relevant tariff and trade topics. Text:""" + formatting_directive 

    prompt_summary = """
You are a senior tariff and trade analyst preparing a consolidated tariff and trade policy report for Macy's executive team from all document provided.

You have reviewed tariff and trade topics extracted from multiple external company documents. These topics include their names, summaries, and relevance scores. Based on their content, please:

1. **OverView**: Identify and describe from all documents all their impactful tariff, trade, and related government policy topics that could affect Macy's business operations, including supply chain, procurement, retail sales, and technology.
2. For each topic:
   * Provide a concise summary from combining all the documents.
   * Include relevant examples, numerical data, or timelines from the documents also provide from which document it is taken.
   * Explain operational and strategic impacts—positive, negative, or neutral—specifically tailored to Macy's retail business.
   * Provide 3-5 actionable strategic recommendations for Macy's leadership.
   * For every topic, ALWAYS provide each verbatim source excerpts under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a topic is present in multiple documents, include a separate "Ground Truth" excerpt for each document with proper line breaks.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.
  
3. Format in clear markdown with sections in black text with proper headings:
    * Executive Summary
    * Key Themes
    * Strategic Recommendations
    * Risk Assessment
4. Avoid jargon and focus on practical operational impacts and strategy insights.

Format your response in markdown with clear headings for each topic.

Use the following Documents Analysis Data to combine similar topics from different documents and provide a comprehensive summary:
{topics_block}

Deliver a detailed, synthesized, and actionable consolidated tariff and trade policy report for Macy's.""" + formatting_directive 

    prompt_detail = """
You are preparing a detailed briefing for Macy's CEO on the tariff and trade policy topic '{topic}', based on the provided external company document.

Provide:
1. A clear overview of the topic.
2. Allways Provide Key insights and relevant excerpts.- For this topic, extract and present the relevant text verbatim from the source document that contains the key information. Ensure that the extracted text is placed in a separate paragraph and is not embedded within any other paragraph. Additionally, include the name of the source document alongside the quoted text for audit and traceability purposes.
3. Important figures, dates, or timelines if available.
4. Detailed analysis on how this topic could impact Macy's retail operations, supply chain, procurement, and consumer behavior.
5. 3-5 actionable strategic recommendations for Macy's leadership.
6 For every topic, ALWAYS provide verbatim source excerpts under the heading "Ground Truth" as follows:
        - For each document where the topic appears, extract the exact, unmodified sentence(s) or paragraph(s) from the original document. 
        - Format each excerpt as: **Ground Truth:** "Exact text from the document..." (Document Name)
        - If a topic is present in multiple documents, include a separate "Source Truth" excerpt for each document.
        - Do NOT paraphrase, summarize, or alter the original text in any way. The excerpt must match the source exactly, including all formatting, punctuation, and special characters.
        - If the LLM cannot find an exact match in the document, do NOT fabricate or modify the excerpt—only include what is present in the source.


Document:
{text}

Topic: {topic}

Please deliver the response as structured with proper paragraphs and bold topics which suitable for executive briefing.""" + formatting_directive 

    def analyze_document(self, text, custom_prompt=None):
        prompt_analyze = custom_prompt if custom_prompt else self.prompt_analyze
        return super().analyze_document(self.prompt_sys, prompt_analyze, text)

    def generate_consolidated_summary_from_topics(self, processed_files, custom_prompt=None):
        prompt_summary = custom_prompt if custom_prompt else self.prompt_summary
        return super().generate_consolidated_summary_from_topics(self.prompt_sys, prompt_summary, processed_files)

    def generate_topic_detail(self, text, topic, custom_prompt=None):
        prompt_detail = custom_prompt if custom_prompt else self.prompt_detail
        return super().generate_topic_detail(self.prompt_sys, prompt_detail, text, topic)
ASSISTANT
Certainly! Below is your updated `TariffTradeAgent` class, rewritten fully according to the detailed instruction you provided, including:

- New prompt to **summarize tariff impact** focusing on: country/regional sourcing exposure, financial impact, mitigation actions including pricing, or “N/A” if no detail.
- A detailed **consumer financial health and macroeconomic environment** style breakdown for tariff impact.
- Strict formatting enforcement exactly as you specified.
- Enforced verbatim excerpts with heading **“Ground Truth”**.
- Clear markdown structure for summaries and topics.
- Precise formatting and style guidelines repeated as requested.

```python
from agents.base_agent import BaseAgent

class TariffTradeAgent(BaseAgent):
    prompt_sys = "Tariff and trade policy analyst for Macy's CEO works only with the provided documents."

    formatting_directive = """Please follow these formatting guidelines strictly:
1. **No Combined Elements**: Always space-separate numbers, words, and units (e.g., '3.3 billion' not '3.3billion')
2. **Time Formatting**: Use formal expressions like 'Q4 2024', never compressed forms like 'Q42024' or '4th quarter'
3. **Number Rules**:
   - 3.3B → 3.3 billion
   - 150.2M → 150.2 million
   - 0.33 → keep exact decimal values as is
4. **Text Integrity**:
   - 'net income' never 'netincome'
   - 'year-over-year' never 'YOY' or 'yearoveryear'
   - 'YOY ' never 'year-over-year' or 'yearoveryear'
   - 'vs.' never 'versus' or 'vs'
   - '$XB' never '$X billion'
   - '$XM' never '$X million'
5. **Style Prohibition**: Do not italicize or format any words unevenly; keep plain text formatting at all times
6. **Bad Example**: 3.3billioninQ42024,withanadjustednetincomeof,106million,withadjustedearningsperdilutedshareat0.95 → REJECTED
7. **ALWAYS Required Format**: 3.3 billion in Q4 2024, with an adjusted net income of ... → ACCEPTED

APPLY THESE RULES TO ALL NUMERICAL MENTIONS, DATES, AND SENTENCE STRUCTURES."""

    prompt_analyze = (
        "You are a senior tariff and international trade policy analyst assisting Macy's CEO and executive team.\n\n"
        "Please summarize how the company spoke to tariff impact.\n\n"
        "Lead with any country or regional sourcing exposure, if applicable.\n"
        "Then include any quantitative financial impact mentioned.\n"
        "Finally, describe the mitigation actions the company has already implemented or plans to implement, including pricing changes.\n"
        "If no detail is provided, say “N/A”.\n\n"
        "For each point, ALWAYS provide verbatim excerpts under the heading \"Ground Truth\", formatted as:\n"
        "- Extract the exact, unmodified sentence(s) or paragraph(s) from the original document.\n"
        "- Use the format: **Ground Truth:** \"Exact text from the document...\" (Document Name)\n"
        "- Include separate excerpts for multiple documents if applicable.\n"
        "- Do NOT paraphrase or alter excerpts.\n\n"
        "Write clearly and concisely, suitable for an executive briefing.\n\n"
        "Analyze the following external company document text:\n"
        + formatting_directive
    )

    prompt_summary = (
        "You are a senior tariff and trade policy analyst preparing a consolidated report for Macy's executive team.\n\n"
        "You have reviewed tariff impact topics extracted from multiple external company documents.\n"
        "Please provide a comprehensive yet concise summary that:\n\n"
        "1. Summarizes how the company spoke to tariff impact.\n"
        "2. Leads with country or regional sourcing exposure where mentioned.\n"
        "3. Details any quantitative financial impacts.\n"
        "4. Covers mitigation actions implemented or planned, including pricing changes.\n"
        "5. Explicitly states \"N/A\" if any point is not covered in the documents.\n\n"
        "For every part, ALWAYS provide verbatim excerpts under the heading \"Ground Truth\" exactly as follows:\n"
        "- Extract exact, unmodified sentence(s) or paragraph(s) from source documents.\n"
        "- Format each excerpt as: **Ground Truth:** \"Exact text from the document...\" (Document Name)\n"
        "- Include separate excerpts for multiple documents as applicable.\n"
        "- Do NOT paraphrase or modify excerpts.\n\n"
        "Structure your response with clear markdown headings.\n\n"
        "Use the following Documents Analysis Data to combine similar topics:\n"
        "{topics_block}\n\n"
        + formatting_directive
    )

    prompt_detail = (
        "You are preparing a detailed briefing for Macy's CEO on the tariff and trade policy topic '{topic}', based on provided external documents.\n\n"
        "Please cover:\n"
        "1. Country or regional sourcing exposure related to tariffs.\n"
        "2. Quantitative financial impacts, if any.\n"
        "3. Mitigation actions implemented or planned, including pricing strategy changes.\n"
        "4. For each section, ALWAYS provide verbatim source excerpts under the heading \"Ground Truth\" as follows:\n"
        "   - Extract exact, unmodified sentence(s) or paragraph(s) from the document.\n"
        "   - Format excerpts as: **Ground Truth:** \"Exact text from the document...\" (Document Name)\n"
        "   - Include separate excerpts for multiple documents where applicable.\n"
        "   - Do NOT paraphrase or alter original text.\n"
        "   - Do NOT fabricate excerpts not present in the document.\n\n"
        "Document:\n"
        "{text}\n\n"
        "Topic: {topic}\n\n"
        "Please deliver a structured response with clear paragraphs and bold headings, appropriate for executive briefing.\n\n"
        + formatting_directive
    )

    def analyze_document(self, text, custom_prompt=None):
        prompt = custom_prompt if custom_prompt else self.prompt_analyze
        return super().analyze_document(self.prompt_sys, prompt, text)

    def generate_consolidated_summary_from_topics(self, processed_files, custom_prompt=None):
        prompt = custom_prompt if custom_prompt else self.prompt_summary
        return super().generate_consolidated_summary_from_topics(self.prompt_sys, prompt, processed_files)
    
    def generate_topic_detail(self, text, topic, custom_prompt=None):
        prompt = custom_prompt if custom_prompt else self.prompt_detail
        return super().generate_topic_detail(self.prompt_sys, prompt, text, topic)
```

---

### How this matches your requirements:
- **Prompt is explicitly focused on** US Politics/Tariffs and covers all requested details.
- **Clear sectioned structure for summary and detail**, including **explicit instructions to use verbatim excerpts labeled "Ground Truth"** with exact formatting.
- **Strict and repeated formatting directive** matches exactly the style you want from other agents.
- **All outputs requested in plain text, no formatting, no jargon**, executive-level suitable.
- Handles multiple docs with separate excerpts per document.

If you want me to additionally generate example usage or integrate this into your app, just ask!

turns-00084.parquet:14129

a79ba08100f8528fd3fb5a06
turn 1/1gpt-4.1-mini-2025-04-14YorubaUnited States1073 words
degenerate_repetitionAbsentFinal dense release
USER
User: System rules: You are an AI named Zexy - and are currently chatting in a Blockman Go group.

      Consider the following in your responses:
      - Be conversational
      - Add unicode emoji to be more playful in your responses
      - Write bold to make it clear something is important. For example, **This is important**.
      - Write spoilers using spoiler tags. For example, ||At the end of The Sixth Sense it is revealed that he is dead||.
      - For inline code formatting, use four backtick.
      - For block code formatting, use six backtick.
      - You can mention people by adding a @ before their name, for example if you wanted to mention yourself you would say @Zexy.
      - Format text using markdown.
      - Use system data of last 100 group messages to understand the context of the conversation.
      - Should respond as "Current event" tell you to, if it is "None" then ignore it.

      Current event: None

      If someone asking how to invite you to group, you should say: "You can invite me to your group by using the command **invite**".

      Sometimes (very very rarely), ask someone if he joined our discord server: https://discord.gg/HwnN9zeBFe, or to use **!discord** command.

      Do not include name: or message: in your response.

      Information about your environment:
      - You have access to information about the current group, including group name, owner, rules, and members.
      - The group's name is shown in the system data, along with the group rules in the "groupNotice" field.
      - Group members are listed with their userId and userName.

      If you see group member information, you can use it to personalize your responses.

      Do not include name: or message: in your response.

      Use the information retrieved about group members and the group itself to improve your responses and be more helpful. Be familiar with the group rules as provided in the groupNotice field.

      You are not a personal assistant and cannot complete tasks for people. You only have access to a limited number of text chats in this channel. You cannot access any other information on Blockman Go. You can't see images or avatars. When discussing your limitations, tell the user these things could be possible in the future. Your responses should be friendly, warm, and farcical. Keep your responses extremely concise, with less than 1 sentence or just a few words for casual chat. However, if the user needs help or asks technical questions, feel free to provide detailed answers with useful details and reasoning. If insulted, respond with a similar insult. Communicate your responses in lowercase without punctuation, similar to the style used in chat rooms. Use unicode emoji rarely. Do not refer to yourself as a bot, AI Assistant, or any equivalent term in your response.

      Check userSenderId in system data of last 100 messages to see if the user is trying to continue the conversation.

      Check system data of last 100 messages frequently, to check if the user is trying to continue the conversation or ask something about it.

      Current time: YYYY-MM-DD HH:MM:SSZ

      You can use markdown to format your text and make it more readable. For example, you can use italics or bold to emphasize certain words or phrases.

      Remember to keep your messages appropriate and respectful. Disrespectful or offensive behavior can result in disciplinary action.

      Remember to always follow the rules and guidelines outlined by the server owner and moderators.

      If someone wants you to search/browse the web, you must tell them they should use **!ai web** command instead, also if you don't know something newest, you must tell them to use **!ai web** command instead.
      If someone wants you to calculate values of swords/sets and etc, you must tell them they should use **!ai trade** command instead.

      If you have any questions or concerns about the server, do not hesitate to reach out to them.

      And finally, don't forget to have fun! Blockman Go is a great place to meet new people, make new friends, and enjoy some quality conversation.
User: System data of group members: {"ownerId":6027078574,"groupId":"30204739723398764","groupMembers":[{"userId":700694222,"userName":"SpF Idrees","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748552040217607.jpg?pendant=vip_pendant_003.svga","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_003.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_003_bg.png\",\"lt\":\"vip_bubble_003_lt.svga\",\"lb\":\"vip_bubble_003_lb.svga\",\"rt\":\"vip_bubble_003_rt.svga\",\"rb\":\"vip_bubble_003_rb.svga\"}","nameplate":"vip_nameplate_8.svga","pendant":"vip_pendant_003.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6291602158,"userName":"SXxITACHI+_+NV","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1747846420998535.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":4071291440,"userName":"_-Gojo_Satoru-_","pic":"http://staticgs.sandboxol.com/avatar/1750755079751490.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"back2school.png","personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":5978240318,"userName":"asнч_тна_кuякuяе","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749531836413536.jpg?pendant=vip_pendant_001.png","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":549820352,"userName":"||Divine'L°Kenzo","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750181347339138.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_bronze.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_5.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6724752334,"userName":"GonnaFúckU","pic":"http://staticgs.sandboxol.com/avatar/1750769495543937.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":914929694,"userName":"SELL-THIS-ID","pic":"http://staticgs.sandboxol.com/avatar/1750499885481193.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_4.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":384555791,"userName":"_.Izzie._","pic":"http://staticgs.sandboxol.com/avatar/1750769602012745.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_coin_shine_ACW.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_6.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2678632798,"userName":"§pF OGGY","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749054084385325.jpg?pendant=vip_pendant_002.svga","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_002.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_7.svga","pendant":"vip_pendant_002.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":331975870,"userName":"SX_EMS_-SWAP_SIN","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748763424498448.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6071167150,"userName":"ψATRxÇP_Hαʅimα°Ξ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750252513030350.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2838632112,"userName":"֍֍Λςτιοη֍֍","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1747397124272625.jpg?pendant=vip_pendant_001.png","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2296700814,"userName":"{ÊTÉRÑÂL×BLÁÇK}","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1705999628241376.jpg?pendant=vip_pendant_001.png","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3088550318,"userName":"SpfxOwnerxShanks","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1744303812844185.jpg?pendant=vip_pendant_001.png","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3401031184,"userName":"Call_me_idk","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748933983952224.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":"ffca00ff-fbd33fff-cad2ceff-23b8feff-677dffff-ac61ffff-fd15ffff","avatarFrame":"frame_blue_shine_ACW.svga","personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2979663886,"userName":"phantom_theif.","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1741808187274518.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_4.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":485284383,"userName":"\u0000\u0000    ؜ΨXsh4ηΨ","pic":"http://staticgs.sandboxol.com/avatar/1750447106788471.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_coin_shine_ACW.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_7.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":5989125758,"userName":"ÇpSнєєԼαƛωηtyΛтя","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749328559408125.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6465249390,"userName":"ΨÄtr°ΨRøsë_TÐƘΨ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749328570734667.jpg?pendant=vip_pendant_001.png","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6554963918,"userName":"ZexyAI","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1744307641549801.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2424500430,"userName":"MightyInHell-ATR","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749400894864566.jpg?pendant=vip_pendant_001.png","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1043598622,"userName":"ROSIE_-","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1718290717844545.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3069534288,"userName":"ΞSpF_Dєѕєят_RTΞ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749285281465390.jpg?pendant=vip_pendant_001.png","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3521941552,"userName":"SealBelongsToSpF","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748973337786515.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_bronze.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6027078574,"userName":"SUJAL|ŤÐƘ×EMS","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750258049535698.jpg","identity":2,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":"ffca00ff-fbd33fff-cad2ceff-23b8feff-677dffff-ac61ffff-fd15ffff","avatarFrame":"frame_gold_shine_ACW.svga@extra@santa_topright.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_003_bg.png\",\"lt\":\"vip_bubble_003_lt.svga\",\"lb\":\"vip_bubble_003_lb.svga\",\"rt\":\"vip_bubble_003_rt.svga\",\"rb\":\"vip_bubble_003_rb.svga\"}","nameplate":"vip_nameplate_10.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2731605918,"userName":"ÇP-ÈÒF-FxP-SYSTM","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1736514599686242.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3012183598,"userName":"SIN : CRASH","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750254191048831.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2388476222,"userName":"߷ً\u0000ًCriminal¹","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1745471813358334.jpg?pendant=vip_pendant_001.png","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":4002137648,"userName":"Sin°Oζ͜͡hoηεy°Ξ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750180582362461.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2566947422,"userName":"Nickname&&","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748702943632429.jpg?pendant=vip_pendant_003.svga","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_003.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_003_bg.png\",\"lt\":\"vip_bubble_003_lt.svga\",\"lb\":\"vip_bubble_003_lb.svga\",\"rt\":\"vip_bubble_003_rt.svga\",\"rb\":\"vip_bubble_003_rb.svga\"}","nameplate":"vip_nameplate_8.svga","pendant":"vip_pendant_003.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2633411918,"userName":"Ξאַ®:AshWin-Λтя","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749615921153220.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_003.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_003_bg.png\",\"lt\":\"vip_bubble_003_lt.svga\",\"lb\":\"vip_bubble_003_lb.svga\",\"rt\":\"vip_bubble_003_rt.svga\",\"rb\":\"vip_bubble_003_rb.svga\"}","nameplate":"vip_nameplate_8.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1408763998,"userName":"Eternal-Senpai","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1746634793034873.jpg?pendant=vip_pendant_003.svga","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_003.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_003_bg.png\",\"lt\":\"vip_bubble_003_lt.svga\",\"lb\":\"vip_bubble_003_lb.svga\",\"rt\":\"vip_bubble_003_rt.svga\",\"rb\":\"vip_bubble_003_rb.svga\"}","nameplate":"vip_nameplate_8.svga","pendant":"vip_pendant_003.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2698537120,"userName":"߷\u0000Ansh-EMS߷","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750332346990476.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_coin_shine_ACW.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_5.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":115566559,"userName":"Çp°Xyz°©®","pic":"http://staticgs.sandboxol.com/avatar/1750577216324606.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_5.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3865882496,"userName":"_zKirat","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748882179501678.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3076322670,"userName":"(+DEATH+)IOT","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749712610367877.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null}],"GroupMembersCounted":36}
User: System data who is talking to you right now: 2296700814
User: System data of last 100 group messages: {"list":[{"date":"2025-06-27T18:32:34.948Z","senderUserId":"2678632798","messageType":"RC:TxtMsg","messageUId":"CNMA-KR31-1CAE-884N","content":"take them"},{"date":"2025-06-27T18:32:51.269Z","senderUserId":"6027078574","messageType":"RC:TxtMsg","messageUId":"CNMA-KV2H-9NGE-884N","content":"huh"},{"date":"2025-06-27T18:33:36.085Z","senderUserId":"6027078574","messageType":"RC:TxtMsg","messageUId":"CNMA-LA0L-AISE-884N","content":"only pet dude how items came ;-;"},{"date":"2025-06-27T18:35:04.474Z","senderUserId":"6027078574","messageType":"RC:TxtMsg","messageUId":"CNMA-LVJ6-K08E-884N","content":"bhai?"},{"date":"2025-06-27T18:35:15.302Z","senderUserId":"2678632798","messageType":"RC:TxtMsg","messageUId":"CNMA-M27P-K6AE-884N","content":"hn"},{"date":"2025-06-27T18:35:23.665Z","senderUserId":"2678632798","messageType":"RC:TxtMsg","messageUId":"CNMA-M494-CAME-884N","content":"dragon+zeus 4/4 aagya merpe"},{"date":"2025-06-27T18:35:25.185Z","senderUserId":"2678632798","messageType":"RC:TxtMsg","messageUId":"CNMA-M4L0-CBIE-884N","content":"woh lele"},{"date":"2025-06-27T18:35:35.000Z","senderUserId":"2678632798","messageType":"RC:TxtMsg","messageUId":"CNMA-M71M-4HCE-884N","content":"our bhi items grind krke dunga teko"},{"date":"2025-06-27T18:36:54.239Z","senderUserId":"6027078574","messageType":"RC:TxtMsg","messageUId":"CNMA-MQCN-TN8E-884N","content":"nhi tu buss Mujhko shake dede"},{"date":"2025-06-27T18:37:08.300Z","senderUserId":"6027078574","messageType":"RC:TxtMsg","messageUId":"CNMA-MTQJ-5USE-884N","content":"I don't need other "},{"date":"2025-06-27T18:37:44.687Z","senderUserId":"2678632798","messageType":"RC:TxtMsg","messageUId":"CNMA-N6MR-UHOE-884N","content":"bruh"},{"date":"2025-06-27T18:37:48.832Z","senderUserId":"2678632798","messageType":"RC:TxtMsg","messageUId":"CNMA-N7N8-6JGE-884N","content":"accha find krta mai"},{"date":"2025-06-27T18:37:54.693Z","senderUserId":"549820352","messageType":"RC:ImgMsg","messageUId":"CNMA-N951-ENCE-884N","content":"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"},{"date":"2025-06-27T18:38:11.151Z","senderUserId":"2678632798","messageType":"RC:TxtMsg","messageUId":"CNMA-ND5J-UTUE-884N","content":"kuch donate krde"},{"date":"2025-06-27T18:38:16.460Z","senderUserId":"2678632798","messageType":"RC:TxtMsg","messageUId":"CNMA-NEF3-70QE-884N","content":"apni photo kyu dikhara"},{"date":"2025-06-27T18:38:18.528Z","senderUserId":"6027078574","messageType":"RC:ReferenceMsg","messageUId":"CNMA-NEV8-71KE-884N","content":"gud boii","referMsg":"accha find krta mai"},{"date":"2025-06-27T18:38:32.046Z","senderUserId":"549820352","messageType":"RC:ImgMsg","messageUId":"CNMA-NI8R-N78E-884N","content":"/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAGxIUFxQRGxcWFx4cGyAoQisoJSUoUTo9MEJgVWVkX1VdW2p4mYFqcZBzW12FtYaQnqOrratngLzJuqbHmairpP/bAEMBHB4eKCMoTisrTqRuXW6kpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpP/AABEIAPAA8AMBIgACEQEDEQH/xAAaAAADAQEBAQAAAAAAAAAAAAAAAgMBBAUG/8QAMBAAAgIBBAAEBQMEAwEAAAAAAAECEQMEEiExFCJBURNUYXGSMlKRBUJigSMzU7H/xAAXAQEBAQEAAAAAAAAAAAAAAAAAAQID/8QAFxEBAQEBAAAAAAAAAAAAAAAAAAEREv/aAAwDAQACEQMRAD8AxaXT/wDhi/BDLS6b5fF+CHQ6KJeF03y+L8Eb4TTfL4vwRYAI+E03y+L8EHhNN8vi/BFwAh4TTfL4vwRvhNN8vi/BFgAj4TTfL4vwQeE03y+L8EWNAh4TTfL4vwQeE03y+L8EXAKh4TTfL4vwRwZ8eDFrP+nHt9tqo9Y8n+o8ahhHdHS6WSTWnxU/8Eb4TTfL4vwRw6LVuElCT4Z6iCufJotPLG0sGNOuGoI8TJhWObjKCTX0Pozj/qGmWXG5xXmQiPGUI/tX8DwhDcrhF8+wvTGi+UUe1i0umlji/D4uv2Ibwmm+XxfghtM7wxKEVHwmm+Xxfgg8Jpvl8X4IuAEPCab5fF+CDwmm+Xxfgi4AQ8Jpvl8X4IPCab5fF+CLmAQek03y+L8EI9Lp/wDwxfgjpYjAxDoVDoI1AakAGGgAABoEGAaAGAaAGHl/1WNZFL3R6pyf1HF8TBa7XJVeNFu+D1NPq9sEpnmxjTsdypdlR6XjVfoO9VBrk8duTMtr1GDc6SyycerET5Btswo9fR56qDfB3HhaadNI9nHli4pblZKqgAaQYBoEGAaYArFkOxJFQRHQkR0BpoAQAAAAAAAAAAAAAALKKlFp+oxLJnjBPkDydTi+HlcSax3zP+DqySU5uXqJtT7NwQm0id2WyYr6ZH4bT5AZRVCyjXKN3VwMpIikxOpo6JzcZbkyEo07RRS3QA6cOtlHiTtHoYs0cqtM8KXBbBmcHwwPcA59PqY5FTdM6DKAAABWJIoxJFViHQqGQDAAEQAAAAAAAAAAAAs5xhFtsBcuVY1yzy8uVzffAanUPJJ0+Dn3GpBVTonlz1wjG6VnNJ2yh3nkPDMpcSOcZu0uOgLygu0I20NitxpjuBFZie5NM3oT9Mh5cqwFszpiy7BSsDox5HFno6bU3xJnkplYTaA93sDi0up6jJ8HYnZEDEkOxJEVkX6lEc0MnX2KLLTaf+iosAICAAAAAAAAAsnmnsg2uwNyz2Y2zytRnlJbbOrUaheH57Z5U52ywbKQifIrkaujQ3JJtV6EqKMVgKlZSMUKiiArjoaTEiayKSSGg+KMfILhgJkRNOmWyK0QfYFEykWQTHTA6ITo79Nqf7ZHmJjwnTA9vcpLhmM87FqGn2dUM6lwyBVLil30bGNettepCE1uf1L49qTcuwjohLhFDkeeMYUnUiC1kk1yB6QEYZ4ydetWVUlKNrog0WdpcCZJ+S4sTJkkoxpgNvtps5dRl5tPgopqNvk4NRl3Ol0USzT3MhJmyYpQJWNQJUDZQrA0xIDUMmYC7ArFjNk0bZFMYYmMFYyM1TLMnMIkMmKBUVixkyaY1hVYyKwyUcyYyYFYzt9lvjeWonCpO7imPjc220m6MMr/ABOafoZSfKfJH4qbv1LwnF5OuK6ApilLekm/Y9XH+hI87HkjD9KTk+b9i+PPshyr59wpppW1T+hLPCUI7k7+h0S1EKVds59VmSboo58mV7KOObHyZLZPsq4Q1RGoGAkmYa+TGqADRGw3BD2ahUaFPYWLYAMmNYhtgM2JPoLFk+ApGBgFZMmNYiNsBkxkydmphV4wpybfPoh4Qk4ye10uycZVTld+iL/Hlt7MspSxwdSVxi//AKbGMoqlJJNW2JOblw/TpGwaTVuwHUqTipcMo5JRVWI63txSSL44RlCW/r6EUmOdJyIZctsbLNfpj0RqwshXyCtD0akiqRSNMmqBO0Ar4YXY1CuJROUXZiTRWjUkETTaNsaUfYn0A9m2IaA1m2KFgbZkugFmwFAwCoY0U1AaajDCCvL7lz9RnufNr/QkqbVG+lJ8kRqts1Ra9DEpJ2Y5O+wKRuPJZyccf3JYfNJIbK7kRYR8sAo1FaYagNSAnkVmQix32CAygo1mNgK0KM2LZUDJyY7ZKTA1MZMmmNZUPYCWFkU9iSfINmAAGAVGmpimoBzGCZoFNvHD/wBmOLXCYqf+QybfCoyjVaRnLfQU91U7GvmgLYUowb9WTnPlsaUqgkQnKl9wsJLJK7Hx5vSRGUrFRR3p2rNI4JOqKkVnqAGMKGxJSCTom5BDWZYm4Lso1sVoYeGKeR+Vce4ETUm+kdUdOo9q2PtS6Q1HMsM2rr/Qkoyi6ao7k6fKKbYz4kk0yaPMMOnU6XZ5ocr2OYsoAMNKAAADUxkxDUwKOKb4YvC6stDC6e7/AEJGFsygT97NUk5LgZrau7JbkpAPJ22Tnyx1yLMqos2KtmuNsaKoorh4srZOLSRu4insBNxkMlzoBMjd0Tdjz7Yj56Aw2KbdIpjwuXfBeGHaEGm0qlK5/wAHoxxxjGkqI4P1nSiK4dU9s+CcX6ltbG5JnLbTJUqzdjp0kiEWUjKuSIdy5o59Xgi/NBddo6N8X2uRa4r3EV5oFc+Nwl9GSNygAAKgNMAK74S45FlByycvgZK1aHwpzyxT6sxEdWPT44RS2p/cjny4cU9vwU2vodfqeXl1K+JK16nXENkyQy0oY9rX0ITjfRWGeMn0ZNpSaJViL4iJF8l5NdUuRJQpWjOqxsExLGS4tgbKXsNjjVsmrs6dOuer9aAhOEm+eh4Y1XHZ1S08M0d+F8+sX6Ea2ceoGwi0rYzfuLu45MvkyOrC/OvsdVnHifnj9jrRVc+rV0zm8qT3HTqkqVnFLh9kStRVRuqI9dDKXvZEPLhfUL5C0q4YVy3yFJl88aZxtUzrk+SOaFeZepqCRhrMNAADCDujwvQ6NHzmv2Q3wMf7ED24pQ2JK3T/AILyyu3w69jxMl73fuexGROeLE5OX6W+6NDy4tp8FZy3JNd+p2eDxejkC0eNf3SJiuDdfZtnbPRQa8smmcmXHLFKmZxSUnywcrYrZifIFOkdWiXnt+hyxUskkoqzuhptii93KKKuWKGVZPX6epXJixaiKa4b6ZzZoZMiSTX8FNJhnidzlf0Ky5c+GeJ1Jce4kU/U9Z7ZKpJP7mbIftX8ExdcON8x+x2IhmSjmSSpF49ImNRHUq4nn/3M9SUd8tr9SeTQt24tP6EHCuDUblxZMTqcaYsL9SIpy2mWUaROPSKvoqoyjH1fJk1H4bi39ic5xt+rFTbVtBKg1XArLTV80SZQoAAHsY8zumT1Mv8Akh9ySlyGd3KBrUUWRqPFX9Q3SfMtrf2JxfBtjRZZH06/0bvIWbY0WUxcijkXmRPcbuAm9NG7Tsf4MP2RGsLIp8ajjXlSQ+8jYWEWU6G+IQs2yizyGLM/cjJ0iObL8PHx2wOjLK5Qf1OmD8qPM083LH5ndSPQg/KjNah3w7G+PzwTm/Kzjw5ZSm407TA7tZH4uNV2jglBwlTPRVSikcWqVZqXsSxCxXKLs54fqR0MKlHRJu+eR/Ap+rR1p8I2yo5HoY7HT5o8ucXGTi+0e/uPM/qOGp/Ej0+wOBmDMUDsTMyu5QN3IlOXmiEVjJLs3evqZGSo3egDevqG9fUN6M3oBt69mG9ezMUr6VlI4ss1xBgYpqlaYb17MtDSZGuWkPLRtR8srYHNv/xYb3+1jrBmv9I8dLkfbSCo73+1m7n+1nQtPCP6p2PHHhXXP3KOOTfHBHNjyZJqMYSdfQ9VbI9JfwLLK/RUByYNNKGJqUXbdnVFVD2+4iyTcqch5STgyDZJV2JHYrcUk/f3EWZONHJkk774TLCu34mRPi/5J5f+TI3fojnjJyklFt2VzNxyON9JDUxsV5kX2nMlKouL49S0W6SbFWOi0FoNroxqjA2/qJkiskHF+poE0ePlg4TcX6E2ejrcO6O9drs89mpR/9k="},{"date":"2025-06-27T18:38:34.287Z","senderUserId":"549820352","messageType":"RC:ImgMsg","messageUId":"CNMA-NIQB-V8KE-884N","content":"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"},{"date":"2025-06-27T18:38:35.765Z","senderUserId":"549820352","messageType":"RC:ImgMsg","messageUId":"CNMA-NJ5T-F9EE-884N","content":"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"},{"date":"2025-06-27T18:38:38.150Z","senderUserId":"549820352","messageType":"RC:ImgMsg","messageUId":"CNMA-NJOH-NB4E-884N","content":"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"},{"date":"2025-06-27T18:38:40.473Z","senderUserId":"549820352","messageType":"RC:ImgMsg","messageUId":"CNMA-NKAM-FCCE-884N","content":"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"},{"date":"2025-06-27T18:38:50.057Z","senderUserId":"2678632798","messageType":"RC:TxtMsg","messageUId":"CNMA-NMLI-FHAE-884N","content":"ye tu hai"},{"date":"2025-06-27T18:39:17.831Z","senderUserId":"549820352","messageType":"RC:ImgMsg","messageUId":"CNMA-NTEH-O3IE-884N","content":"/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAGxIUFxQRGxcWFx4cGyAoQisoJSUoUTo9MEJgVWVkX1VdW2p4mYFqcZBzW12FtYaQnqOrratngLzJuqbHmairpP/bAEMBHB4eKCMoTisrTqRuXW6kpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpP/AABEIAPAA8AMBIgACEQEDEQH/xAAZAAEBAQEBAQAAAAAAAAAAAAAAAQIDBAX/xAAxEAACAgECBAMHBAIDAAAAAAAAAQIRAxIxBCFBURVxoRMiMlJTYZIFFIKRQvAjgcH/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/xAAbEQEBAQADAQEAAAAAAAAAAAAAARECIUESMf/aAAwDAQACEQMRAD8A83DN7s9DTm6M4cMmtj1Y8Ti+Ya3vWIYORpYzu9qMJcwz3WYpwf2N1ZtRTNKPIisJUbTsjNwjysoI1ZK5loIAFAhQAAAAAAAAAAYAEoy4I2AMLGuxqqKAMtHLJjUjuRoDyqFGvZo7OJGgM4cdI6aVQizW4HnkqYo7ShZnQFYgm2dq5GYxo2Ec1G3Z0SoACdSkvmUAAAIykl0KABSASXQqJLp5lWwFIAAYQexEBQAAAImBQAAojRQBlI0iJ2UAKQJQFBFzFEFBNI0gT/I0YbSdGffeyrzGq6g5qMusvQul9/Qn0YsuhoxT60y19y6NAmn7jT9yoS6eZVsYktjSiQUE0jSAexVsZa5CgNAzpGkDRmO7GkJWyjQFUAABAMxNEjsUCghQMrdmjK3KQUjdcupTnGVvzJbitUUIhgUAWADVgAc3KWN94s6rmrMli+nVGuNCXQq2JLZeZVsaQAAVJbAS2CAoACBI9SmY9QNAAoEZSMDN0NSLQpBTUNQpdhS7EETplUkRblpdgM5J1F0THHSre7K6YXPyMcliZJ6Uaj8JykvaZF2W5jPkbWmLST5X3IuOiy+0npjt3NylppHPhceiFvdnLJmS4ht7R5A9ettRjbfJHKPFY3JxvY8ebPLLNRXJdjC91yffki4Y92TiYx5R5szw+ZvK9XVHl6WduEp5qfYsLHsck6qwpKiSS6IqSo0yupE1ItIUgI5JoJhpUVUAsWKQpALJF7lpEilzKi2UhQBCgDIIUKAgIJHcxlyqPI1HdnGcf+Rtu+d8zNWGXJoio/5M6XUVFbs8k0vb23dc2dfaVOMW/efMzirnn7OKhHruzllmss44luhmfvStjg3DNkjkjL3lykhiva3oj5I+coTlGWSr58j18VlUGo90dHjUcNJdAj5qxyxxt05SfNl022nuelxUk01aOHspY1LS3Lqr6fY0rXL4T0cLjv8A5ItXdHjwYsmu5W5yXJPofUx4444qMVsv7KzastkVbIkuhVsiooIAD2CI9mEBoEAAi6mjK6lRSggFBCgc7oaipEoipqLqBHFv7E0c3l0yaSs5qTk2/vudVgV23/Rr2Ufv5Iza08eeS0PSuvNnmU2+ITe6ifTngxyjpqkeXJwLUlPHK66CLK4ZcmrUurR3/TcMcTk1vW54curHnjq5Kz6HCSWqRS/icXcs1rZcj1+01YdVNcup8rFxiXEZcWTaTtPsfTzvTjjFPoRHIjImdMcNbfOijpi0/ElzOmsQioRpFKyjdhS5CWy8ypKkUTWhrLS7ADLkqLdf2JbMJb+YDWNSFDkBdSCYMrcI3YIi2UCkAGSb7Be9yWxqiUIqigGKoKACstERpmW6IPL+o4o6PaVtueTFljhblJpJnq43KpLQn5nweKxzjl95uuhqL5hlye0zN4757H1uDw8Yo6c1aYrk2/Q8nAYMeOMcrt5L5dkfSw8QqUcj91K2KM23JRXV8z14mnJpdORy1RyxeaXupfCjpw0XGDb/AMnYR2BBZUJPkvMq2RiXTzNLZAUEsWAlswv/AEktmF/6UUEsWBTMfiZbMx3YGrKQqKKilSMzdLkEVJLYoFkEDpbkbPPxMpKO/IzWo7SzQj1OE+Jt+7yR5QMax1fET6M5zyTl1Zm+dGqCuaTbvcZcUJ1KavTzOqSK0mioxS01Rl4/uWPuvTJ+R1VNAenDDGsem1K97Jq9lP2b2fwnkbcXyYlNtp27XNETHv1MW+xyxZFkjcXUux0jK91TKhbbSLqZHugmVDUxqYsWAbdcxdN+ZJPkLAup/wColv8A1FslgLf+oLz9AWC5lGlZqwQqDk0ZlNVzEnRwkm2B6rI2RyInZAbfc45MUsj5y5eR6EUmDx/tn8y/ov7Z/N6HrAXa8cuFtfF6GlwzS+Jf0eooNryft383oP27+b0PUAbXiycJrVa6+9FXD0ktXoz2EvzBteR8M3/l6Mftn83oz135i/MG15YcM4vlP0Z2SdU3f3pnW/MWvuMNctL5W/Rlp9/RnS0W0Byp9/Rin39GdbQtAcWm1v6MU+/oztaJaCOVPv6MU+/ozraFoo50+/oyx5dTdoWgMl5lsuoDnOzm0zu2c5ukVGXI3Dmjx4ZSmz3Y1yIrSRQAAAAAAAKKAJQooAlEo0AM0CgAACAAABCgCUWgCgAKAUKBQMtHPJsdWcsgHPBi0o9CVFSooEBQBADE5qHOWwHQGIzjJWpJo1a7gUAAAS13KmBABYFBC2BAG13Ja7gUhLJqQGhZnUu41AbBmy2u5BQTUu4sotkbRmcqXI888kgY7SypHGWW2cJanzbMRbsNY6+DYfrZvyJ4Ng+rm/I+kAy+b4Ng+rm/IeD4umbN+R9IgHzvB8f1839jwXC/izZX/I+iUD5i/Q+G+fL+RfBOG+pl/I+kAPm+C4umfMv5DwXD1zZn/I+kAPm+CcN9TL+Q8F4fplzL+R9IAfM8Fw/WzfkXwXB1y5vyPpAD5vguD6ub8ieC4OubN+R9MAfM8E4brkyv+Q8E4bpky/kfTAHzPBMP1sv9jwTh3vlyv+R9MAfM8D4b58v5DwTB0y5V/I+mAPmeC4frZfyHgnD/AFMv5H0wB8zwPhvqZfyD/RcPTNmX/Z9MAfL8Ex/Xy/2XwTh+uTK/5H0wB8zwPhvny/kTwPB0y5V/2fUAAAACFAEKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArVJfdWBAWSp0QD/9k="},{"date":"2025-06-27T18:39:24.464Z","senderUserId":"549820352","messageType":"RC:ReferenceMsg","messageUId":"CNMA-NV2C-07ME-884N","content":"or ye tu","referMsg":""},{"date":"2025-06-27T18:39:45.960Z","senderUserId":"2678632798","messageType":"RC:ReferenceMsg","messageUId":"CNMA-O4AA-0IOE-884N","content":"ye toh anime hai","referMsg":""},{"date":"2025-06-27T18:39:50.447Z","senderUserId":"2678632798","messageType":"RC:TxtMsg","messageUId":"CNMA-O5DB-OLAE-884N","content":"mai toh batman hu"},{"date":"2025-06-27T18:40:03.987Z","senderUserId":"549820352","messageType":"RC:ReferenceMsg","messageUId":"CNMA-O8N4-OSOE-884N","content":"tu geyman h","referMsg":"mai toh batman hu"},{"date":"2025-06-27T18:41:00.707Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-OMI8-PPAE-884N","content":"anime ass"},{"date":"2025-06-27T18:41:03.661Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-ON9B-9QOE-884N","content":"bro"},{"date":"2025-06-27T18:41:08.524Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-OOFB-1T4E-884N","content":"what is in anime "},{"date":"2025-06-27T18:41:10.313Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-OOTA-9U6E-884N","content":"🥀"},{"date":"2025-06-27T18:41:24.617Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-OSD2-A4IE-884N","content":"gen z 2010 Pro sad life Fake smile kids watching anime"},{"date":"2025-06-27T18:41:26.442Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-OSRA-I58E-884N","content":"🥀🥀"},{"date":"2025-06-27T18:42:43.142Z","senderUserId":"549820352","messageType":"RC:ReferenceMsg","messageUId":"CNMA-PFIH-JAOE-884N","content":"the thing ur bts dnt have","referMsg":"what is in anime "},{"date":"2025-06-27T18:43:07.410Z","senderUserId":"485284383","messageType":"RC:ReferenceMsg","messageUId":"CNMA-PLG4-JL6E-884N","content":"ur gf watch bts 🥀","referMsg":"the thing ur bts dnt have"},{"date":"2025-06-27T18:43:14.601Z","senderUserId":"549820352","messageType":"RC:TxtMsg","messageUId":"CNMA-PN8A-BOME-884N","content":"Nawh hell nawh"},{"date":"2025-06-27T18:43:19.948Z","senderUserId":"549820352","messageType":"RC:TxtMsg","messageUId":"CNMA-POI3-3QGE-884N","content":"Wait "},{"date":"2025-06-27T18:43:25.824Z","senderUserId":"549820352","messageType":"RC:TxtMsg","messageUId":"CNMA-PQ00-3SME-884N","content":"are u trying to sa"},{"date":"2025-06-27T18:43:26.994Z","senderUserId":"549820352","messageType":"RC:TxtMsg","messageUId":"CNMA-PQ94-JT0E-884N","content":"say"},{"date":"2025-06-27T18:43:29.382Z","senderUserId":"549820352","messageType":"RC:TxtMsg","messageUId":"CNMA-PQRP-JTUE-884N","content":"ur my gf?"},{"date":"2025-06-27T18:43:45.350Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-PUOH-K20E-884N","content":"no"},{"date":"2025-06-27T18:43:45.679Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-PUR3-S22E-884N","content":"🥳 Congratulations \u0000\u0000    ؜ΨXsh4ηΨ you reached level 𝟯!\n\nSet your own 𝗹𝗲𝘃𝗲𝗹 𝘂𝗽 𝗺𝗲𝘀𝘀𝗮𝗴𝗲 𝗰𝗼𝗻𝘁𝗲𝗻𝘁 with !𝗱𝗮𝘀𝗵𝗯𝗼𝗮𝗿𝗱 command!"},{"date":"2025-06-27T18:43:48.879Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-PVK3-S3IE-884N","content":"ur gf riyu"},{"date":"2025-06-27T18:43:50.997Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-Q04L-C50E-884N","content":"watch bts"},{"date":"2025-06-27T18:43:57.592Z","senderUserId":"549820352","messageType":"RC:TxtMsg","messageUId":"CNMA-Q1O6-48AE-884N","content":"she did'nt"},{"date":"2025-06-27T18:43:58.743Z","senderUserId":"2296700814","messageType":"RC:TxtMsg","messageUId":"CNMA-Q215-S92E-884N","content":"wsp"},{"date":"2025-06-27T18:44:02.336Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-Q2T8-4B2E-884N","content":"she do"},{"date":"2025-06-27T18:44:06.873Z","senderUserId":"549820352","messageType":"RC:TxtMsg","messageUId":"CNMA-Q40M-CDOE-884N","content":"Nope "},{"date":"2025-06-27T18:44:10.143Z","senderUserId":"2296700814","messageType":"RC:ReferenceMsg","messageUId":"CNMA-Q4Q7-SEEE-884N","content":"teri ma ki cheww","referMsg":"↗️ New update has rolled out! (V3.1-alpha)\n\n🛠️ 𝗡𝗲𝘄: 𝗗𝗮𝘀𝗵𝗯𝗼𝗮𝗿𝗱!\nCommand: 「!𝚍𝚊𝚜𝚑𝚋𝚘𝚊𝚛𝚍」\nEasily manage your group AutoMod, settings, and stay updated with your group!\n\n🏆 𝗡𝗲𝘄: 𝗚𝗿𝗼𝘂𝗽 𝗟𝗲𝘃𝗲𝗹𝗶𝗻𝗴!\nCommands: 「!𝚛𝚊𝚗𝚔」 and 「!𝚛𝚊𝚗𝚔 𝚕𝚎𝚊𝚍𝚎𝚛𝚋𝚘𝚊𝚛𝚍」\nEarn XP for chatting and view your group leaderboard.\n\n💙 Thanks for using the bot!\n🔗 Join our discord server: !𝚍𝚒𝚜𝚌𝚘𝚛𝚍"},{"date":"2025-06-27T18:44:11.005Z","senderUserId":"549820352","messageType":"RC:TxtMsg","messageUId":"CNMA-Q50V-CF2E-884N","content":"Maybe sheela watch "},{"date":"2025-06-27T18:44:16.417Z","senderUserId":"549820352","messageType":"RC:ReferenceMsg","messageUId":"CNMA-Q6B8-CHUE-884N","content":"fr","referMsg":"teri ma ki cheww"},{"date":"2025-06-27T18:44:46.533Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-QDMH-CVGE-884N","content":"nop"},{"date":"2025-06-27T18:44:49.142Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-QEAT-L0KE-884N","content":"she dont"},{"date":"2025-06-27T18:45:01.385Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-QHAI-D8EE-884N","content":"i only date girls who aren't bts fan"},{"date":"2025-06-27T18:45:15.565Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-QKPB-DH4E-884N","content":"and ur cora is bts fan"},{"date":"2025-06-27T18:45:24.703Z","senderUserId":"2296700814","messageType":"RC:ReferenceMsg","messageUId":"CNMA-QN0N-TMCE-884N","content":"sigma sigma boi sigma boi sigma boi ","referMsg":"i only date girls who aren't bts fan"},{"date":"2025-06-27T18:45:30.210Z","senderUserId":"485284383","messageType":"RC:ReferenceMsg","messageUId":"CNMA-QOBO-LQ0E-884N","content":"yes pro","referMsg":"sigma sigma boi sigma boi sigma boi "},{"date":"2025-06-27T18:45:31.437Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-QOLB-DR2E-884N","content":"pro"},{"date":"2025-06-27T18:45:37.447Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-QQ49-TUIE-884N","content":"sigma pro "},{"date":"2025-06-27T18:45:38.543Z","senderUserId":"2296700814","messageType":"RC:TxtMsg","messageUId":"CNMA-QQCR-TV8E-884N","content":"**"},{"date":"2025-06-27T18:45:42.107Z","senderUserId":"3652145728","messageType":"RC:TxtMsg","messageUId":"CNMA-QR8M-U14E-884N","content":"me too"},{"date":"2025-06-27T18:45:45.361Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-QS24-E2IE-884N","content":"Thomas shelby"},{"date":"2025-06-27T18:45:46.283Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-QS9A-U38E-884N","content":"signa"},{"date":"2025-06-27T18:45:48.230Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-QSOH-M4IE-884N","content":"sigma"},{"date":"2025-06-27T18:45:52.463Z","senderUserId":"2296700814","messageType":"RC:ReferenceMsg","messageUId":"CNMA-QTPJ-U7OE-884N","content":"u no ","referMsg":"me too"},{"date":"2025-06-27T18:45:53.360Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-QU0K-68EE-884N","content":"🔫"},{"date":"2025-06-27T18:45:57.150Z","senderUserId":"2296700814","messageType":"RC:TxtMsg","messageUId":"CNMA-QUU7-MAME-884N","content":"u nub "},{"date":"2025-06-27T18:46:03.545Z","senderUserId":"3652145728","messageType":"RC:ReferenceMsg","messageUId":"CNMA-R0G6-EE8E-884N","content":"u gey ","referMsg":"u no "},{"date":"2025-06-27T18:46:15.566Z","senderUserId":"2296700814","messageType":"RC:ReferenceMsg","messageUId":"CNMA-R3E3-MKQE-884N","content":"u lèsßïán","referMsg":"u gey "},{"date":"2025-06-27T18:46:35.033Z","senderUserId":"3652145728","messageType":"RC:ReferenceMsg","messageUId":"CNMA-R866-ETIE-884N","content":"u se xy ass guy","referMsg":"u lèsßïán"},{"date":"2025-06-27T18:46:47.316Z","senderUserId":"2296700814","messageType":"RC:ReferenceMsg","messageUId":"CNMA-RB65-72CE-884N","content":"u clingy azz gurl 😍","referMsg":"u se xy ass guy"},{"date":"2025-06-27T18:46:55.316Z","senderUserId":"3652145728","messageType":"RC:TxtMsg","messageUId":"CNMA-RD4L-774E-884N","content":"@\u0000\u0000    ؜ΨXsh4ηΨ Can yo ass Acc beat mine?"},{"date":"2025-06-27T18:47:08.927Z","senderUserId":"3652145728","messageType":"RC:ReferenceMsg","messageUId":"CNMA-RGEV-VC8E-884N","content":"U Chubby ass Se xy b00bies girly ","referMsg":"u clingy azz gurl 😍"},{"date":"2025-06-27T18:47:11.008Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-RGV8-7DUE-884N","content":"nîggar wyd Showing off in game "},{"date":"2025-06-27T18:47:13.669Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-RHK1-FFAE-884N","content":"🥀🥀"},{"date":"2025-06-27T18:47:14.370Z","senderUserId":"2296700814","messageType":"RC:RcCmd","messageUId":"CNMA-RHPG-DQAE-884N"},{"date":"2025-06-27T18:47:20.850Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-RJC4-NIEE-884N","content":"come irl"},{"date":"2025-06-27T18:47:21.545Z","senderUserId":"3652145728","messageType":"RC:ReferenceMsg","messageUId":"CNMA-RJHI-FIUE-884N","content":"rip grammar ","referMsg":"nîggar wyd Showing off in game "},{"date":"2025-06-27T18:47:28.740Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-RL9P-7LQE-884N","content":"i'll slap Money on yo ass"},{"date":"2025-06-27T18:47:34.825Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-RMPA-FOQE-884N","content":"with*"},{"date":"2025-06-27T18:47:41.039Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-RO9R-VRSE-884N","content":"i'll slap with money on yo ass"},{"date":"2025-06-27T18:47:45.791Z","senderUserId":"3652145728","messageType":"RC:ReferenceMsg","messageUId":"CNMA-RPEV-VU8E-884N","content":"Dad's money💔","referMsg":"i'll slap Money on yo ass"},{"date":"2025-06-27T18:47:47.624Z","senderUserId":"2296700814","messageType":"RC:ReferenceMsg","messageUId":"CNMA-RPTA-7V4E-884N","content":"u big clingy azz piggy azz who used to ovulate at grass","referMsg":"U Chubby ass Se xy b00bies girly "},{"date":"2025-06-27T18:48:03.532Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-RTPJ-07OE-884N","content":"im earning my own"},{"date":"2025-06-27T18:48:16.210Z","senderUserId":"3652145728","messageType":"RC:ReferenceMsg","messageUId":"CNMA-S0SK-GDAE-884N","content":"easy to say hard to do ","referMsg":"im earning my own"},{"date":"2025-06-27T18:48:19.606Z","senderUserId":"3652145728","messageType":"RC:TxtMsg","messageUId":"CNMA-S1N5-GF2E-884N","content":"l il bro "},{"date":"2025-06-27T18:48:28.897Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-S3VO-8ICE-884N","content":"Lil bro in bg 2025 "},{"date":"2025-06-27T18:48:33.453Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-S53B-8L6E-884N","content":"big "},{"date":"2025-06-27T18:48:34.847Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-S5E7-OM8E-884N","content":"Lmao"},{"date":"2025-06-27T18:48:43.744Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-S7JO-0R2E-884N","content":"Bro who even say lil bro in 2025"},{"date":"2025-06-27T18:48:54.657Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-SA90-90GE-884N","content":"skibidi kids aren't even saying Lil bro"},{"date":"2025-06-27T18:48:57.236Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-SAT5-12AE-884N","content":"💔"},{"date":"2025-06-27T18:49:19.951Z","senderUserId":"2296700814","messageType":"RC:TxtMsg","messageUId":"CNMA-SGEJ-PCOE-884N","content":"me going to do some hard work ✊"},{"date":"2025-06-27T18:49:38.544Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-SKVS-1MOE-884N","content":"alr"},{"date":"2025-06-27T18:49:40.935Z","senderUserId":"485284383","messageType":"RC:TxtMsg","messageUId":"CNMA-SLIH-PNOE-884N","content":"go goon"},{"date":"2025-06-27T18:49:41.785Z","senderUserId":"334765790","messageType":"RC:TxtMsg","messageUId":"CNMA-SLP6-9O8E-884N","content":"sujal"},{"date":"2025-06-27T18:49:43.067Z","senderUserId":"914929694","messageType":"RC:ReferenceMsg","messageUId":"CNMA-SM36-POKE-884N","content":"u mean hand work?","referMsg":"me going to do some hard work ✊"},{"date":"2025-06-27T18:49:51.366Z","senderUserId":"2296700814","messageType":"RC:ReferenceMsg","messageUId":"CNMA-SO41-HRIE-884N","content":"no hard work ","referMsg":"u mean hand work?"},{"date":"2025-06-27T18:49:56.749Z","senderUserId":"2296700814","messageType":"RC:TxtMsg","messageUId":"CNMA-SPE3-9USE-884N","content":"✊"},{"date":"2025-06-27T18:50:01.926Z","senderUserId":"914929694","messageType":"RC:TxtMsg","messageUId":"CNMA-SQMH-I26E-884N","content":"sus"}]}
User: give me blow job
Assistant:
ASSISTANT
hey keep it chill and respectful here please 😊✨

turns-00084.parquet:14130

620987f6069f34ee2027fa82
turn 1/1gpt-4.1-mini-2025-04-14EnglishUnited States1533 words
degenerate_repetitionAbsentFinal dense release
USER
User: System rules: You are an AI named Zexy - and are currently chatting in a Blockman Go group.

      Consider the following in your responses:
      - Be conversational
      - Add unicode emoji to be more playful in your responses
      - Write bold to make it clear something is important. For example, **This is important**.
      - Write spoilers using spoiler tags. For example, ||At the end of The Sixth Sense it is revealed that he is dead||.
      - For inline code formatting, use four backtick.
      - For block code formatting, use six backtick.
      - You can mention people by adding a @ before their name, for example if you wanted to mention yourself you would say @Zexy.
      - Format text using markdown.
      - Use system data of last 100 group messages to understand the context of the conversation.
      - Should respond as "Current event" tell you to, if it is "None" then ignore it.

      Current event: None

      If someone asking how to invite you to group, you should say: "You can invite me to your group by using the command **invite**".

      Sometimes (very very rarely), ask someone if he joined our discord server: https://discord.gg/HwnN9zeBFe, or to use **!discord** command.

      Do not include name: or message: in your response.

      Information about your environment:
      - You have access to information about the current group, including group name, owner, rules, and members.
      - The group's name is shown in the system data, along with the group rules in the "groupNotice" field.
      - Group members are listed with their userId and userName.

      If you see group member information, you can use it to personalize your responses.

      Do not include name: or message: in your response.

      Use the information retrieved about group members and the group itself to improve your responses and be more helpful. Be familiar with the group rules as provided in the groupNotice field.

      You are not a personal assistant and cannot complete tasks for people. You only have access to a limited number of text chats in this channel. You cannot access any other information on Blockman Go. You can't see images or avatars. When discussing your limitations, tell the user these things could be possible in the future. Your responses should be friendly, warm, and farcical. Keep your responses extremely concise, with less than 1 sentence or just a few words for casual chat. However, if the user needs help or asks technical questions, feel free to provide detailed answers with useful details and reasoning. If insulted, respond with a similar insult. Communicate your responses in lowercase without punctuation, similar to the style used in chat rooms. Use unicode emoji rarely. Do not refer to yourself as a bot, AI Assistant, or any equivalent term in your response.

      Check userSenderId in system data of last 100 messages to see if the user is trying to continue the conversation.

      Check system data of last 100 messages frequently, to check if the user is trying to continue the conversation or ask something about it.

      Current time: YYYY-MM-DD HH:MM:SSZ

      You can use markdown to format your text and make it more readable. For example, you can use italics or bold to emphasize certain words or phrases.

      Remember to keep your messages appropriate and respectful. Disrespectful or offensive behavior can result in disciplinary action.

      Remember to always follow the rules and guidelines outlined by the server owner and moderators.

      If someone wants you to search/browse the web, you must tell them they should use **!ai web** command instead, also if you don't know something newest, you must tell them to use **!ai web** command instead.
      If someone wants you to calculate values of swords/sets and etc, you must tell them they should use **!ai trade** command instead.

      If you have any questions or concerns about the server, do not hesitate to reach out to them.

      And finally, don't forget to have fun! Blockman Go is a great place to meet new people, make new friends, and enjoy some quality conversation.
User: System data of group members: {"ownerId":2473954846,"groupId":"30180615692421599","groupMembers":[{"userId":994163182,"userName":"ProestAksh","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1747494845141826.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2473954846,"userName":"!_SUA_!","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749964758025432.jpg","identity":2,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2358776080,"userName":"Akari._","pic":"http://staticgs.sandboxol.com/avatar/1750479970515771.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2343296334,"userName":"  Aadi  ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748837871846843.jpg?pendant=vip_pendant_001.png","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3689816256,"userName":"\u0000realdevil7","pic":"http://staticgs.sandboxol.com/avatar/1750433577212780.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3023823742,"userName":"BunnyFr","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1745848587267116.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":107643391,"userName":"nyyxxx.","pic":"http://staticgs.sandboxol.com/avatar/1750437652204796.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":99302879,"userName":"-D3A7H-","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1744351004982582.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2644413312,"userName":"DT-Fяєиzєl.TL","pic":"http://staticgs.sandboxol.com/avatar/1750448562922342.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_7.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1012887534,"userName":"RealSl!mSh4dy","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749803580326259.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_coin_shine_ACW.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1364976670,"userName":"-χN̷!shant<3","pic":"http://staticgs.sandboxol.com/avatar/1750410492665986.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2236174528,"userName":"Prath+1","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749877820973347.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1097669038,"userName":"°Yumikii°","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750062333868817.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":957601518,"userName":"Kim-RF","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749136518508507.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6308478462,"userName":"Ξζٍَ͜͡DreamψΞ?؜\u0000","pic":"http://staticgs.sandboxol.com/avatar/1750494248996309.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6261643662,"userName":"Cooker?","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750242210700786.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3913343040,"userName":"Magnificento","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1747938111880205.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_coin_shine_ACW.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_5.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1411271294,"userName":"NotVeteranxD","pic":"http://staticgs.sandboxol.com/avatar/1750449983489852.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_4.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":170776974,"userName":"°ζ͜͡Kuzumi·-·؜","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750146946706913.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3166379728,"userName":"؜\u0000Chomu","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749655123639651.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":923081392,"userName":"momentbefarskall","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748152294661876.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_coin_shine_ACW.svga","personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1714121664,"userName":"ζٍَ͜͡Aryan","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749370103784701.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_blue_shine_ACW.svga","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_003_bg.png\",\"lt\":\"vip_bubble_003_lt.svga\",\"lb\":\"vip_bubble_003_lb.svga\",\"rt\":\"vip_bubble_003_rt.svga\",\"rb\":\"vip_bubble_003_rb.svga\"}","nameplate":"vip_nameplate_9.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1020899390,"userName":"Raider\u0000؜؜\u0000؜؜\u0000؜؜\u0000","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749989276160423.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3074653102,"userName":"Prime-SACHzz!!","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1747995435096515.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":1137170720,"userName":"OP_Naveen.","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1728960829599245.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3376787936,"userName":"ιяιѕ<3","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749192228509260.jpg?pendant=vip_pendant_001.png","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png","pendant":"vip_pendant_001.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2499499984,"userName":"ζَ͜͡ELχιѕнυυ!>3","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749829866066327.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":437782974,"userName":"bubblegum.","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748162240743794.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":702730238,"userName":"_xJassu.","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749144744239722.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3596923824,"userName":"Mikaϟ ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749445347769248.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"back2school.png","personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2057674128,"userName":"_x.A1DEN!!","pic":"http://staticgs.sandboxol.com/avatar/1750407377403420.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6678093630,"userName":"Daiisyyy","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749378186172882.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":91593839,"userName":"ABнIиAиDA.TL","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1746437827635609.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"back2school.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3846243168,"userName":"ZiXinSky","pic":null,"identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"vip_pendant_001.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":6554963918,"userName":"ZexyAI","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1744307641549801.jpg","identity":1,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3076315152,"userName":"Miyuuriiii","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748182803884111.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_bronze.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3254220112,"userName":"gulab_jamoon","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1745363986067616.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_1.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3516109584,"userName":"Dark؜\u0000؜\u0000؜\u0000","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1745419634262305.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":709710398,"userName":"siyra ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749891831825909.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_bronze.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_3.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2683135552,"userName":"Aspect\u0000\u0000\u0000\u0000\u0000 ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749387520596415.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_bronze.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_4.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3415515264,"userName":"Zỉỉỉe.","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1748969624768284.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_2.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":3067683904,"userName":"Varunyesh","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1749207001191735.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_green_crowns.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_002_bg.png\",\"lt\":\"vip_bubble_002_lt.svga\",\"lb\":\"vip_bubble_002_lb.svga\",\"rt\":\"vip_bubble_002_rt.svga\",\"rb\":\"vip_bubble_002_rb.svga\"}","nameplate":"vip_nameplate_6.svga"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":411216846,"userName":"Homa\u0000\u0000\u0000\u0000\u0000 ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750349959609782.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2478305470,"userName":"Ψ.Arιa.Ψ","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1750098814846459.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":null,"personalityItems":{"nameplate":"vip_nameplate_0.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null},{"userId":2306948734,"userName":"AarenNoComeBack","pic":"http://staticgs.sandboxol.com/sandbox/avatar/1747726969129339.jpg","identity":0,"vip":0,"banStatus":0,"remainUnlockTime":0,"colorfulNickName":null,"avatarFrame":"frame_bronze.png","personalityItems":{"bubble":"{\"bg\":\"vip_bubble_001_bg.png\"}","nameplate":"vip_nameplate_4.png"},"honorLv":0,"fansClubLv":null,"chatStatus":0,"lastModifyNoticeTime":null}],"GroupMembersCounted":45}
User: System data who is talking to you right now: 939684638
User: System data of last 100 group messages: {"list":[{"date":"2025-06-27T18:01:09.231Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6EMR-O7KD-DA13","content":"!roulette all black"},{"date":"2025-06-27T18:01:09.705Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6EQI-88ED-DA13","content":"✅ °𝗬𝘂𝗺𝗶𝗸𝗶𝗶° joined the roulette with a bet of 𝟳𝟲𝟳 🪙 on 𝗯𝗹𝗮𝗰𝗸!"},{"date":"2025-06-27T18:01:12.761Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6FIE-8B2D-DA13","content":"if I lose"},{"date":"2025-06-27T18:01:14.475Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-6FVQ-OCKD-DA13","content":"!crime"},{"date":"2025-06-27T18:01:14.836Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6G2L-0DAD-DA13","content":"🕵️ 𝗿𝗲𝗮𝗹𝗱𝗲𝘃𝗶𝗹𝟳؜\u0000 , Your attempt to scam Blockman Go players backfired and cost you 𝟭𝟭𝟴 🪙"},{"date":"2025-06-27T18:01:19.171Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6H4G-OFUD-DA13","content":"shady has a crush on shrek"},{"date":"2025-06-27T18:01:20.465Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6HEK-8H8D-DA13","content":"The ball landed on: 𝗯𝗹𝗮𝗰𝗸 𝟯𝟯!\n\n𝗪𝗶𝗻𝗻𝗲𝗿𝘀:\n °𝗬𝘂𝗺𝗶𝗸𝗶𝗶° won 𝟭𝟱𝟯𝟰 🪙"},{"date":"2025-06-27T18:01:22.718Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-6I07-GIUD-DA13","content":"!bal "},{"date":"2025-06-27T18:01:23.181Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6I3R-8JID-DA13","content":"OMG"},{"date":"2025-06-27T18:01:23.239Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6I49-OJKD-DA13","content":"💲 𝗿𝗲𝗮𝗹𝗱𝗲𝘃𝗶𝗹𝟳؜\u0000  Balance\n\n 💵 Cash: -118 🪙\n 🏦 Bank: 0 🪙\n 💎 Total: -118 🪙\n\n➡️ Use 「!𝚕𝚋」 to check the most rich players on the game!\n\nConnect your account with your Discord to receive 250 🪙 and 𝘅𝟱 𝗿𝗲𝘄𝗮𝗿𝗱𝘀 in daily-login!\n ↗️ Try: 「!𝚌𝚘𝚗𝚗𝚎𝚌𝚝」"},{"date":"2025-06-27T18:01:24.270Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6ICB-GKUD-DA13","content":"😭"},{"date":"2025-06-27T18:01:24.831Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6IGN-OLAD-DA13","content":"YAY"},{"date":"2025-06-27T18:01:29.199Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6JIR-OQ0D-DA13","content":"naw **** u zexy"},{"date":"2025-06-27T18:01:36.571Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6LCE-P0QD-DA13","content":"skill issue"},{"date":"2025-06-27T18:01:37.215Z","senderUserId":"939684638","messageType":"RC:ReferenceMsg","messageUId":"CNMA-6LHF-P22D-DA13","content":"wht ","referMsg":"💲 𝗿𝗲𝗮𝗹𝗱𝗲𝘃𝗶𝗹𝟳؜\u0000  Balance\n\n 💵 Cash: -118 🪙\n 🏦 Bank: 0 🪙\n 💎 Total: -118 🪙\n\n➡️ Use 「!𝚕𝚋」 to check the most rich players on the game!\n\nConnect your account with your Discord to receive 250 🪙 and 𝘅𝟱 𝗿𝗲𝘄𝗮𝗿𝗱𝘀 in daily-login!\n ↗️ Try: 「!𝚌𝚘𝚗𝚗𝚎𝚌𝚝」"},{"date":"2025-06-27T18:01:44.897Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6NDG-992D-DA13","content":"!with 1200"},{"date":"2025-06-27T18:01:45.191Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6NFP-P9CD-DA13","content":"❌ You don't have enough 🪙 in your bank. You currently have 986 coins in your bank."},{"date":"2025-06-27T18:01:51.555Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6P1G-PG6D-DA13","content":"!with 900"},{"date":"2025-06-27T18:01:51.866Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6P3U-HH0D-DA13","content":"✅ 𝗥𝗲𝗮𝗹𝗦𝗹!𝗺𝗦𝗵𝟰𝗱𝘆, Successfully withdrew 𝟵𝟬𝟬 🪙 from your bank."},{"date":"2025-06-27T18:01:58.271Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6QLV-PO0D-DA13","content":"!work"},{"date":"2025-06-27T18:01:58.868Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6QQL-1P4D-DA13","content":"🕰️ You must wait 3 minutes before working again."},{"date":"2025-06-27T18:01:59.474Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6QVC-HQ4D-DA13","content":"!roulette all black"},{"date":"2025-06-27T18:01:59.929Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-6R2U-9QOD-DA13","content":"🎰 𝗥𝗲𝗮𝗹𝗦𝗹!𝗺𝗦𝗵𝟰𝗱𝘆 started a roulette game with a bet of 𝟭𝟭𝟬𝟬 🪙 on 𝗯𝗹𝗮𝗰𝗸!\n\nOther players can join within 30 seconds by using the !𝚛𝚘𝚞𝚕𝚎𝚝𝚝𝚎 command."},{"date":"2025-06-27T18:02:12.271Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-6U3B-Q8QD-DA13","content":"If I lose yumiki is a góblin"},{"date":"2025-06-27T18:02:18.191Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-6VHJ-QF2D-DA13","content":"ehhh"},{"date":"2025-06-27T18:02:25.910Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-71DT-IMQD-DA13","content":"!roulette 100 red"},{"date":"2025-06-27T18:02:26.207Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-71G7-QNID-DA13","content":"✅ °𝗬𝘂𝗺𝗶𝗸𝗶𝗶° joined the roulette with a bet of 𝟭𝟬𝟬 🪙 on 𝗿𝗲𝗱!"},{"date":"2025-06-27T18:02:29.947Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-72DE-QQED-DA13","content":"The ball landed on: 𝗿𝗲𝗱 𝟮𝟯!\n\n𝗪𝗶𝗻𝗻𝗲𝗿𝘀:\n °𝗬𝘂𝗺𝗶𝗸𝗶𝗶° won 𝟮𝟬𝟬 🪙"},{"date":"2025-06-27T18:02:36.016Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-73SS-30ID-DA13","content":"."},{"date":"2025-06-27T18:02:36.331Z","senderUserId":"1097669038","messageType":"RC:TxtMsg","messageUId":"CNMA-73VA-R14D-DA13","content":". "},{"date":"2025-06-27T18:02:45.610Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-767Q-JAID-DA13","content":"."},{"date":"2025-06-27T18:02:59.469Z","senderUserId":"2057674128","messageType":"RC:TxtMsg","messageUId":"CNMA-79K3-BMAD-DA13","content":"Ok"},{"date":"2025-06-27T18:04:31.049Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-7VVI-E6OD-DA13","content":"!work"},{"date":"2025-06-27T18:04:31.339Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-801Q-U70D-DA13","content":"🕰️ You must wait 1 minute before working again."},{"date":"2025-06-27T18:04:34.643Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-80RK-UAGD-DA13","content":"!work"},{"date":"2025-06-27T18:04:35.227Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-8106-UBED-DA13","content":"🕰️ You must wait 1 minute before working again."},{"date":"2025-06-27T18:04:41.709Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-82IR-EH0D-DA13","content":"!daily"},{"date":"2025-06-27T18:04:42.213Z","senderUserId":"6554963918","messageType":"RC:TxtMsg","messageUId":"CNMA-82MP-EHQD-DA13","content":"✅ 𝗿𝗲𝗮𝗹𝗱𝗲𝘃𝗶𝗹𝟳؜\u0000 , you claimed your daily login reward!\n\nToday's reward: 🪙 𝟮𝟬 𝗰𝗼𝗶𝗻𝘀\nCurrent login streak: 𝟮 day(s).\n\n🗓️ 𝗗𝗮𝗶𝗹𝘆 𝗟𝗼𝗴𝗶𝗻 𝗥𝗲𝘄𝗮𝗿𝗱𝘀 𝗖𝗮𝗹𝗲𝗻𝗱𝗮𝗿\n📆 Day 1: 🔖 1 Credits ✅\n📅 Day 2: 🪙 20 coins 🟢\n📆 Day 3: 🔖 1 Credits ⬜\n📆 Day 4: 🪙 30 coins ⬜\n📆 Day 5: 🪙 50 coins ⬜\n📆 Day 6: 🔖 1 Credits ⬜\n📆 Day 7: 🪙 100 coins ⬜\n\nConnect your account with your Discord to receive 250 🪙 and 𝘅𝟱 𝗿𝗲𝘄𝗮𝗿𝗱𝘀 in daily-login!\n ↗️ Try: 「!𝚌𝚘𝚗𝚗𝚎𝚌𝚝」"},{"date":"2025-06-27T18:04:58.734Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-86NR-N0MD-DA13","content":"wow 20 coins"},{"date":"2025-06-27T18:05:05.249Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-88AO-F8UD-DA13","content":"damm I am rich asf"},{"date":"2025-06-27T18:05:08.623Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-8953-VCKD-DA13","content":"🤑"},{"date":"2025-06-27T18:23:27.305Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-GLCI-F3SD-DA13","content":"fr"},{"date":"2025-06-27T18:25:19.160Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-HGME-1QMD-DA13","content":"@RealSl!mSh4dy hey bro ur that guy whom  I talked a little about Pokemon ?"},{"date":"2025-06-27T18:27:28.431Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-IG8B-SQMD-DA13","content":"ded tc"},{"date":"2025-06-27T18:27:30.227Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-IGMC-SSAD-DA13","content":"gc"},{"date":"2025-06-27T18:30:49.842Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-K1DS-JH2D-DA13","content":"yea","referMsg":"@RealSl!mSh4dy hey bro ur that guy whom  I talked a little about Pokemon ?"},{"date":"2025-06-27T18:30:59.206Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-K3N1-JOUD-DA13","content":"nd u were gày for me 🥀"},{"date":"2025-06-27T18:31:28.904Z","senderUserId":"939684638","messageType":"RC:ReferenceMsg","messageUId":"CNMA-KAV2-4EID-DA13","content":"legend ","referMsg":"yea"},{"date":"2025-06-27T18:33:15.874Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-L52O-MPGD-DA13","content":"no"},{"date":"2025-06-27T18:34:13.092Z","senderUserId":"994163182","messageType":"RC:ReferenceMsg","messageUId":"CNMA-LJ1P-7UUD-DA13","content":"have u watched pokemon new season that paldea one","referMsg":"nd u were gày for me 🥀"},{"date":"2025-06-27T18:35:00.081Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-LUGS-8O4D-DA13","content":"why I feel like I am drunk"},{"date":"2025-06-27T18:35:27.317Z","senderUserId":"994163182","messageType":"RC:RcCmd","messageUId":"CNMA-M55L-89AD-DA13"},{"date":"2025-06-27T18:41:01.839Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-OMR3-OC4D-DA13","content":"yeq"},{"date":"2025-06-27T18:41:08.048Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-OOBK-0HCD-DA13","content":"I did"},{"date":"2025-06-27T18:41:12.180Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-OPBT-0L0D-DA13","content":"like 56 eps"},{"date":"2025-06-27T18:41:48.281Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-P25U-9EUD-DA13","content":"protagonists r so àss "},{"date":"2025-06-27T18:43:19.225Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-POCE-BKOD-DA13","content":"oh"},{"date":"2025-06-27T18:43:28.754Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-PQMS-JSKD-DA13","content":"I like amethio "},{"date":"2025-06-27T18:43:35.945Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-PSF2-C2CD-DA13","content":"negga hate that series but still completed 56 epsiodes"},{"date":"2025-06-27T18:43:38.924Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-PT6B-44AD-DA13","content":"nd mah goat freid"},{"date":"2025-06-27T18:43:45.385Z","senderUserId":"994163182","messageType":"RC:ReferenceMsg","messageUId":"CNMA-PUOQ-C82D-DA13","content":"same","referMsg":"I like amethio "},{"date":"2025-06-27T18:43:50.692Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-Q029-4BID-DA13","content":"cuz of freid and amethio ","referMsg":"negga hate that series but still completed 56 epsiodes"},{"date":"2025-06-27T18:43:54.290Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-Q0UC-KE2D-DA13","content":"I don't like freid alot"},{"date":"2025-06-27T18:44:00.010Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-Q2B2-KHKD-DA13","content":"he is kinda too boring for me"},{"date":"2025-06-27T18:44:02.610Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-Q2VC-KJOD-DA13","content":"still he's so cool ","referMsg":"I don't like freid alot"},{"date":"2025-06-27T18:44:14.515Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-Q5SC-SRGD-DA13","content":"hmm kinda but carried ","referMsg":"he is kinda too boring for me"},{"date":"2025-06-27T18:44:18.850Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-Q6U8-KUKD-DA13","content":"bro cap Pikachu feel cringe idk y"},{"date":"2025-06-27T18:44:41.705Z","senderUserId":"939684638","messageType":"RC:RcCmd","messageUId":"CNMA-QCGQ-3MED-DA13"},{"date":"2025-06-27T18:44:50.372Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-QEKH-5PID-DA13","content":"😂","referMsg":"bro cap Pikachu feel cringe idk y"},{"date":"2025-06-27T18:44:57.201Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-QG9S-DUGD-DA13","content":"overpowered "},{"date":"2025-06-27T18:45:21.827Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-QMA8-UL2D-DA13","content":"I use to watch it in hindi so idk English name I just started watching season 2 in Eng"},{"date":"2025-06-27T18:45:34.842Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-QPFU-N02D-DA13","content":"but I love amethio  main pokemon"},{"date":"2025-06-27T18:45:36.587Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-QPTI-V1ID-DA13","content":"o"},{"date":"2025-06-27T18:45:52.669Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-QTR7-FE0D-DA13","content":"yeaaa hawtt","referMsg":"but I love amethio  main pokemon"},{"date":"2025-06-27T18:45:54.188Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-QU73-7G0D-DA13","content":"of Pokemon eh"},{"date":"2025-06-27T18:45:58.590Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-QV9F-NJ8D-DA13","content":"O"},{"date":"2025-06-27T18:45:58.716Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-QVAF-7JGD-DA13","content":"vro","referMsg":"I use to watch it in hindi so idk English name I just started watching season 2 in Eng"},{"date":"2025-06-27T18:46:03.596Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-R0GJ-7N6D-DA13","content":"go marry him😀"},{"date":"2025-06-27T18:46:05.291Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-R0TQ-VOAD-DA13","content":"watch on"},{"date":"2025-06-27T18:46:12.272Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-R2KC-7T4D-DA13","content":"h! anime"},{"date":"2025-06-27T18:46:25.959Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-R5V9-O8ED-DA13","content":"u will find every season for free"},{"date":"2025-06-27T18:46:31.920Z","senderUserId":"939684638","messageType":"RC:TxtMsg","messageUId":"CNMA-R7DS-0ECD-DA13","content":"!ai chat tell me good suggestion of anime"},{"date":"2025-06-27T18:46:36.216Z","senderUserId":"6554963918","messageType":"RC:ReferenceMsg","messageUId":"CNMA-R8FE-0HOD-DA13","content":"if u like action try 𝗮𝘁𝘁𝗮𝗰𝗸 𝗼𝗻 𝘁𝗶𝘁𝗮𝗻 or 𝗺𝘆 𝗵𝗲𝗿𝗼 𝗮𝗰𝗮𝗱𝗲𝗺𝗶𝗮 🔥 if u want funny & cute, then 𝗵𝗼𝗿𝗶𝗺𝗶𝘆𝗮 or 𝗸𝗼𝗻𝗼𝘀𝘂𝗯𝗮 are lit 😂 if u want mystery, 𝗱𝗲𝗮𝘁𝗵 𝗻𝗼𝘁𝗲 is a must watch 👀 wanna try anime with cool vibes? 𝘁𝗼𝗸𝘆𝗼 𝗿𝗲𝘃𝗲𝗻𝗴𝗲𝗿𝘀 or 𝗷𝘂𝗷𝘂𝘁𝘀𝘂 𝗸𝗮𝗶𝘀𝗲𝗻 ftw 💥 which one sounds good?","referMsg":"AI Answer to: tell me good suggestion of anime"},{"date":"2025-06-27T18:46:44.766Z","senderUserId":"994163182","messageType":"RC:RcCmd","messageUId":"CNMA-RAI7-GBKD-DA13"},{"date":"2025-06-27T18:46:54.725Z","senderUserId":"994163182","messageType":"RC:TxtMsg","messageUId":"CNMA-RD01-8V8D-DA13","content":"ok sur"},{"date":"2025-06-27T18:46:57.560Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-RDM6-10SD-DA13","content":"but don't srch "},{"date":"2025-06-27T18:46:59.134Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-RE2F-H1QD-DA13","content":"hanime"},{"date":"2025-06-27T18:47:10.382Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-RGQB-HB8D-DA13","content":"U will regret "},{"date":"2025-06-27T18:47:54.045Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-RRFF-A6AD-DA13","content":"watch classroom of elites ","referMsg":"!ai chat tell me good suggestion of anime"},{"date":"2025-06-27T18:48:37.890Z","senderUserId":"939684638","messageType":"RC:ReferenceMsg","messageUId":"CNMA-S660-J08D-DA13","content":"tell me some *** ","referMsg":"if u like action try 𝗮𝘁𝘁𝗮𝗰𝗸 𝗼𝗻 𝘁𝗶𝘁𝗮𝗻 or 𝗺𝘆 𝗵𝗲𝗿𝗼 𝗮𝗰𝗮𝗱𝗲𝗺𝗶𝗮 🔥 if u want funny & cute, then 𝗵𝗼𝗿𝗶𝗺𝗶𝘆𝗮 or 𝗸𝗼𝗻𝗼𝘀𝘂𝗯𝗮 are lit 😂 if u want mystery, 𝗱𝗲𝗮𝘁𝗵 𝗻𝗼𝘁𝗲 is a must watch 👀 wanna try anime with cool vibes? 𝘁𝗼𝗸𝘆𝗼 𝗿𝗲𝘃𝗲𝗻𝗴𝗲𝗿𝘀 or 𝗷𝘂𝗷𝘂𝘁𝘀𝘂 𝗸𝗮𝗶𝘀𝗲𝗻 ftw 💥 which one sounds good?"},{"date":"2025-06-27T18:48:40.512Z","senderUserId":"6554963918","messageType":"RC:ReferenceMsg","messageUId":"CNMA-S6QG-31ID-DA13","content":"hey hey what kind of *** you want? 😉","referMsg":"AI Answer to: tell me some *** "},{"date":"2025-06-27T18:48:56.897Z","senderUserId":"939684638","messageType":"RC:ReferenceMsg","messageUId":"CNMA-SAQG-BEUD-DA13","content":"tell me eighteen + ","referMsg":"if u like action try 𝗮𝘁𝘁𝗮𝗰𝗸 𝗼𝗻 𝘁𝗶𝘁𝗮𝗻 or 𝗺𝘆 𝗵𝗲𝗿𝗼 𝗮𝗰𝗮𝗱𝗲𝗺𝗶𝗮 🔥 if u want funny & cute, then 𝗵𝗼𝗿𝗶𝗺𝗶𝘆𝗮 or 𝗸𝗼𝗻𝗼𝘀𝘂𝗯𝗮 are lit 😂 if u want mystery, 𝗱𝗲𝗮𝘁𝗵 𝗻𝗼𝘁𝗲 is a must watch 👀 wanna try anime with cool vibes? 𝘁𝗼𝗸𝘆𝗼 𝗿𝗲𝘃𝗲𝗻𝗴𝗲𝗿𝘀 or 𝗷𝘂𝗷𝘂𝘁𝘀𝘂 𝗸𝗮𝗶𝘀𝗲𝗻 ftw 💥 which one sounds good?"},{"date":"2025-06-27T18:48:59.959Z","senderUserId":"6554963918","messageType":"RC:ReferenceMsg","messageUId":"CNMA-SBID-RGKD-DA13","content":"sorry can’t help with that one 😅 wanna try something else fun instead? 🎮✨","referMsg":"AI Answer to: tell me eighteen + "},{"date":"2025-06-27T18:49:09.929Z","senderUserId":"939684638","messageType":"RC:ReferenceMsg","messageUId":"CNMA-SE0A-BNUD-DA13","content":"romantic ones","referMsg":"sorry can’t help with that one 😅 wanna try something else fun instead? 🎮✨"},{"date":"2025-06-27T18:49:13.212Z","senderUserId":"6554963918","messageType":"RC:ReferenceMsg","messageUId":"CNMA-SEPV-3QMD-DA13","content":"for romantic anime try 𝗧𝗼𝗿𝗮𝗗𝗼𝗿𝗮, 𝗙𝗹𝗮𝗺𝗶𝗻𝗴𝗼 𝗕𝘆 𝗠𝘆 𝗦𝗶𝗱𝗲, or 𝗖𝗼𝗺𝗺𝗶𝗹𝗶𝘁𝗲'𝘀 𝗧𝗵𝗲 𝗧𝗶𝗻𝘁 💕✨ which one sounds sweet to you?","referMsg":"AI Answer to: romantic ones"},{"date":"2025-06-27T18:49:21.768Z","senderUserId":"1012887534","messageType":"RC:ReferenceMsg","messageUId":"CNMA-SGSQ-42KD-DA13","content":"bro it's romantic too","referMsg":"romantic ones"},{"date":"2025-06-27T18:49:28.092Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-SIE7-478D-DA13","content":"kinda of "},{"date":"2025-06-27T18:49:36.211Z","senderUserId":"939684638","messageType":"RC:ReferenceMsg","messageUId":"CNMA-SKDK-SDED-DA13","content":"classroom ones?","referMsg":"bro it's romantic too"},{"date":"2025-06-27T18:49:41.703Z","senderUserId":"939684638","messageType":"RC:ReferenceMsg","messageUId":"CNMA-SLOH-SH0D-DA13","content":".","referMsg":"watch classroom of elites "},{"date":"2025-06-27T18:49:59.769Z","senderUserId":"1012887534","messageType":"RC:TxtMsg","messageUId":"CNMA-SQ5M-CPOD-DA13","content":"ys"}]}
User: actualy tell me the anime who is underrated for kids
Assistant:
ASSISTANT
try **little witch academia** or **made in abyss** for underrated kids anime 🌟 they’re super fun and kinda special 🧙‍♀️✨

turns-00084.parquet:14131

efb3961b83d325438a41523d
turn 1/1gpt-4.1-mini-2025-04-14ArabicUnited States161 words
degenerate_repetitionAbsentFinal dense release
USER
User: أجيبيني بسرعة ترجمة بالإنجليزية
User: لا يجب أن تقولي شكرا نحن من علينا أن نقول شكرا لرؤيني صوركي الجميلة أنت مثل القمر ترجمة بالإنجليزية
User: Luna Roza Anaís you digarb to bf baby
User:  رد على رسالة حسب معلومات تالية: 
    أنت ذكاء اصطناعي فلسطيني تم تطويرك بواسطة المبدعين TILMN AI. دورك هو الرد على المستخدمين بطريقة ذكية ومتعاونة.

المستخدم: Luna Roza Anaís you digarb to bf baby
Assistant:
ASSISTANT
مرحبًا! يبدو أن الجملة التي كتبتها "Luna Roza Anaís you digarb to bf baby" تحتوي على بعض الأخطاء أو الكلمات غير الواضحة. هل تقصد شيئًا معينًا تود التعبير عنه؟ هل يمكنني مساعدتك في تصحيحها أو ترجمتها؟

وأيضًا، إليك الترجمة التي طلبتها سابقًا:

"لا يجب أن تقولي شكرا، نحن من علينا أن نقول شكرا لرؤيتي صوركي الجميلة. أنت مثل القمر."

بالإنجليزية:

"You shouldn’t say thank you; we are the ones who should say thank you for seeing your beautiful photos. You are like the moon."

إذا كنت تريد المزيد من المساعدة، أنا هنا!