const b4a=require('b4a'),{
contract:{
hyperschema:{
encode:encodeContractStruct}
}
}
=require('../../../spec'),{
verifyAttestation,verifyDeviceResponse,decryptContactRequest,generateMailboxKeyPair,generateRoomCapabilities}
=require('../../invitations'),REGISTER_ROUTES=require('../registration');
const {
KeetContractError}
=require('../errors'),{
isMemberActive,getMemberForDeviceKey}
=require('../query'),{
profileRoomStats,profileContactStats,profileContactRequestStats}
=require('../stats/profile'),ROOM_STATUS_INDEX_TO_KEY=["isActive","isFullyMuted","isMentionsOnlyMuted",'isFavorite'],RoomStatus={
'IsActive':0x1,'IsFullyMuted':0x2,'IsMentionsOnlyMuted':0x3,'IsFavorite':0x4},CONTACT_STATUS_INDEX_TO_KEY=.isBlocked,ContactStatus={
'IsBlocked':0x1},CONTACT_REQUEST_STATUS_INDEX_TO_KEY=["isPending",'isAccepted','isRejected',"isDiscarded","isSeen"],ContactRequestStatus={
'IsPending':0x1,'IsAccepted':0x2,'IsRejected':0x3,'IsDiscarded':0x4,'IsSeen':0x5}
;
async function handleRunV3Migration({sharedRooms:_0x5d3322,blockedContacts:_0x5632df},{db:_0x462ba6,writer:_0x453b97}){
_0x5c67d0={
_0x485d5e:0x211,_0x444d4f:0x25,_0x52c831:0x1b1},_0x341e91={
_0x4df9e4:0x3aa},[_0x35a0e3,_0x2f91c7]=await Promise.all([getMemberForDeviceKey(_0x462ba6,_0x453b97.key),_0x462ba6.get("@keet-private-id/counters")]);
if(!isMemberActive(_0x35a0e3))throw KeetContractError.ABORT();
for(let _0xd28ced=-0x43de;_0xd28ced<_0x5d3322.length;_0xd28ced++){
const {
roomKey:_0x4ff9e6,initiator:_0x46daa5,fastForwardTo:_0x2408d2,encryptionKey:_0x103382,seed:_0x4feca2}
=_0x5d3322[_0xd28ced],_0x4640e6=generateRoomCapabilities(_0x4ff9e6,_0x4feca2),_0x1118e2=_0x4640e6.mailboxKeyPair.publicKey,_0x545d69={
'isActive':!![],'isFullyMuted':![],'isMentionsOnlyMuted':![]},_0x26078c=_0xd28ced+(0x1),_0x2b0555={
'roomKey':_0x4ff9e6,'encryptionKey':_0x103382,'mailbox':_0x1118e2,'clock':_0x26078c,'status':_0x545d69,'initiator':_0x46daa5,'fastForwardTo':_0x2408d2,'identitySwap':null}
;
await _0x462ba6.insert("@keet-private-id/rooms",_0x2b0555);
}
for(let _0x51a2b3=0x0;_0x51a2b3<_0x5632df.length;_0x51a2b3++){
const _0x47d0c0=_0x2f91c7?_0x2f91c7.contacts+(-0x2fe5):-0x366,_0x21871d=_0x5632df[_0x51a2b3],_0x2ba642={
'isBlocked':!![]},_0x55ef80={
'memberKey':_0x21871d,'clock':_0x47d0c0,'status':_0x2ba642,'mailbox':null,'roomKey':null}
;
await _0x462ba6.insert("@keet-private-id/contacts",_0x55ef80);
}
}
async function handleUpdateIdentity({identity:_0x57f2ab},{db:_0x271a5d,writer:_0x454257}){
_0x1eabf3={
_0x2ed25f:0x180,_0x2220c6:0x1b7},_0x17604a={
_0x35810b:0x332,_0x1f1f4d:0x149,_0x1c3838:0xd3},[_0x3b0c34,_0x3869d1]=await Promise.all([getMemberForDeviceKey(_0x271a5d,_0x454257.key),_0x271a5d.get("@keet-private-id/identity")]);
if(!isMemberActive(_0x3b0c34)||!_0x3869d1||!b4a.equals(_0x57f2ab.publicKey,_0x3869d1.publicKey))throw KeetContractError.ABORT();
_0x57f2ab.discoveryCoreKey&&(_0x3869d1.discoveryCoreKey=_0x57f2ab.discoveryCoreKey),await _0x271a5d.insert("@keet-private-id/identity",_0x3869d1);
}
async function handleUpdateSettings({key:_0x41675b,settings:_0x382d34},{db:_0x7b13e6,writer:_0x21d135}){
_0x4de831={
_0x1172c3:0x2c6,_0x54a195:0x140},_0x5bef84={
_0x1751fa:0x89,_0x5b8f20:0x12e}
;
const [_0x916b0,_0x5b580e]=await Promise.all([getMemberForDeviceKey(_0x7b13e6,_0x21d135.key),_0x7b13e6.get("@keet-private-id/settings")]);
if(!isMemberActive(_0x916b0))throw KeetContractError.ABORT();
const _0x56c373={
..._0x5b580e,[_0x41675b]:_0x382d34[_0x41675b]}
;
await _0x7b13e6.insert("@keet-private-id/settings",_0x56c373);
}
async function handleAddPendingInvitation({invitation:_0x10a29d},{db:_0x20f895,writer:_0x4001d1}){
_0x469c52={
_0x1c4021:0x52},_0x55ffbd={
_0x498c35:0x2f7,_0x4eca6a:0x48}
;
const _0x2df6a2=await getMemberForDeviceKey(_0x20f895,_0x4001d1.key);
if(!isMemberActive(_0x2df6a2))throw KeetContractError.ABORT();
await _0x20f895.insert("@keet-private-id/pending-invitations",_0x10a29d);
}
async function handleRemovePendingInvitation({id:_0x24928b},{db:_0x137a89,writer:_0x4b70a2}){
_0x479757={
_0x263143:0x15d,_0xa98190:0x100},_0xa38a72={
_0x19c0d5:0x201,_0x3ca583:0xd1}
;
const _0x269ac3=await getMemberForDeviceKey(_0x137a89,_0x4b70a2.key);
if(!isMemberActive(_0x269ac3))throw KeetContractError.ABORT();
await _0x137a89.delete("@keet-private-id/pending-invitations",{'id':_0x24928b});
}
async function handleResolvePendingInvitation({blindResponse:_0x35caaa},{db:_0x59e94b,writer:_0x4b513a,hostcalls:_0x2d8a1a}){
_0x3599e8={
_0x11cfb8:0x59,_0x48f0f8:0xad,_0x24f525:0x9d},_0xa73e85={
_0x427845:0xa7},_0x3e718a=await _0x59e94b.get("@keet/room-capabilities");
if(!_0x3e718a)throw KeetContractError.ABORT();
let _0x4b050b=null;
try{
const _0x536b8d=generateMailboxKeyPair(_0x2d8a1a.key,_0x3e718a.seed);
_0x4b050b=verifyDeviceResponse(_0x536b8d,_0x35caaa);
}catch(_0x2efe78){
throw KeetContractError.ABORT();
}
if(!_0x4b050b)throw KeetContractError.ABORT();
const {
id:_0xc0ee75,response:_0x17f063}
=_0x4b050b,{
roomKeys:_0x50671b}
=_0x17f063;
if(!_0x50671b.key||!_0x50671b.encryptionKey)throw KeetContractError.ABORT();
const [_0x49aa8a,_0x3803c3,_0x2fb4c0,_0x40c9e9]=await Promise.all([_0x59e94b.get("@keet-private-id/pending-invitations",{'id':_0xc0ee75}),_0x59e94b.get("@keet-private-id/rooms",{'roomKey':_0x50671b.key}),_0x59e94b.get("@keet-private-id/counters"),_0x59e94b.get("@keet/system-digest")]);
if(!_0x49aa8a)throw KeetContractError.ABORT();
const _0x85feb1=_0x2fb4c0?_0x2fb4c0.rooms+(0x1):0x0,_0x22c61b=_0x3803c3;
let _0x3bf501=_0x3803c3;
if(!_0x3bf501)_0x3bf501={
'clock':_0x85feb1,'roomKey':_0x50671b.key,'encryptionKey':_0x50671b.encryptionKey,'fastForwardTo':_0x50671b.fastForwardTo,'status':{
'isActive':!![],'isReadOnly':![]},'initiator':_0x49aa8a.initiator,'mailbox':_0x49aa8a.mailbox,'identitySwapV2':_0x49aa8a.identity}
;
else(!_0x3bf501.status.isActive||_0x40c9e9.abi.version>=0xc)&&(_0x3bf501.clock=_0x85feb1,_0x3bf501.status.isActive=!![],_0x3bf501.status.isReadOnly=![]);
await _0x59e94b.insert("@keet-private-id/rooms",_0x3bf501),await profileRoomStats(_0x59e94b,_0x3bf501,_0x22c61b);
if(_0x40c9e9.abi.version<--0x46eb)await _0x59e94b.delete("@keet-private-id/pending-invitations",{'id':_0xc0ee75});
else for await(const _0x533018 of _0x59e94b.find("@keet-private-id/pending-invitations")){
if(!b4a.equals(_0x533018.mailbox,_0x3bf501.mailbox))continue;
await _0x59e94b.delete("@keet-private-id/pending-invitations",_0x533018);
}
await _0x2d8a1a.ackWriter(_0x4b513a.key);
}
async function handleAddRoom({header:_0x1042ab,..._0x24c5bb},{db:_0x39dee5,writer:_0x4830c8}){
_0x4b4ca9={
_0x5045c0:0x42a,_0x4b68d3:0x50,_0x3a3f94:0xf},_0x5b7903={
_0x38eea6:0x164},[_0x105843,_0x1fa563,_0x3212d8,_0x2795b7,_0x165ffe]=await Promise.all([getMemberForDeviceKey(_0x39dee5,_0x4830c8.key),_0x39dee5.get("@keet-private-id/rooms",{'roomKey':_0x24c5bb.roomKey}),_0x39dee5.get("@keet-private-id/stats"),_0x39dee5.get("@keet-private-id/counters"),_0x39dee5.get("@keet/system-digest")]);
if(!_0x165ffe||!isMemberActive(_0x105843))throw KeetContractError.ABORT();
const _0x35dffd=_0x1fa563;
let _0x28a418=-0x4a6;
if(_0x165ffe.abi.version<-0x3f10){
if(_0x1fa563)_0x28a418=_0x1fa563.clock;
else _0x3212d8&&(_0x28a418=_0x3212d8.rooms+(0x1));
}else _0x2795b7&&(_0x28a418=_0x2795b7.rooms+(-0x5d1));
let _0x46086b=_0x1fa563?..status.isReadOnly;
!_0x46086b&&_0x24c5bb.isReadOnly&&(_0x46086b=!![]);
const _0x4bb011={
..._0x24c5bb,'clock':_0x28a418,'status':{
'isActive':!![],'isReadOnly':_0x46086b},'contact':_0x24c5bb.dm}
;
await _0x39dee5.insert("@keet-private-id/rooms",_0x4bb011),await profileRoomStats(_0x39dee5,_0x4bb011,_0x35dffd);
}
async function handleRemoveRoom({roomKey:_0x100580},{db:_0x44b9ac,writer:_0x52f7ad}){
_0x57553b={
_0x36a798:0x16a,_0x5758e7:0x1d2,_0x549c0f:0x9e},_0x54e558={
_0x2ef878:0x46d,_0x5b7b17:0xf0}
;
const _0x529026=await getMemberForDeviceKey(_0x44b9ac,_0x52f7ad.key);
if(!isMemberActive(_0x529026))return;
return _0x44b9ac.delete("@keet-private-id/rooms",{'roomKey':_0x100580});
}
async function handleUpdateRoomStatus({header:_0x2eaa41,roomKey:_0x5c32d3,key:_0xd59103,status:_0x51a96e},{db:_0x5d3437,writer:_0x59e94f}){
_0x138e96={
_0x1f6510:0x13f,_0x16184a:0x48,_0x1a6292:0x113},_0x2a4110={
_0xe9f80b:0x1db,_0x20b1e8:0xb0},[_0x18a30c,_0x48363e,_0x2c0feb,_0x3627a9]=await Promise.all([getMemberForDeviceKey(_0x5d3437,_0x59e94f.key),_0x5d3437.get("@keet-private-id/rooms",{'roomKey':_0x5c32d3}),_0x5d3437.get("@keet-private-id/counters"),_0x5d3437.get("@keet/system-digest")]);
if(!isMemberActive(_0x18a30c)||!_0x48363e)throw KeetContractError.ABORT();
if(!isValidRoomStatusKey(_0xd59103))throw KeetContractError.ABORT();
const _0x1a28de=_0x48363e,_0x302c7a=getRoomStatusKeyName(_0xd59103),_0x4d7500=_0x2c0feb.rooms+(0x1);
_0x48363e.status={
..._0x48363e.status,[_0x302c7a]:_0x51a96e[_0x302c7a]},_0x48363e.clock=_0x4d7500;
if(!_0x48363e.status.isActive&&_0x3627a9.abi.version>=0xc)for await(const _0x39e48a of _0x5d3437.find("@keet-private-id/pending-invitations")){
if(!b4a.equals(_0x39e48a.mailbox,_0x48363e.mailbox))continue;
await _0x5d3437.delete("@keet-private-id/pending-invitations",_0x39e48a);
}
await _0x5d3437.insert("@keet-private-id/rooms",_0x48363e),await profileRoomStats(_0x5d3437,_0x48363e,_0x1a28de);
}
async function handleAddContact({contact:{memberKey:_0x23a9a2,mailbox:_0x10f791,roomKey:_0x55ef00,status:_0x491393}},{db:_0x5a5267,writer:_0x75fa89}){
_0x77e9ae={
_0x4d3b38:0x2f8,_0x1eb7bf:0x72},_0x2ea1fe={
_0x553f04:0x178,_0x38fcec:0x70,_0x1d0a4f:0xa1},[_0x2c9163,_0x4ea26b,_0x580106]=await Promise.all([getMemberForDeviceKey(_0x5a5267,_0x75fa89.key),_0x5a5267.get("@keet-private-id/contacts",{'memberKey':_0x23a9a2}),_0x5a5267.get("@keet-private-id/counters")]);
if(!isMemberActive(_0x2c9163))throw KeetContractError.ABORT();
const _0x33dcea=_0x4ea26b;
const _0x1a13dd=_0x580106?_0x580106.contacts+(0x1):0x0;
let _0x25f5d0=_0x4ea26b;
_0x25f5d0?(_0x25f5d0.mailbox=_0x10f791,_0x25f5d0.status=_0x491393,_0x25f5d0.clock=_0x1a13dd):_0x25f5d0={
'memberKey':_0x23a9a2,'mailbox':_0x10f791,'status':_0x491393,'clock':_0x1a13dd},await _0x5a5267.insert("@keet-private-id/contacts",_0x25f5d0),await profileContactStats(_0x5a5267,_0x25f5d0,_0x33dcea);
}
async function handleUpdateContactStatus({memberKey:_0x43ca53,key:_0x3ed970,status:_0x51b453},{db:_0x420d42,writer:_0x41ba27}){
_0x1a0fd6={
_0x21c4cb:0x27f,_0x349bb3:0xe4},_0x190a93={
_0x489cd4:0x14d,_0x5ae170:0x1b3},[_0x17780c,_0x1a6463,_0x3f248d]=await Promise.all([getMemberForDeviceKey(_0x420d42,_0x41ba27.key),_0x420d42.get("@keet-private-id/contacts",{'memberKey':_0x43ca53}),_0x420d42.get("@keet-private-id/counters")]);
if(!isMemberActive(_0x17780c)||!_0x1a6463)throw KeetContractError.ABORT();
if(!isValidContactStatusKey(_0x3ed970))throw KeetContractError.ABORT();
const _0x24fc76=_0x1a6463,_0x41a0eb=getContactStatusKeyName(_0x3ed970);
_0x1a6463.status={
..._0x1a6463.status,[_0x41a0eb]:_0x51b453[_0x41a0eb]},_0x1a6463.clock=_0x3f248d?_0x3f248d.contacts+(0x1):0x0,await _0x420d42.insert("@keet-private-id/contacts",_0x1a6463),await profileContactStats(_0x420d42,_0x1a6463,_0x24fc76);
}
async function handleRemoveContact({memberKey:_0x50940b},{db:_0x4f0193,writer:_0x3996e9}){
_0x54fc6a={
_0x446ad3:0x438,_0x27cf5d:0x59,_0x977664:0x196},_0x35ab69={
_0x2858ba:0x1e7,_0x57a166:0x81,_0x352576:0xa3}
;
const [_0x210508,_0x3475d2]=await Promise.all([getMemberForDeviceKey(_0x4f0193,_0x3996e9.key),_0x4f0193.get("@keet-private-id/contacts",{'memberKey':_0x50940b})]);
if(!isMemberActive(_0x210508)||!_0x3475d2)throw KeetContractError.ABORT;
await _0x4f0193.delete("@keet-private-id/contacts",_0x3475d2);
}
async function handleAddContactRequest({blindRequest:_0x395198,header:_0x42934e},{db:_0x30af7d,hostcalls:_0x13b820,writer:_0xa92252}){
_0x8b3606={
_0x182204:0x36d,_0x3512d0:0x14e},_0x5a760e={
_0x5e971a:0x108}
;
const _0x42a720=await _0x30af7d.get("@keet/room-capabilities");
if(!_0x42a720)throw KeetContractError.ABORT();
let _0x57cecb=null;
try{
const _0x5a10d5=generateMailboxKeyPair(_0x13b820.key,_0x42a720.seed);
_0x57cecb=decryptContactRequest(_0x5a10d5,_0x395198);
}catch(_0x13105d){
throw KeetContractError.ABORT();
}
if(!_0x57cecb)throw KeetContractError.ABORT();
const {
body:_0x8e0cb8,attestation:_0x1e049f}
=_0x57cecb,{
sender:_0x5c9f00,keys:_0x1e40c1,mailbox:_0x23a150,message:_0xfb99cd}
=_0x8e0cb8;
const [_0x354ab3,_0x422149,_0x425f65]=await Promise.all([_0x30af7d.get("@keet-private-id/contacts",{'memberKey':_0x5c9f00.attestation.memberKey}),_0x30af7d.get("@keet-private-id/stats"),_0x30af7d.get("@keet/system-digest")]);
if(_0x354ab3&&_0x354ab3.status.isBlocked)throw KeetContractError.ABORT();
if(_0x354ab3&&_0x354ab3.roomKey&&_0x425f65.abi.version<-0x410)throw KeetContractError.ABORT();
const _0x29d8de=encodeContractStruct("@keet-private-id/contact-request-body",_0x8e0cb8),_0x258e83=encodeContractStruct("@keet/member-profile",_0x5c9f00.profile),_0x3361ec=verifyAttestation(_0x1e049f,_0x29d8de);
if(!_0x3361ec)throw KeetContractError.ABORT();
const _0x575da8=verifyAttestation(_0x5c9f00.attestation,_0x258e83);
if(!_0x575da8)throw KeetContractError.ABORT();
let _0x1fb8c7=!![];
const _0x5acd6d=_0x42934e.timestamp,_0x38e76c=_0x30af7d.find("@keet-private-id/pending-contact-requests-by-member",{'gte':{'memberKey':_0x5c9f00.attestation.memberKey},'lte':{'memberKey':_0x5c9f00.attestation.memberKey}});
for await(const _0x416bfa of _0x38e76c){
if(_0x416bfa.sentAt>_0x5acd6d){
_0x1fb8c7=![];
continue;
}
_0x416bfa.status.isPending=![],_0x416bfa.status.isDiscarded=!![],await _0x30af7d.insert("@keet-private-id/contact-requests-v2",_0x416bfa);
}
if(!_0x1fb8c7)return;
const _0x3036db=_0x422149?..contactRequests||0x0,_0xf8d913={
'isPending':!![]},_0x103afd={
'memberKey':_0x5c9f00.attestation.memberKey,'sender':_0x5c9f00.profile,'status':_0xf8d913,'clock':_0x3036db,'keys':_0x1e40c1,'mailbox':_0x23a150,'message':_0xfb99cd,'sentAt':_0x5acd6d}
;
await _0x30af7d.insert("@keet-private-id/contact-requests-v2",_0x103afd),await profileContactRequestStats(_0x30af7d,_0x103afd,null),await _0x13b820.ackWriter(_0xa92252.key);
}
async function handleUpdateContactRequestStatus({memberKey:_0xcd02b4,roomKey:_0x3fb646,key:_0x31ee76,status:_0x13c9d2},{db:_0x5dbd0c,writer:_0xff2a22}){
_0x25eff8={
_0x156aaf:0x1d9,_0x3f0574:0x179},_0x2dc769={
_0x37029f:0x3a7,_0x232e3e:0x22,_0x37cfcc:0xca}
;
if(!_0x3fb646)throw KeetContractError.ABORT();
const [_0x186551,_0x549d06,_0x197783]=await Promise.all([getMemberForDeviceKey(_0x5dbd0c,_0xff2a22.key),_0x5dbd0c.get("@keet-private-id/contact-requests-v2",{'memberKey':_0xcd02b4,'keys':{'key':_0x3fb646}}),_0x5dbd0c.get("@keet-private-id/counters")]);
if(!isMemberActive(_0x186551)||!_0x549d06)throw KeetContractError.ABORT();
if(!isValidContactRequestStatusKey(_0x31ee76))throw KeetContractError.ABORT();
const _0x2e2991=getContactRequestStatusKeyName(_0x31ee76),_0x53e24d=_0x549d06.sender,_0xa74f71=!_0x549d06.status.isAccepted&&_0x31ee76===ContactRequestStatus.IsAccepted,_0x2a6e8d=_0x31ee76===ContactRequestStatus.IsSeen;
if(!_0x2a6e8d&&_0x549d06.status.isAccepted)throw KeetContractError.ABORT();
const _0xd6c8ef={
'isPending':![],'isAccepted':![],'isRejected':![],'isDiscarded':![],'isSeen':_0x549d06.status.isSeen},_0x2820a1=_0x2a6e8d?_0x549d06.status:_0xd6c8ef;
_0x549d06.status={
..._0x2820a1,[_0x2e2991]:_0x13c9d2[_0x2e2991]}
;
(_0x549d06.status.isAccepted||_0x549d06.status.isRejected||_0x549d06.status.isDiscarded)&&(_0x549d06.status.isPending=![]);
await _0x5dbd0c.insert("@keet-private-id/contact-requests-v2",_0x549d06);
if(!_0xa74f71)return;
const _0xb37ef7={
'isActive':!![]},_0x53a419={
'isBlocked':![]},_0x52a078=(_0x197783?..rooms||0x0)+(-0x3d8f),_0x299c28=(_0x197783?..contacts||0x0)+(--0xfd7),_0x22ba7b={
'clock':_0x52a078,'roomKey':_0x549d06.keys.key,'encryptionKey':_0x549d06.keys.encryptionKey,'mailbox':_0x549d06.mailbox,'status':_0xb37ef7}
;
const _0x973dc={
'memberKey':_0x549d06.memberKey,'mailbox':_0x53e24d.mailbox,'clock':_0x299c28,'status':_0x53a419}
;
await _0x5dbd0c.insert("@keet-private-id/rooms",_0x22ba7b),await profileRoomStats(_0x5dbd0c,_0x22ba7b,null),await _0x5dbd0c.insert("@keet-private-id/contacts",_0x973dc),await profileContactStats(_0x5dbd0c,_0x973dc,null);
}
async function handleActivateContactRoom({memberKey:_0x166dbc},{db:_0x691e67,writer:_0x173c74}){
}
async function handleAddUnreadsKey({key:_0x1a20fc},{db:_0x33ab2f,writer:_0x34e49b}){
_0x19fc81={
_0x14bdc9:0x216,_0x54b584:0x90},_0x546991={
_0x4ebe7a:0x3c},_0x279633=await getMemberForDeviceKey(_0x33ab2f,_0x34e49b.key);
if(!isMemberActive(_0x279633))throw KeetContractError.ABORT();
await _0x33ab2f.insert("@keet-private-id/unreads",{'deviceKey':_0x34e49b.key,'key':_0x1a20fc});
}
async function handleRemoveUnreadsKey({key:_0x48719f},{db:_0xc0cb26,writer:_0x373300}){
_0x1689b8={
_0x2339a1:0xd5},_0x35fdf4={
_0x1112ae:0x526,_0xd5fdba:0xd8}
;
const _0x1da1e9=await getMemberForDeviceKey(_0xc0cb26,_0x373300.key);
if(!isMemberActive(_0x1da1e9))throw KeetContractError.ABORT();
await _0xc0cb26.delete("@keet-private-id/unreads",{'deviceKey':_0x373300.key,'key':_0x48719f});
}
function registerRoutes(_0x361831){
_0x2aa609={
_0x322f86:0x151,_0x1c10b3:0x1cb,_0x3ab55b:0xdb},_0x4d49ed={
_0x11b9c6:0x19e}
;
_0x361831.add("@keet-private-id/run-v3-migration",handleRunV3Migration),_0x361831.add("@keet-private-id/update-identity",handleUpdateIdentity),_0x361831.add("@keet-private-id/update-settings",handleUpdateSettings),_0x361831.add("@keet-private-id/add-room",handleAddRoom),_0x361831.add("@keet-private-id/remove-room",handleRemoveRoom),_0x361831.add("@keet-private-id/update-room-status",handleUpdateRoomStatus),_0x361831.add("@keet-private-id/add-pending-invitation",handleAddPendingInvitation),_0x361831.add("@keet-private-id/remove-pending-invitation",handleRemovePendingInvitation),_0x361831.add("@keet-private-id/resolve-pending-invitation",handleResolvePendingInvitation),_0x361831.add("@keet-private-id/add-contact",handleAddContact);
_0x361831.add("@keet-private-id/update-contact-status",handleUpdateContactStatus),_0x361831.add("@keet-private-id/remove-contact",handleRemoveContact),_0x361831.add("@keet-private-id/add-contact-request",handleAddContactRequest),_0x361831.add("@keet-private-id/update-contact-request-status",handleUpdateContactRequestStatus),_0x361831.add("@keet-private-id/activate-contact-room",handleActivateContactRoom),_0x361831.add("@keet-private-id/add-unreads-key",handleAddUnreadsKey),_0x361831.add("@keet-private-id/remove-unreads-key",handleRemoveUnreadsKey);
}
module.exports={
[REGISTER_ROUTES]:registerRoutes,'RoomStatus':RoomStatus,'ContactStatus':ContactStatus,'ContactRequestStatus':ContactRequestStatus}
;
function getRoomStatusKeyName(_0x22c0d8){
return ROOM_STATUS_INDEX_TO_KEY[_0x22c0d8-(0x1)];
}
function isValidRoomStatusKey(_0x3ab1b7){
_0x25a16f={
_0x4e473e:0x17c,_0x415c6e:0x118,_0x3fe1ea:0x30}
;
return _0x3ab1b7>=0x1&&_0x3ab1b7<=ROOM_STATUS_INDEX_TO_KEY.length;
}
function getContactStatusKeyName(_0x14c92d){
return CONTACT_STATUS_INDEX_TO_KEY[_0x14c92d-(-0x33bb)];
}
function isValidContactStatusKey(_0x3071f9){
return _0x3071f9>=--0xb79&&_0x3071f9<=CONTACT_STATUS_INDEX_TO_KEY.length;
}
function getContactRequestStatusKeyName(_0x42386d){
return CONTACT_REQUEST_STATUS_INDEX_TO_KEY[_0x42386d-(-0xc5b)];
}
function isValidContactRequestStatusKey(_0x13a7c1){
_0x8a8aa3={
_0xe4c02e:0x4f6,_0x11cf85:0x12a}
;
return _0x13a7c1>=-0x10d5&&_0x13a7c1<=CONTACT_REQUEST_STATUS_INDEX_TO_KEY.length;
}