fca-priyansh 16.0.0 → 17.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. package/Extra/Balancer.js +49 -0
  2. package/Extra/Bypass/956/index.js +234 -0
  3. package/Extra/Bypass/test/aaaa.json +170 -0
  4. package/Extra/Bypass/test/index.js +188 -0
  5. package/Extra/Database/index.js +249 -140
  6. package/Extra/ExtraAddons.js +35 -33
  7. package/Extra/ExtraFindUID.js +3 -1
  8. package/Extra/ExtraGetThread.js +303 -56
  9. package/Extra/ExtraUptimeRobot.js +15 -3
  10. package/Extra/Html/Classic/script.js +3 -3
  11. package/Extra/Security/AES_256_GCM/index.js +0 -0
  12. package/Extra/Security/Base/Step_1.js +6 -0
  13. package/Extra/Security/Base/Step_2.js +22 -0
  14. package/Extra/Security/Base/Step_3.js +22 -0
  15. package/Extra/Security/Base/index.js +191 -0
  16. package/Extra/Security/Index.js +5 -146
  17. package/Extra/Security/Step_1.js +4 -9
  18. package/Extra/Security/Step_2.js +2 -0
  19. package/Extra/Security/Step_3.js +4 -2
  20. package/Extra/Src/Change_Environment.js +1 -1
  21. package/Extra/Src/Check_Update.js +67 -0
  22. package/Extra/Src/History.js +2 -2
  23. package/Extra/Src/Instant_Update.js +65 -0
  24. package/Extra/Src/Premium.js +35 -38
  25. package/Extra/Src/Release_Memory.js +160 -0
  26. package/Extra/Src/Websocket.js +213 -0
  27. package/Extra/Src/image/checkmate.jpg +0 -0
  28. package/Extra/Src/test.js +28 -0
  29. package/Extra/Src/uuid.js +1 -1
  30. package/Func/AcceptAgreement.js +4 -5
  31. package/Func/ClearCache.js +7 -7
  32. package/Func/ReportV1.js +5 -5
  33. package/LICENSE +1 -4
  34. package/Language/index.json +59 -8
  35. package/Main.js +1444 -0
  36. package/README.md +198 -1
  37. package/broadcast.js +43 -37
  38. package/index.js +303 -1704
  39. package/logger.js +4 -4
  40. package/package.json +16 -11
  41. package/src/Dev_Horizon_Data.js +3 -3
  42. package/src/Dev_getThreadInfoOLD.js +422 -0
  43. package/src/Dev_shareTest2.js +68 -0
  44. package/src/Dev_shareTest3.js +71 -0
  45. package/src/Premium.js +8 -13
  46. package/src/Screenshot.js +4 -6
  47. package/src/editMessage.js +53 -0
  48. package/src/getAccessToken.js +0 -4
  49. package/src/getFriendsList.js +1 -1
  50. package/src/getMessage.js +26 -3
  51. package/src/getThreadHistory.js +1 -1
  52. package/src/getThreadInfo.js +237 -161
  53. package/src/getThreadInfoOLD.js +422 -0
  54. package/src/getThreadMain.js +1 -1
  55. package/src/getUID.js +3 -3
  56. package/src/getUserInfo.js +56 -73
  57. package/src/getUserInfoMain.js +2 -2
  58. package/src/getUserInfoV2.js +0 -4
  59. package/src/getUserInfoV3.js +3 -3
  60. package/src/getUserInfoV4.js +5 -5
  61. package/src/getUserInfoV5.js +4 -4
  62. package/src/listenMqtt.js +905 -625
  63. package/src/listenMqttV1.js +846 -0
  64. package/src/sendMessage.js +54 -2
  65. package/src/sendMqttMessage.js +71 -0
  66. package/src/setPostReaction.js +3 -3
  67. package/src/shareContact.js +55 -0
  68. package/src/shareLink.js +58 -0
  69. package/src/unsendMessage.js +28 -20
  70. package/src/unsendMqttMessage.js +66 -0
  71. package/utils.js +1567 -138
  72. package/.gitattributes +0 -2
  73. package/gitattributes +0 -2
  74. package/gitignore.txt +0 -10
package/utils.js CHANGED
@@ -16,7 +16,7 @@ var request = bluebird.promisify(require("request").defaults({ jar: true }));
16
16
  */
17
17
 
18
18
  function setProxy(url) {
19
- if (typeof url == undefined) return request = bluebird.promisify(require("request").defaults({ jar: true }));
19
+ if (typeof url == "undefined") return request = bluebird.promisify(require("request").defaults({ jar: true }));
20
20
  return request = bluebird.promisify(require("request").defaults({ jar: true, proxy: url }));
21
21
  }
22
22
 
@@ -723,18 +723,18 @@ function formatAttachment(attachments, attachmentIds, attachmentMap, shareMap) {
723
723
  */
724
724
 
725
725
  function formatDeltaMessage(m) {
726
- var md = m.delta.messageMetadata;
726
+ var md = m.messageMetadata;
727
727
  var mdata =
728
- m.delta.data === undefined ? [] :
729
- m.delta.data.prng === undefined ? [] :
730
- JSON.parse(m.delta.data.prng);
728
+ m.data === undefined ? [] :
729
+ m.data.prng === undefined ? [] :
730
+ JSON.parse(m.data.prng);
731
731
  var m_id = mdata.map((/** @type {{ i: any; }} */u) => u.i);
732
732
  var m_offset = mdata.map((/** @type {{ o: any; }} */u) => u.o);
733
733
  var m_length = mdata.map((/** @type {{ l: any; }} */u) => u.l);
734
734
  var mentions = {};
735
- var body = m.delta.body || "";
735
+ var body = m.body || "";
736
736
  var args = body == "" ? [] : body.trim().split(/\s+/);
737
- for (var i = 0; i < m_id.length; i++) mentions[m_id[i]] = m.delta.body.substring(m_offset[i], m_offset[i] + m_length[i]);
737
+ for (var i = 0; i < m_id.length; i++) mentions[m_id[i]] = m.body.substring(m_offset[i], m_offset[i] + m_length[i]);
738
738
 
739
739
  return {
740
740
  type: "message",
@@ -743,11 +743,11 @@ function formatDeltaMessage(m) {
743
743
  messageID: md.messageId,
744
744
  args: args,
745
745
  body: body,
746
- attachments: (m.delta.attachments || []).map((/** @type {any} */v) => _formatAttachment(v)),
746
+ attachments: (m.attachments || []).map((/** @type {any} */v) => _formatAttachment(v)),
747
747
  mentions: mentions,
748
748
  timestamp: md.timestamp,
749
749
  isGroup: !!md.threadKey.threadFbId,
750
- participantIDs: m.delta.participants || []
750
+ participantIDs: m.participants || []
751
751
  };
752
752
  }
753
753
 
@@ -843,7 +843,7 @@ function formatHistoryMessage(m) {
843
843
  function getAdminTextMessageType(m) {
844
844
  switch (m.type) {
845
845
  case "joinable_group_link_mode_change":
846
- return "log:link-status"
846
+ return "log:link-status";
847
847
  case "magic_words":
848
848
  return "log:magic-words";
849
849
  case "change_thread_theme":
@@ -861,6 +861,8 @@ function getAdminTextMessageType(m) {
861
861
  case "messenger_call_log":
862
862
  case "participant_joined_group_call":
863
863
  return "log:thread-call";
864
+ case "pin_messages_v2":
865
+ return "log:thread-pinned";
864
866
  }
865
867
  }
866
868
 
@@ -869,32 +871,1339 @@ function getAdminTextMessageType(m) {
869
871
  */
870
872
 
871
873
  function getGenderByPhysicalMethod(name) {
872
- var GirlName = ["PRIYANSHI", "VANSHI", "TANIYA", "KAVYA", "AASHIKA", "AKSHITA", "ANSHIKA", "ANUSHKA", "ANKITA", "NEHA", "PARI", "PRIYA", "PRITI", "SANIA", "SONA", "SONIA", "MARRIYAM", "MAMTA", "ANU", "LOVELY", "VISHAKA", "DIYA", "DEEPIKA", "KIRAN", "POONAM", "SANA", "NAUGHTY", "ZARA", "AARTI", "QUEEN", "ANEE", "SAFIYA", "MAHI", "JOYA", "ALIKA", "ZOYA", "JASMINE", "BABY", "ZAIFA", "RANI", "BACHI", "SHALU", "LY", "HÒA", "OANH", "HƯƠNG", "HẰNG", "QUỲNH", "HẠNH", "NHIÊN", "NHẠN"];
873
-
874
- var BoyName = ["PRIYANSHU", "PRIYANSH", "PRINCE", "AAKASH", "CHINMAY", "MANISH", "AWAIS", "PINTU", "ABHISHEK", "KUSHAL", "VIKAS", "SHIVANSH", "ARYAN", "ARUN", "AADI", "PANDA", "AJAY", "USMAN", "TERA", "FAISAL", "KHAN", "RAJPUT", "AAKASH", "AHMAD", "RAMESH", "THỊNH", "TÒA", "TRIẾT", "TRUNG", "TRƯỜNG", "TUẤN", "NHÂN", "VŨ", "VINH", "PHONG", "PHÚC", "QUÂN", "QUANG", "SƠN", "TÀI", "THẮNG", "ĐĂNG", "VĂN", "VĨ", "QUANG", "YASH"];
875
-
876
- var OtherName = ["ANH", "THANH", "TÂM", "DƯƠNG", "AN", "LÂM", "MIÊN", "TÚ", "LÂM", "BẰNG", "KHÁNH", "NHẬT", "VỸ", ".",",","/","%", "&","*","-","+"];
877
-
874
+ const female_name = [
875
+ "Phương Chi",
876
+ "An Bình",
877
+ "An Di",
878
+ "An Hạ",
879
+ "An Hằng",
880
+ "An Khê",
881
+ "An Nhiên",
882
+ "An Nhàn",
883
+ "Anh Chi",
884
+ "Anh Hương",
885
+ "Anh Mai",
886
+ "Anh Phương",
887
+ "Anh Thi",
888
+ "Anh Thy",
889
+ "Anh Thơ",
890
+ "Anh Thư",
891
+ "Anh Thảo",
892
+ "Anh Vũ",
893
+ "Anh Ðào",
894
+ "Ban Mai",
895
+ "Bình Minh",
896
+ "Bình Yên",
897
+ "Bích Chiêu",
898
+ "Bích Châu",
899
+ "Bích Duyên",
900
+ "Bích Hiền",
901
+ "Bích Huệ",
902
+ "Bích Hà",
903
+ "Bích Hạnh",
904
+ "Bích Hải",
905
+ "Bích Hảo",
906
+ "Bích Hậu",
907
+ "Bích Hằng",
908
+ "Bích Hồng",
909
+ "Bích Hợp",
910
+ "Bích Lam",
911
+ "Bích Liên",
912
+ "Bích Loan",
913
+ "Bích Nga",
914
+ "Bích Ngà",
915
+ "Bích Ngân",
916
+ "Bích Ngọc",
917
+ "Bích Như",
918
+ "Bích Phượng",
919
+ "Bích Quyên",
920
+ "Bích Quân",
921
+ "Bích San",
922
+ "Bích Thoa",
923
+ "Bích Thu",
924
+ "Bích Thảo",
925
+ "Bích Thủy",
926
+ "Bích Trang",
927
+ "Bích Trâm",
928
+ "Bích Ty",
929
+ "Bích Vân",
930
+ "Bích Ðiệp",
931
+ "Bích Ðào",
932
+ "Băng Băng",
933
+ "Băng Tâm",
934
+ "Bạch Cúc",
935
+ "Bạch Hoa",
936
+ "Bạch Kim",
937
+ "Bạch Liên",
938
+ "Bạch Loan",
939
+ "Bạch Mai",
940
+ "Bạch Quỳnh",
941
+ "Bạch Trà",
942
+ "Bạch Tuyết",
943
+ "Bạch Vân",
944
+ "Bạch Yến",
945
+ "Bảo Anh",
946
+ "Bảo Bình",
947
+ "Bảo Châu",
948
+ "Bảo Huệ",
949
+ "Bảo Hà",
950
+ "Bảo Hân",
951
+ "Bảo Lan",
952
+ "Bảo Lễ",
953
+ "Bảo Ngọc",
954
+ "Bảo Phương",
955
+ "Bảo Quyên",
956
+ "Bảo Quỳnh",
957
+ "Bảo Thoa",
958
+ "Bảo Thúy",
959
+ "Bảo Tiên",
960
+ "Bảo Trâm",
961
+ "Bảo Trân",
962
+ "Bảo Trúc",
963
+ "Bảo Uyên",
964
+ "Bảo Vy",
965
+ "Bảo Vân",
966
+ "Bội Linh",
967
+ "Cam Thảo",
968
+ "Chi Lan",
969
+ "Chi Mai",
970
+ "Chiêu Dương",
971
+ "Cát Cát",
972
+ "Cát Linh",
973
+ "Cát Ly",
974
+ "Cát Tiên",
975
+ "Cát Tường",
976
+ "Cẩm Hiền",
977
+ "Cẩm Hường",
978
+ "Cẩm Hạnh",
979
+ "Cẩm Linh",
980
+ "Cẩm Liên",
981
+ "Cẩm Ly",
982
+ "Cẩm Nhi",
983
+ "Cẩm Nhung",
984
+ "Cẩm Thúy",
985
+ "Cẩm Tú",
986
+ "Cẩm Vân",
987
+ "Cẩm Yến",
988
+ "Di Nhiên",
989
+ "Diên Vỹ",
990
+ "Diễm Chi",
991
+ "Diễm Châu",
992
+ "Diễm Hương",
993
+ "Diễm Hạnh",
994
+ "Diễm Hằng",
995
+ "Diễm Khuê",
996
+ "Diễm Kiều",
997
+ "Diễm Liên",
998
+ "Diễm Lộc",
999
+ "Diễm My",
1000
+ "Diễm Phúc",
1001
+ "Diễm Phương",
1002
+ "Diễm Phước",
1003
+ "Diễm Phượng",
1004
+ "Diễm Quyên",
1005
+ "Diễm Quỳnh",
1006
+ "Diễm Thúy",
1007
+ "Diễm Thư",
1008
+ "Diễm Thảo",
1009
+ "Diễm Trang",
1010
+ "Diễm Trinh",
1011
+ "Diễm Uyên",
1012
+ "Diệp Anh",
1013
+ "Diệp Vy",
1014
+ "Diệu Anh",
1015
+ "Diệu Hiền",
1016
+ "Diệu Hoa",
1017
+ "Diệu Huyền",
1018
+ "Diệu Hương",
1019
+ "Diệu Hạnh",
1020
+ "Diệu Hằng",
1021
+ "Diệu Hồng",
1022
+ "Diệu Lan",
1023
+ "Diệu Linh",
1024
+ "Diệu Loan",
1025
+ "Diệu Nga",
1026
+ "Diệu Ngà",
1027
+ "Diệu Ngọc",
1028
+ "Diệu Nương",
1029
+ "Diệu Thiện",
1030
+ "Diệu Thúy",
1031
+ "Diệu Vân",
1032
+ "Diệu Ái",
1033
+ "Duy Hạnh",
1034
+ "Duy Mỹ",
1035
+ "Duy Uyên",
1036
+ "Duyên Hồng",
1037
+ "Duyên My",
1038
+ "Duyên Mỹ",
1039
+ "Duyên Nương",
1040
+ "Dã Lan",
1041
+ "Dã Lâm",
1042
+ "Dã Thảo",
1043
+ "Dạ Hương",
1044
+ "Dạ Lan",
1045
+ "Dạ Nguyệt",
1046
+ "Dạ Thi",
1047
+ "Dạ Thảo",
1048
+ "Dạ Yến",
1049
+ "Gia Hân",
1050
+ "Gia Khanh",
1051
+ "Gia Linh",
1052
+ "Gia Nhi",
1053
+ "Gia Quỳnh",
1054
+ "Giang Thanh",
1055
+ "Giang Thiên",
1056
+ "Giao Hưởng",
1057
+ "Giao Kiều",
1058
+ "Giao Linh",
1059
+ "Giáng Ngọc",
1060
+ "Giáng Tiên",
1061
+ "Giáng Uyên",
1062
+ "Hiếu Giang",
1063
+ "Hiếu Hạnh",
1064
+ "Hiếu Khanh",
1065
+ "Hiếu Minh",
1066
+ "Hiền Chung",
1067
+ "Hiền Hòa",
1068
+ "Hiền Mai",
1069
+ "Hiền Nhi",
1070
+ "Hiền Nương",
1071
+ "Hiền Thục",
1072
+ "Hiểu Lam",
1073
+ "Hiểu Vân",
1074
+ "Hoa Liên",
1075
+ "Hoa Lý",
1076
+ "Hoa Thiên",
1077
+ "Hoa Tiên",
1078
+ "Hoa Tranh",
1079
+ "Hoài An",
1080
+ "Hoài Giang",
1081
+ "Hoài Hương",
1082
+ "Hoài Phương",
1083
+ "Hoài Thương",
1084
+ "Hoài Trang",
1085
+ "Hoài Vỹ",
1086
+ "Hoàn Châu",
1087
+ "Hoàn Vi",
1088
+ "Hoàng Cúc",
1089
+ "Hoàng Hà",
1090
+ "Hoàng Kim",
1091
+ "Hoàng Lan",
1092
+ "Hoàng Mai",
1093
+ "Hoàng Miên",
1094
+ "Hoàng Nguyên",
1095
+ "Hoàng Oanh",
1096
+ "Hoàng Sa",
1097
+ "Hoàng Thư",
1098
+ "Hoàng Xuân",
1099
+ "Hoàng Yến",
1100
+ "Hoạ Mi",
1101
+ "Huyền Anh",
1102
+ "Huyền Diệu",
1103
+ "Huyền Linh",
1104
+ "Huyền Ngọc",
1105
+ "Huyền Nhi",
1106
+ "Huyền Thoại",
1107
+ "Huyền Thư",
1108
+ "Huyền Trang",
1109
+ "Huyền Trâm",
1110
+ "Huyền Trân",
1111
+ "Huệ An",
1112
+ "Huệ Hương",
1113
+ "Huệ Hồng",
1114
+ "Huệ Lan",
1115
+ "Huệ Linh",
1116
+ "Huệ Lâm",
1117
+ "Huệ My",
1118
+ "Huệ Phương",
1119
+ "Huệ Thương",
1120
+ "Huệ Ân",
1121
+ "Huỳnh Anh",
1122
+ "Hà Giang",
1123
+ "Hà Liên",
1124
+ "Hà Mi",
1125
+ "Hà My",
1126
+ "Hà Nhi",
1127
+ "Hà Phương",
1128
+ "Hà Thanh",
1129
+ "Hà Tiên",
1130
+ "Hàm Duyên",
1131
+ "Hàm Nghi",
1132
+ "Hàm Thơ",
1133
+ "Hàm Ý",
1134
+ "Hương Chi",
1135
+ "Hương Giang",
1136
+ "Hương Lan",
1137
+ "Hương Liên",
1138
+ "Hương Ly",
1139
+ "Hương Lâm",
1140
+ "Hương Mai",
1141
+ "Hương Nhi",
1142
+ "Hương Thu",
1143
+ "Hương Thảo",
1144
+ "Hương Thủy",
1145
+ "Hương Tiên",
1146
+ "Hương Trang",
1147
+ "Hương Trà",
1148
+ "Hương Xuân",
1149
+ "Hướng Dương",
1150
+ "Hạ Băng",
1151
+ "Hạ Giang",
1152
+ "Hạ Phương",
1153
+ "Hạ Tiên",
1154
+ "Hạ Uyên",
1155
+ "Hạ Vy",
1156
+ "Hạc Cúc",
1157
+ "Hạnh Chi",
1158
+ "Hạnh Dung",
1159
+ "Hạnh Linh",
1160
+ "Hạnh My",
1161
+ "Hạnh Nga",
1162
+ "Hạnh Nhơn",
1163
+ "Hạnh Phương",
1164
+ "Hạnh San",
1165
+ "Hạnh Thảo",
1166
+ "Hạnh Trang",
1167
+ "Hạnh Vi",
1168
+ "Hải Anh",
1169
+ "Hải Châu",
1170
+ "Hải Duyên",
1171
+ "Hải Dương",
1172
+ "Hải Miên",
1173
+ "Hải My",
1174
+ "Hải Mỹ",
1175
+ "Hải Ngân",
1176
+ "Hải Nhi",
1177
+ "Hải Phương",
1178
+ "Hải Phượng",
1179
+ "Hải San",
1180
+ "Hải Sinh",
1181
+ "Hải Thanh",
1182
+ "Hải Thảo",
1183
+ "Hải Thụy",
1184
+ "Hải Uyên",
1185
+ "Hải Vy",
1186
+ "Hải Vân",
1187
+ "Hải Yến",
1188
+ "Hải Ân",
1189
+ "Hải Ðường",
1190
+ "Hảo Nhi",
1191
+ "Hằng Anh",
1192
+ "Hằng Nga",
1193
+ "Họa Mi",
1194
+ "Hồ Diệp",
1195
+ "Hồng Anh",
1196
+ "Hồng Bạch Thảo",
1197
+ "Hồng Châu",
1198
+ "Hồng Diễm",
1199
+ "Hồng Giang",
1200
+ "Hồng Hoa",
1201
+ "Hồng Hà",
1202
+ "Hồng Hạnh",
1203
+ "Hồng Khanh",
1204
+ "Hồng Khuê",
1205
+ "Hồng Khôi",
1206
+ "Hồng Linh",
1207
+ "Hồng Liên",
1208
+ "Hồng Lâm",
1209
+ "Hồng Mai",
1210
+ "Hồng Nga",
1211
+ "Hồng Ngân",
1212
+ "Hồng Ngọc",
1213
+ "Hồng Nhung",
1214
+ "Hồng Như",
1215
+ "Hồng Nhạn",
1216
+ "Hồng Oanh",
1217
+ "Hồng Phúc",
1218
+ "Hồng Phương",
1219
+ "Hồng Quế",
1220
+ "Hồng Thu",
1221
+ "Hồng Thúy",
1222
+ "Hồng Thư",
1223
+ "Hồng Thảo",
1224
+ "Hồng Thắm",
1225
+ "Hồng Thủy",
1226
+ "Hồng Trúc",
1227
+ "Hồng Tâm",
1228
+ "Hồng Vân",
1229
+ "Hồng Xuân",
1230
+ "Hồng Ðiệp",
1231
+ "Hồng Ðào",
1232
+ "Hồng Đăng",
1233
+ "Khiết Linh",
1234
+ "Khiết Tâm",
1235
+ "Khuê Trung",
1236
+ "Khánh Chi",
1237
+ "Khánh Giang",
1238
+ "Khánh Giao",
1239
+ "Khánh Huyền",
1240
+ "Khánh Hà",
1241
+ "Khánh Hằng",
1242
+ "Khánh Linh",
1243
+ "Khánh Ly",
1244
+ "Khánh Mai",
1245
+ "Khánh My",
1246
+ "Khánh Ngân",
1247
+ "Khánh Ngọc",
1248
+ "Khánh Quyên",
1249
+ "Khánh Quỳnh",
1250
+ "Khánh Thủy",
1251
+ "Khánh Trang",
1252
+ "Khánh Vi",
1253
+ "Khánh Vy",
1254
+ "Khánh Vân",
1255
+ "Khúc Lan",
1256
+ "Khả Khanh",
1257
+ "Khả Tú",
1258
+ "Khả Ái",
1259
+ "Khải Ca",
1260
+ "Khải Hà",
1261
+ "Khải Tâm",
1262
+ "Kim Anh",
1263
+ "Kim Chi",
1264
+ "Kim Cương",
1265
+ "Kim Dung",
1266
+ "Kim Duyên",
1267
+ "Kim Hoa",
1268
+ "Kim Hương",
1269
+ "Kim Khanh",
1270
+ "Kim Khuyên",
1271
+ "Kim Khánh",
1272
+ "Kim Lan",
1273
+ "Kim Liên",
1274
+ "Kim Loan",
1275
+ "Kim Ly",
1276
+ "Kim Mai",
1277
+ "Kim Ngân",
1278
+ "Kim Ngọc",
1279
+ "Kim Oanh",
1280
+ "Kim Phượng",
1281
+ "Kim Quyên",
1282
+ "Kim Sa",
1283
+ "Kim Thanh",
1284
+ "Kim Thoa",
1285
+ "Kim Thu",
1286
+ "Kim Thy",
1287
+ "Kim Thông",
1288
+ "Kim Thư",
1289
+ "Kim Thảo",
1290
+ "Kim Thủy",
1291
+ "Kim Trang",
1292
+ "Kim Tuyến",
1293
+ "Kim Tuyết",
1294
+ "Kim Tuyền",
1295
+ "Kim Xuyến",
1296
+ "Kim Xuân",
1297
+ "Kim Yến",
1298
+ "Kim Ánh",
1299
+ "Kim Đan",
1300
+ "Kiết Hồng",
1301
+ "Kiết Trinh",
1302
+ "Kiều Anh",
1303
+ "Kiều Diễm",
1304
+ "Kiều Dung",
1305
+ "Kiều Giang",
1306
+ "Kiều Hoa",
1307
+ "Kiều Hạnh",
1308
+ "Kiều Khanh",
1309
+ "Kiều Loan",
1310
+ "Kiều Mai",
1311
+ "Kiều Minh",
1312
+ "Kiều Mỹ",
1313
+ "Kiều Nga",
1314
+ "Kiều Nguyệt",
1315
+ "Kiều Nương",
1316
+ "Kiều Thu",
1317
+ "Kiều Trang",
1318
+ "Kiều Trinh",
1319
+ "Kỳ Anh",
1320
+ "Kỳ Diệu",
1321
+ "Kỳ Duyên",
1322
+ "Lam Giang",
1323
+ "Lam Hà",
1324
+ "Lam Khê",
1325
+ "Lam Ngọc",
1326
+ "Lam Tuyền",
1327
+ "Lan Anh",
1328
+ "Lan Chi",
1329
+ "Lan Hương",
1330
+ "Lan Khuê",
1331
+ "Lan Ngọc",
1332
+ "Lan Nhi",
1333
+ "Lan Phương",
1334
+ "Lan Thương",
1335
+ "Lan Trúc",
1336
+ "Lan Vy",
1337
+ "Linh Chi",
1338
+ "Linh Châu",
1339
+ "Linh Duyên",
1340
+ "Linh Giang",
1341
+ "Linh Hà",
1342
+ "Linh Lan",
1343
+ "Linh Nhi",
1344
+ "Linh Phương",
1345
+ "Linh Phượng",
1346
+ "Linh San",
1347
+ "Linh Trang",
1348
+ "Linh Ðan",
1349
+ "Liên Chi",
1350
+ "Liên Hoa",
1351
+ "Liên Hương",
1352
+ "Liên Như",
1353
+ "Liên Phương",
1354
+ "Liên Trân",
1355
+ "Liễu Oanh",
1356
+ "Loan Châu",
1357
+ "Ly Châu",
1358
+ "Lâm Nhi",
1359
+ "Lâm Oanh",
1360
+ "Lâm Tuyền",
1361
+ "Lâm Uyên",
1362
+ "Lê Quỳnh",
1363
+ "Lưu Ly",
1364
+ "Lệ Băng",
1365
+ "Lệ Chi",
1366
+ "Lệ Giang",
1367
+ "Lệ Hoa",
1368
+ "Lệ Huyền",
1369
+ "Lệ Khanh",
1370
+ "Lệ Nga",
1371
+ "Lệ Nhi",
1372
+ "Lệ Quyên",
1373
+ "Lệ Quân",
1374
+ "Lệ Thanh",
1375
+ "Lệ Thu",
1376
+ "Lệ Thủy",
1377
+ "Lộc Uyên",
1378
+ "Lộc Uyển",
1379
+ "Lục Bình",
1380
+ "Mai Anh",
1381
+ "Mai Chi",
1382
+ "Mai Châu",
1383
+ "Mai Hiền",
1384
+ "Mai Hà",
1385
+ "Mai Hương",
1386
+ "Mai Hạ",
1387
+ "Mai Khanh",
1388
+ "Mai Khôi",
1389
+ "Mai Lan",
1390
+ "Mai Linh",
1391
+ "Mai Liên",
1392
+ "Mai Loan",
1393
+ "Mai Ly",
1394
+ "Mai Nhi",
1395
+ "Mai Phương",
1396
+ "Mai Quyên",
1397
+ "Mai Thanh",
1398
+ "Mai Thu",
1399
+ "Mai Thy",
1400
+ "Mai Thảo",
1401
+ "Mai Trinh",
1402
+ "Mai Tâm",
1403
+ "Mai Vy",
1404
+ "Minh An",
1405
+ "Minh Châu",
1406
+ "Minh Duyên",
1407
+ "Minh Hiền",
1408
+ "Minh Huyền",
1409
+ "Minh Huệ",
1410
+ "Minh Hà",
1411
+ "Minh Hương",
1412
+ "Minh Hạnh",
1413
+ "Minh Hằng",
1414
+ "Minh Hồng",
1415
+ "Minh Khai",
1416
+ "Minh Khuê",
1417
+ "Minh Loan",
1418
+ "Minh Minh",
1419
+ "Minh Nguyệt",
1420
+ "Minh Ngọc",
1421
+ "Minh Nhi",
1422
+ "Minh Như",
1423
+ "Minh Phương",
1424
+ "Minh Phượng",
1425
+ "Minh Thu",
1426
+ "Minh Thúy",
1427
+ "Minh Thư",
1428
+ "Minh Thương",
1429
+ "Minh Thảo",
1430
+ "Minh Thủy",
1431
+ "Minh Trang",
1432
+ "Minh Tuyết",
1433
+ "Minh Tuệ",
1434
+ "Minh Tâm",
1435
+ "Minh Uyên",
1436
+ "Minh Vy",
1437
+ "Minh Xuân",
1438
+ "Minh Yến",
1439
+ "Minh Đan",
1440
+ "Mậu Xuân",
1441
+ "Mộc Miên",
1442
+ "Mộng Hoa",
1443
+ "Mộng Hương",
1444
+ "Mộng Hằng",
1445
+ "Mộng Lan",
1446
+ "Mộng Liễu",
1447
+ "Mộng Nguyệt",
1448
+ "Mộng Nhi",
1449
+ "Mộng Quỳnh",
1450
+ "Mộng Thi",
1451
+ "Mộng Thu",
1452
+ "Mộng Tuyền",
1453
+ "Mộng Vi",
1454
+ "Mộng Vy",
1455
+ "Mộng Vân",
1456
+ "Mộng Ðiệp",
1457
+ "Mỹ Anh",
1458
+ "Mỹ Diễm",
1459
+ "Mỹ Dung",
1460
+ "Mỹ Duyên",
1461
+ "Mỹ Hiệp",
1462
+ "Mỹ Hoàn",
1463
+ "Mỹ Huyền",
1464
+ "Mỹ Huệ",
1465
+ "Mỹ Hường",
1466
+ "Mỹ Hạnh",
1467
+ "Mỹ Khuyên",
1468
+ "Mỹ Kiều",
1469
+ "Mỹ Lan",
1470
+ "Mỹ Loan",
1471
+ "Mỹ Lệ",
1472
+ "Mỹ Lợi",
1473
+ "Mỹ Nga",
1474
+ "Mỹ Ngọc",
1475
+ "Mỹ Nhi",
1476
+ "Mỹ Nhân",
1477
+ "Mỹ Nương",
1478
+ "Mỹ Phương",
1479
+ "Mỹ Phượng",
1480
+ "Mỹ Phụng",
1481
+ "Mỹ Thuần",
1482
+ "Mỹ Thuận",
1483
+ "Mỹ Trang",
1484
+ "Mỹ Trâm",
1485
+ "Mỹ Tâm",
1486
+ "Mỹ Uyên",
1487
+ "Mỹ Vân",
1488
+ "Mỹ Xuân",
1489
+ "Mỹ Yến",
1490
+ "Nghi Dung",
1491
+ "Nghi Minh",
1492
+ "Nghi Xuân",
1493
+ "Nguyên Hồng",
1494
+ "Nguyên Thảo",
1495
+ "Nguyết Ánh",
1496
+ "Nguyệt Anh",
1497
+ "Nguyệt Cát",
1498
+ "Nguyệt Cầm",
1499
+ "Nguyệt Hà",
1500
+ "Nguyệt Hồng",
1501
+ "Nguyệt Lan",
1502
+ "Nguyệt Minh",
1503
+ "Nguyệt Nga",
1504
+ "Nguyệt Quế",
1505
+ "Nguyệt Uyển",
1506
+ "Nguyệt Ánh",
1507
+ "Ngân Anh",
1508
+ "Ngân Hà",
1509
+ "Ngân Thanh",
1510
+ "Ngân Trúc",
1511
+ "Ngọc Anh",
1512
+ "Ngọc Bích",
1513
+ "Ngọc Cầm",
1514
+ "Ngọc Diệp",
1515
+ "Ngọc Dung",
1516
+ "Ngọc Hiền",
1517
+ "Ngọc Hoa",
1518
+ "Ngọc Hoan",
1519
+ "Ngọc Hoàn",
1520
+ "Ngọc Huyền",
1521
+ "Ngọc Huệ",
1522
+ "Ngọc Hà",
1523
+ "Ngọc Hân",
1524
+ "Ngọc Hạ",
1525
+ "Ngọc Hạnh",
1526
+ "Ngọc Hằng",
1527
+ "Ngọc Khanh",
1528
+ "Ngọc Khuê",
1529
+ "Ngọc Khánh",
1530
+ "Ngọc Lam",
1531
+ "Ngọc Lan",
1532
+ "Ngọc Linh",
1533
+ "Ngọc Liên",
1534
+ "Ngọc Loan",
1535
+ "Ngọc Ly",
1536
+ "Ngọc Lâm",
1537
+ "Ngọc Lý",
1538
+ "Ngọc Lệ",
1539
+ "Ngọc Mai",
1540
+ "Ngọc Nhi",
1541
+ "Ngọc Nữ",
1542
+ "Ngọc Oanh",
1543
+ "Ngọc Phụng",
1544
+ "Ngọc Quyên",
1545
+ "Ngọc Quế",
1546
+ "Ngọc Quỳnh",
1547
+ "Ngọc San",
1548
+ "Ngọc Sương",
1549
+ "Ngọc Thi",
1550
+ "Ngọc Thy",
1551
+ "Ngọc Thơ",
1552
+ "Ngọc Trinh",
1553
+ "Ngọc Trâm",
1554
+ "Ngọc Tuyết",
1555
+ "Ngọc Tâm",
1556
+ "Ngọc Tú",
1557
+ "Ngọc Uyên",
1558
+ "Ngọc Uyển",
1559
+ "Ngọc Vy",
1560
+ "Ngọc Vân",
1561
+ "Ngọc Yến",
1562
+ "Ngọc Ái",
1563
+ "Ngọc Ánh",
1564
+ "Ngọc Ðiệp",
1565
+ "Ngọc Ðàn",
1566
+ "Ngọc Ðào",
1567
+ "Nhan Hồng",
1568
+ "Nhã Hương",
1569
+ "Nhã Hồng",
1570
+ "Nhã Khanh",
1571
+ "Nhã Lý",
1572
+ "Nhã Mai",
1573
+ "Nhã Sương",
1574
+ "Nhã Thanh",
1575
+ "Nhã Trang",
1576
+ "Nhã Trúc",
1577
+ "Nhã Uyên",
1578
+ "Nhã Yến",
1579
+ "Nhã Ý",
1580
+ "Như Anh",
1581
+ "Như Bảo",
1582
+ "Như Hoa",
1583
+ "Như Hảo",
1584
+ "Như Hồng",
1585
+ "Như Loan",
1586
+ "Như Mai",
1587
+ "Như Ngà",
1588
+ "Như Ngọc",
1589
+ "Như Phương",
1590
+ "Như Quân",
1591
+ "Như Quỳnh",
1592
+ "Như Thảo",
1593
+ "Như Trân",
1594
+ "Như Tâm",
1595
+ "Như Ý",
1596
+ "Nhất Thương",
1597
+ "Nhật Dạ",
1598
+ "Nhật Hà",
1599
+ "Nhật Hạ",
1600
+ "Nhật Lan",
1601
+ "Nhật Linh",
1602
+ "Nhật Lệ",
1603
+ "Nhật Mai",
1604
+ "Nhật Phương",
1605
+ "Nhật Ánh",
1606
+ "Oanh Thơ",
1607
+ "Oanh Vũ",
1608
+ "Phi Khanh",
1609
+ "Phi Nhung",
1610
+ "Phi Nhạn",
1611
+ "Phi Phi",
1612
+ "Phi Phượng",
1613
+ "Phong Lan",
1614
+ "Phương An",
1615
+ "Phương Anh",
1616
+ "Phương Chi",
1617
+ "Phương Châu",
1618
+ "Phương Diễm",
1619
+ "Phương Dung",
1620
+ "Phương Giang",
1621
+ "Phương Hiền",
1622
+ "Phương Hoa",
1623
+ "Phương Hạnh",
1624
+ "Phương Lan",
1625
+ "Phương Linh",
1626
+ "Phương Liên",
1627
+ "Phương Loan",
1628
+ "Phương Mai",
1629
+ "Phương Nghi",
1630
+ "Phương Ngọc",
1631
+ "Phương Nhi",
1632
+ "Phương Nhung",
1633
+ "Phương Phương",
1634
+ "Phương Quyên",
1635
+ "Phương Quân",
1636
+ "Phương Quế",
1637
+ "Phương Quỳnh",
1638
+ "Phương Thanh",
1639
+ "Phương Thi",
1640
+ "Phương Thùy",
1641
+ "Phương Thảo",
1642
+ "Phương Thủy",
1643
+ "Phương Trang",
1644
+ "Phương Trinh",
1645
+ "Phương Trà",
1646
+ "Phương Trâm",
1647
+ "Phương Tâm",
1648
+ "Phương Uyên",
1649
+ "Phương Yến",
1650
+ "Phước Bình",
1651
+ "Phước Huệ",
1652
+ "Phượng Bích",
1653
+ "Phượng Liên",
1654
+ "Phượng Loan",
1655
+ "Phượng Lệ",
1656
+ "Phượng Nga",
1657
+ "Phượng Nhi",
1658
+ "Phượng Tiên",
1659
+ "Phượng Uyên",
1660
+ "Phượng Vy",
1661
+ "Phượng Vũ",
1662
+ "Phụng Yến",
1663
+ "Quế Anh",
1664
+ "Quế Chi",
1665
+ "Quế Linh",
1666
+ "Quế Lâm",
1667
+ "Quế Phương",
1668
+ "Quế Thu",
1669
+ "Quỳnh Anh",
1670
+ "Quỳnh Chi",
1671
+ "Quỳnh Dao",
1672
+ "Quỳnh Dung",
1673
+ "Quỳnh Giang",
1674
+ "Quỳnh Giao",
1675
+ "Quỳnh Hoa",
1676
+ "Quỳnh Hà",
1677
+ "Quỳnh Hương",
1678
+ "Quỳnh Lam",
1679
+ "Quỳnh Liên",
1680
+ "Quỳnh Lâm",
1681
+ "Quỳnh Nga",
1682
+ "Quỳnh Ngân",
1683
+ "Quỳnh Nhi",
1684
+ "Quỳnh Nhung",
1685
+ "Quỳnh Như",
1686
+ "Quỳnh Phương",
1687
+ "Quỳnh Sa",
1688
+ "Quỳnh Thanh",
1689
+ "Quỳnh Thơ",
1690
+ "Quỳnh Tiên",
1691
+ "Quỳnh Trang",
1692
+ "Quỳnh Trâm",
1693
+ "Quỳnh Vân",
1694
+ "Sao Băng",
1695
+ "Sao Mai",
1696
+ "Song Kê",
1697
+ "Song Lam",
1698
+ "Song Oanh",
1699
+ "Song Thư",
1700
+ "Sông Hà",
1701
+ "Sông Hương",
1702
+ "Sơn Ca",
1703
+ "Sơn Tuyền",
1704
+ "Sương Sương",
1705
+ "Thanh Bình",
1706
+ "Thanh Dân",
1707
+ "Thanh Giang",
1708
+ "Thanh Hiếu",
1709
+ "Thanh Hiền",
1710
+ "Thanh Hoa",
1711
+ "Thanh Huyền",
1712
+ "Thanh Hà",
1713
+ "Thanh Hương",
1714
+ "Thanh Hường",
1715
+ "Thanh Hạnh",
1716
+ "Thanh Hảo",
1717
+ "Thanh Hằng",
1718
+ "Thanh Hồng",
1719
+ "Thanh Kiều",
1720
+ "Thanh Lam",
1721
+ "Thanh Lan",
1722
+ "Thanh Loan",
1723
+ "Thanh Lâm",
1724
+ "Thanh Mai",
1725
+ "Thanh Mẫn",
1726
+ "Thanh Nga",
1727
+ "Thanh Nguyên",
1728
+ "Thanh Ngân",
1729
+ "Thanh Ngọc",
1730
+ "Thanh Nhung",
1731
+ "Thanh Nhàn",
1732
+ "Thanh Nhã",
1733
+ "Thanh Phương",
1734
+ "Thanh Thanh",
1735
+ "Thanh Thiên",
1736
+ "Thanh Thu",
1737
+ "Thanh Thúy",
1738
+ "Thanh Thư",
1739
+ "Thanh Thảo",
1740
+ "Thanh Thủy",
1741
+ "Thanh Trang",
1742
+ "Thanh Trúc",
1743
+ "Thanh Tuyết",
1744
+ "Thanh Tuyền",
1745
+ "Thanh Tâm",
1746
+ "Thanh Uyên",
1747
+ "Thanh Vy",
1748
+ "Thanh Vân",
1749
+ "Thanh Xuân",
1750
+ "Thanh Yến",
1751
+ "Thanh Đan",
1752
+ "Thi Cầm",
1753
+ "Thi Ngôn",
1754
+ "Thi Thi",
1755
+ "Thi Xuân",
1756
+ "Thi Yến",
1757
+ "Thiên Di",
1758
+ "Thiên Duyên",
1759
+ "Thiên Giang",
1760
+ "Thiên Hà",
1761
+ "Thiên Hương",
1762
+ "Thiên Khánh",
1763
+ "Thiên Kim",
1764
+ "Thiên Lam",
1765
+ "Thiên Lan",
1766
+ "Thiên Mai",
1767
+ "Thiên Mỹ",
1768
+ "Thiên Nga",
1769
+ "Thiên Nương",
1770
+ "Thiên Phương",
1771
+ "Thiên Thanh",
1772
+ "Thiên Thêu",
1773
+ "Thiên Thư",
1774
+ "Thiên Thảo",
1775
+ "Thiên Trang",
1776
+ "Thiên Tuyền",
1777
+ "Thiếu Mai",
1778
+ "Thiều Ly",
1779
+ "Thiện Mỹ",
1780
+ "Thiện Tiên",
1781
+ "Thu Duyên",
1782
+ "Thu Giang",
1783
+ "Thu Hiền",
1784
+ "Thu Hoài",
1785
+ "Thu Huyền",
1786
+ "Thu Huệ",
1787
+ "Thu Hà",
1788
+ "Thu Hậu",
1789
+ "Thu Hằng",
1790
+ "Thu Hồng",
1791
+ "Thu Linh",
1792
+ "Thu Liên",
1793
+ "Thu Loan",
1794
+ "Thu Mai",
1795
+ "Thu Minh",
1796
+ "Thu Nga",
1797
+ "Thu Nguyệt",
1798
+ "Thu Ngà",
1799
+ "Thu Ngân",
1800
+ "Thu Ngọc",
1801
+ "Thu Nhiên",
1802
+ "Thu Oanh",
1803
+ "Thu Phong",
1804
+ "Thu Phương",
1805
+ "Thu Phượng",
1806
+ "Thu Sương",
1807
+ "Thu Thuận",
1808
+ "Thu Thảo",
1809
+ "Thu Thủy",
1810
+ "Thu Trang",
1811
+ "Thu Việt",
1812
+ "Thu Vân",
1813
+ "Thu Vọng",
1814
+ "Thu Yến",
1815
+ "Thuần Hậu",
1816
+ "Thy Khanh",
1817
+ "Thy Oanh",
1818
+ "Thy Trúc",
1819
+ "Thy Vân",
1820
+ "Thái Chi",
1821
+ "Thái Hà",
1822
+ "Thái Hồng",
1823
+ "Thái Lan",
1824
+ "Thái Lâm",
1825
+ "Thái Thanh",
1826
+ "Thái Thảo",
1827
+ "Thái Tâm",
1828
+ "Thái Vân",
1829
+ "Thùy Anh",
1830
+ "Thùy Dung",
1831
+ "Thùy Dương",
1832
+ "Thùy Giang",
1833
+ "Thùy Linh",
1834
+ "Thùy Mi",
1835
+ "Thùy My",
1836
+ "Thùy Nhi",
1837
+ "Thùy Như",
1838
+ "Thùy Oanh",
1839
+ "Thùy Uyên",
1840
+ "Thùy Vân",
1841
+ "Thúy Anh",
1842
+ "Thúy Diễm",
1843
+ "Thúy Hiền",
1844
+ "Thúy Huyền",
1845
+ "Thúy Hà",
1846
+ "Thúy Hương",
1847
+ "Thúy Hường",
1848
+ "Thúy Hạnh",
1849
+ "Thúy Hằng",
1850
+ "Thúy Kiều",
1851
+ "Thúy Liên",
1852
+ "Thúy Liễu",
1853
+ "Thúy Loan",
1854
+ "Thúy Mai",
1855
+ "Thúy Minh",
1856
+ "Thúy My",
1857
+ "Thúy Nga",
1858
+ "Thúy Ngà",
1859
+ "Thúy Ngân",
1860
+ "Thúy Ngọc",
1861
+ "Thúy Phượng",
1862
+ "Thúy Quỳnh",
1863
+ "Thúy Vi",
1864
+ "Thúy Vy",
1865
+ "Thúy Vân",
1866
+ "Thơ Thơ",
1867
+ "Thư Lâm",
1868
+ "Thư Sương",
1869
+ "Thương Huyền",
1870
+ "Thương Nga",
1871
+ "Thương Thương",
1872
+ "Thường Xuân",
1873
+ "Thạch Thảo",
1874
+ "Thảo Hương",
1875
+ "Thảo Hồng",
1876
+ "Thảo Linh",
1877
+ "Thảo Ly",
1878
+ "Thảo Mai",
1879
+ "Thảo My",
1880
+ "Thảo Nghi",
1881
+ "Thảo Nguyên",
1882
+ "Thảo Nhi",
1883
+ "Thảo Quyên",
1884
+ "Thảo Tiên",
1885
+ "Thảo Trang",
1886
+ "Thảo Uyên",
1887
+ "Thảo Vy",
1888
+ "Thảo Vân",
1889
+ "Thục Anh",
1890
+ "Thục Khuê",
1891
+ "Thục Nhi",
1892
+ "Thục Oanh",
1893
+ "Thục Quyên",
1894
+ "Thục Trang",
1895
+ "Thục Trinh",
1896
+ "Thục Tâm",
1897
+ "Thục Uyên",
1898
+ "Thục Vân",
1899
+ "Thục Ðoan",
1900
+ "Thục Ðào",
1901
+ "Thục Ðình",
1902
+ "Thụy Du",
1903
+ "Thụy Khanh",
1904
+ "Thụy Linh",
1905
+ "Thụy Lâm",
1906
+ "Thụy Miên",
1907
+ "Thụy Nương",
1908
+ "Thụy Trinh",
1909
+ "Thụy Trâm",
1910
+ "Thụy Uyên",
1911
+ "Thụy Vân",
1912
+ "Thụy Ðào",
1913
+ "Thủy Hằng",
1914
+ "Thủy Hồng",
1915
+ "Thủy Linh",
1916
+ "Thủy Minh",
1917
+ "Thủy Nguyệt",
1918
+ "Thủy Quỳnh",
1919
+ "Thủy Tiên",
1920
+ "Thủy Trang",
1921
+ "Thủy Tâm",
1922
+ "Tinh Tú",
1923
+ "Tiên Phương",
1924
+ "Tiểu Mi",
1925
+ "Tiểu My",
1926
+ "Tiểu Quỳnh",
1927
+ "Trang Anh",
1928
+ "Trang Linh",
1929
+ "Trang Nhã",
1930
+ "Trang Tâm",
1931
+ "Trang Ðài",
1932
+ "Triều Nguyệt",
1933
+ "Triều Thanh",
1934
+ "Triệu Mẫn",
1935
+ "Trung Anh",
1936
+ "Trà Giang",
1937
+ "Trà My",
1938
+ "Trâm Anh",
1939
+ "Trâm Oanh",
1940
+ "Trân Châu",
1941
+ "Trúc Chi",
1942
+ "Trúc Lam",
1943
+ "Trúc Lan",
1944
+ "Trúc Linh",
1945
+ "Trúc Liên",
1946
+ "Trúc Loan",
1947
+ "Trúc Ly",
1948
+ "Trúc Lâm",
1949
+ "Trúc Mai",
1950
+ "Trúc Phương",
1951
+ "Trúc Quân",
1952
+ "Trúc Quỳnh",
1953
+ "Trúc Vy",
1954
+ "Trúc Vân",
1955
+ "Trúc Ðào",
1956
+ "Trúc Đào",
1957
+ "Trầm Hương",
1958
+ "Tuyết Anh",
1959
+ "Tuyết Băng",
1960
+ "Tuyết Chi",
1961
+ "Tuyết Hoa",
1962
+ "Tuyết Hân",
1963
+ "Tuyết Hương",
1964
+ "Tuyết Hồng",
1965
+ "Tuyết Lan",
1966
+ "Tuyết Loan",
1967
+ "Tuyết Lâm",
1968
+ "Tuyết Mai",
1969
+ "Tuyết Nga",
1970
+ "Tuyết Nhi",
1971
+ "Tuyết Nhung",
1972
+ "Tuyết Oanh",
1973
+ "Tuyết Thanh",
1974
+ "Tuyết Trinh",
1975
+ "Tuyết Trầm",
1976
+ "Tuyết Tâm",
1977
+ "Tuyết Vy",
1978
+ "Tuyết Vân",
1979
+ "Tuyết Xuân",
1980
+ "Tuyền Lâm",
1981
+ "Tuệ Lâm",
1982
+ "Tuệ Mẫn",
1983
+ "Tuệ Nhi",
1984
+ "Tâm Hiền",
1985
+ "Tâm Hạnh",
1986
+ "Tâm Hằng",
1987
+ "Tâm Khanh",
1988
+ "Tâm Linh",
1989
+ "Tâm Nguyên",
1990
+ "Tâm Nguyệt",
1991
+ "Tâm Nhi",
1992
+ "Tâm Như",
1993
+ "Tâm Thanh",
1994
+ "Tâm Trang",
1995
+ "Tâm Ðoan",
1996
+ "Tâm Đan",
1997
+ "Tùng Linh",
1998
+ "Tùng Lâm",
1999
+ "Tùng Quân",
2000
+ "Tùy Anh",
2001
+ "Tùy Linh",
2002
+ "Tú Anh",
2003
+ "Tú Ly",
2004
+ "Tú Nguyệt",
2005
+ "Tú Quyên",
2006
+ "Tú Quỳnh",
2007
+ "Tú Sương",
2008
+ "Tú Trinh",
2009
+ "Tú Tâm",
2010
+ "Tú Uyên",
2011
+ "Túy Loan",
2012
+ "Tường Chinh",
2013
+ "Tường Vi",
2014
+ "Tường Vy",
2015
+ "Tường Vân",
2016
+ "Tịnh Lâm",
2017
+ "Tịnh Nhi",
2018
+ "Tịnh Như",
2019
+ "Tịnh Tâm",
2020
+ "Tịnh Yên",
2021
+ "Tố Loan",
2022
+ "Tố Nga",
2023
+ "Tố Nhi",
2024
+ "Tố Quyên",
2025
+ "Tố Tâm",
2026
+ "Tố Uyên",
2027
+ "Từ Dung",
2028
+ "Từ Ân",
2029
+ "Uyên Minh",
2030
+ "Uyên My",
2031
+ "Uyên Nhi",
2032
+ "Uyên Phương",
2033
+ "Uyên Thi",
2034
+ "Uyên Thy",
2035
+ "Uyên Thơ",
2036
+ "Uyên Trâm",
2037
+ "Uyên Vi",
2038
+ "Uyển Khanh",
2039
+ "Uyển My",
2040
+ "Uyển Nghi",
2041
+ "Uyển Nhi",
2042
+ "Uyển Nhã",
2043
+ "Uyển Như",
2044
+ "Vi Quyên",
2045
+ "Vinh Diệu",
2046
+ "Việt Hà",
2047
+ "Việt Hương",
2048
+ "Việt Khuê",
2049
+ "Việt Mi",
2050
+ "Việt Nga",
2051
+ "Việt Nhi",
2052
+ "Việt Thi",
2053
+ "Việt Trinh",
2054
+ "Việt Tuyết",
2055
+ "Việt Yến",
2056
+ "Vy Lam",
2057
+ "Vy Lan",
2058
+ "Vàng Anh",
2059
+ "Vành Khuyên",
2060
+ "Vân Anh",
2061
+ "Vân Chi",
2062
+ "Vân Du",
2063
+ "Vân Hà",
2064
+ "Vân Hương",
2065
+ "Vân Khanh",
2066
+ "Vân Khánh",
2067
+ "Vân Linh",
2068
+ "Vân Ngọc",
2069
+ "Vân Nhi",
2070
+ "Vân Phi",
2071
+ "Vân Phương",
2072
+ "Vân Quyên",
2073
+ "Vân Quỳnh",
2074
+ "Vân Thanh",
2075
+ "Vân Thúy",
2076
+ "Vân Thường",
2077
+ "Vân Tiên",
2078
+ "Vân Trang",
2079
+ "Vân Trinh",
2080
+ "Vũ Hồng",
2081
+ "Xuyến Chi",
2082
+ "Xuân Bảo",
2083
+ "Xuân Dung",
2084
+ "Xuân Hiền",
2085
+ "Xuân Hoa",
2086
+ "Xuân Hân",
2087
+ "Xuân Hương",
2088
+ "Xuân Hạnh",
2089
+ "Xuân Lan",
2090
+ "Xuân Linh",
2091
+ "Xuân Liễu",
2092
+ "Xuân Loan",
2093
+ "Xuân Lâm",
2094
+ "Xuân Mai",
2095
+ "Xuân Nghi",
2096
+ "Xuân Ngọc",
2097
+ "Xuân Nhi",
2098
+ "Xuân Nhiên",
2099
+ "Xuân Nương",
2100
+ "Xuân Phương",
2101
+ "Xuân Phượng",
2102
+ "Xuân Thanh",
2103
+ "Xuân Thu",
2104
+ "Xuân Thảo",
2105
+ "Xuân Thủy",
2106
+ "Xuân Trang",
2107
+ "Xuân Tâm",
2108
+ "Xuân Uyên",
2109
+ "Xuân Vân",
2110
+ "Xuân Yến",
2111
+ "Xuân xanh",
2112
+ "Yên Bằng",
2113
+ "Yên Mai",
2114
+ "Yên Nhi",
2115
+ "Yên Ðan",
2116
+ "Yên Đan",
2117
+ "Yến Anh",
2118
+ "Yến Hồng",
2119
+ "Yến Loan",
2120
+ "Yến Mai",
2121
+ "Yến My",
2122
+ "Yến Nhi",
2123
+ "Yến Oanh",
2124
+ "Yến Phương",
2125
+ "Yến Phượng",
2126
+ "Yến Thanh",
2127
+ "Yến Thảo",
2128
+ "Yến Trang",
2129
+ "Yến Trinh",
2130
+ "Yến Trâm",
2131
+ "Yến Ðan",
2132
+ "Ái Hồng",
2133
+ "Ái Khanh",
2134
+ "Ái Linh",
2135
+ "Ái Nhi",
2136
+ "Ái Nhân",
2137
+ "Ái Thi",
2138
+ "Ái Thy",
2139
+ "Ái Vân",
2140
+ "Ánh Dương",
2141
+ "Ánh Hoa",
2142
+ "Ánh Hồng",
2143
+ "Ánh Linh",
2144
+ "Ánh Lệ",
2145
+ "Ánh Mai",
2146
+ "Ánh Nguyệt",
2147
+ "Ánh Ngọc",
2148
+ "Ánh Thơ",
2149
+ "Ánh Trang",
2150
+ "Ánh Tuyết",
2151
+ "Ánh Xuân",
2152
+ "Ðan Khanh",
2153
+ "Ðan Quỳnh",
2154
+ "Ðan Thu",
2155
+ "Ðinh Hương",
2156
+ "Ðoan Thanh",
2157
+ "Ðoan Trang",
2158
+ "Ðài Trang",
2159
+ "Ðông Nghi",
2160
+ "Ðông Nhi",
2161
+ "Ðông Trà",
2162
+ "Ðông Tuyền",
2163
+ "Ðông Vy",
2164
+ "Ðông Ðào",
2165
+ "Ðồng Dao",
2166
+ "Ý Bình",
2167
+ "Ý Lan",
2168
+ "Ý Nhi",
2169
+ "Đan Linh",
2170
+ "Đan Quỳnh",
2171
+ "Đan Thanh",
2172
+ "Đan Thu",
2173
+ "Đan Thư",
2174
+ "Đan Tâm",
2175
+ "Đinh Hương",
2176
+ "Đoan Thanh",
2177
+ "Đoan Trang",
2178
+ "Đài Trang",
2179
+ "Đông Nghi",
2180
+ "Đông Trà",
2181
+ "Đông Tuyền",
2182
+ "Đông Vy",
2183
+ "Đơn Thuần",
2184
+ "Đức Hạnh",
2185
+ "Ấu Lăng"
2186
+ ]
2187
+ let OtherName = [".",",","/","%", "&","*","-","+"];
878
2188
  try {
879
- var NameArray = name.split(" ");
880
- name = NameArray[NameArray.length - 1];
881
2189
  var Name;
882
2190
  if (name == " " || name == null) return "UNKNOWN";
883
- switch (GirlName.includes(name.toUpperCase())) {
2191
+ switch (female_name.some(a => name.includes(a))) {
884
2192
  case true: {
885
- if (!OtherName.includes(name.toUpperCase()) && !BoyName.includes(name.toUpperCase())) Name = "FEMALE";
2193
+ if (!OtherName.includes(name)) Name = "FEMALE";
886
2194
  else Name = ['FEMALE','MALE'][Math.floor(Math.random() * 2)]; // just temp 🌚
887
2195
  }
888
2196
  break;
889
2197
  case false: {
890
- if (!OtherName.includes(name.toUpperCase()) && !GirlName.includes(name.toUpperCase())) Name = "MALE"
2198
+ if (female_name.some(a => name.split(' ')[name.split(' ').length - 1] == a)) Name = "FEMALE";
2199
+ else if (!OtherName.includes(name) && !female_name.includes(name)) Name = "MALE";
891
2200
  else Name = ['FEMALE','MALE'][Math.floor(Math.random() * 2)]; // just temp 🌚
892
2201
  }
893
2202
  break;
894
2203
  }
895
2204
  }
896
2205
  catch (e) {
897
- return "UNKNOWN"
2206
+ return "UNKNOWN";
898
2207
  }
899
2208
  return Name || "UNKNOWN";
900
2209
  }
@@ -925,90 +2234,96 @@ switch (m.class) {
925
2234
  logMessageType = "log:unsubscribe";
926
2235
  logMessageData = { leftParticipantFbId: m.leftParticipantFbId };
927
2236
  break;
2237
+ case "UserLocation": {
2238
+ logMessageType = "log:user-location";
2239
+ logMessageData = {
2240
+ Image: m.attachments[0].mercury.extensible_attachment.story_attachment.media.image,
2241
+ Location: m.attachments[0].mercury.extensible_attachment.story_attachment.target.location_title,
2242
+ coordinates: m.attachments[0].mercury.extensible_attachment.story_attachment.target.coordinate,
2243
+ url: m.attachments[0].mercury.extensible_attachment.story_attachment.url
2244
+ };
2245
+ }
928
2246
  }
929
-
930
- if (process.env.HalzionVersion == 1973) {
931
- switch (hasData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()))) {
932
- case true: {
933
- switch (logMessageType) {
934
- case "log:thread-color": {
935
- let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
936
- x.emoji = (logMessageData.theme_emoji || x.emoji);
937
- x.color = (logMessageData['theme_color'] || x.color);
938
- updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
939
- }
940
- break;
941
- case "log:thread-icon": {
942
- let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
943
- x.emoji = (logMessageData['thread_icon'] || x.emoji);
944
- updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
945
- }
946
- break;
947
- case "log:user-nickname": {
948
- let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
949
- x.nicknames[logMessageData.participant_id] = (logMessageData.nickname.length == 0 ? x.userInfo.find(i => i.id == String(logMessageData.participant_id)).name : logMessageData.nickname);
950
- updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
951
- }
952
- break;
953
- case "log:thread-admins": {
954
- let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
955
- switch (logMessageData.ADMIN_EVENT) {
956
- case "add_admin": {
957
- x.adminIDs.push({ id: logMessageData.TARGET_ID });
958
- }
959
- break;
960
- case "remove_admin": {
961
- x.adminIDs = x.adminIDs.filter(item => item.id != logMessageData.TARGET_ID);
962
- }
2247
+ switch (hasData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()))) {
2248
+ case true: {
2249
+ switch (logMessageType) {
2250
+ case "log:thread-color": {
2251
+ let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
2252
+ x.emoji = (logMessageData.theme_emoji || x.emoji);
2253
+ x.color = (logMessageData['theme_color'] || x.color);
2254
+ updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
2255
+ }
2256
+ break;
2257
+ case "log:thread-icon": {
2258
+ let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
2259
+ x.emoji = (logMessageData['thread_icon'] || x.emoji);
2260
+ updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
2261
+ }
2262
+ break;
2263
+ case "log:user-nickname": {
2264
+ let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
2265
+ x.nicknames[logMessageData.participant_id] = (logMessageData.nickname.length == 0 ? x.userInfo.find(i => i.id == String(logMessageData.participant_id)).name : logMessageData.nickname);
2266
+ updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
2267
+ }
2268
+ break;
2269
+ case "log:thread-admins": {
2270
+ let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
2271
+ switch (logMessageData.ADMIN_EVENT) {
2272
+ case "add_admin": {
2273
+ x.adminIDs.push({ id: logMessageData.TARGET_ID });
2274
+ }
963
2275
  break;
2276
+ case "remove_admin": {
2277
+ x.adminIDs = x.adminIDs.filter(item => item.id != logMessageData.TARGET_ID);
964
2278
  }
965
- updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
966
- }
967
2279
  break;
968
- case "log:thread-approval-mode": {
969
- let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
970
- if (x.approvalMode == true) {
971
- x.approvalMode = false;
972
- }
973
- else {
974
- x.approvalMode = true;
975
- }
976
- updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
977
2280
  }
978
- break;
979
- case "log:thread-name": {
980
- let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
981
- x.threadName = (logMessageData.name || formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
982
- updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
2281
+ updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
2282
+ }
2283
+ break;
2284
+ case "log:thread-approval-mode": {
2285
+ let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
2286
+ if (x.approvalMode == true) {
2287
+ x.approvalMode = false;
983
2288
  }
984
- break;
985
- case "log:subscribe": {
986
- let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
987
- for (let o of logMessageData.addedParticipants) {
988
- if (x.userInfo.some(i => i.id == o.userFbId)) continue;
989
- else {
990
- x.userInfo.push({
991
- id: o.userFbId,
992
- name: o.fullName,
993
- gender: getGenderByPhysicalMethod(o.fullName)
994
- })
995
- x.participantIDs.push(o.userFbId);
996
- }
997
- }
998
- updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
2289
+ else {
2290
+ x.approvalMode = true;
999
2291
  }
1000
- break;
1001
- case "log:unsubscribe": {
1002
- let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
1003
- x.participantIDs = x.participantIDs.filter(item => item != logMessageData.leftParticipantFbId);
1004
- x.userInfo = x.userInfo.filter(item => item.id != logMessageData.leftParticipantFbId);
1005
- if (x.adminIDs.some(i => i.id == logMessageData.leftParticipantFbId)) {
1006
- x.adminIDs = x.adminIDs.filter(item => item.id != logMessageData.leftParticipantFbId);
1007
- }
1008
- updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
2292
+ updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
2293
+ }
2294
+ break;
2295
+ case "log:thread-name": {
2296
+ let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
2297
+ x.threadName = (logMessageData.name || formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
2298
+ updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
2299
+ }
2300
+ break;
2301
+ case "log:subscribe": {
2302
+ let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
2303
+ for (let o of logMessageData.addedParticipants) {
2304
+ if (x.userInfo.some(i => i.id == o.userFbId)) continue;
2305
+ else {
2306
+ x.userInfo.push({
2307
+ id: o.userFbId,
2308
+ name: o.fullName,
2309
+ gender: getGenderByPhysicalMethod(o.fullName)
2310
+ });
2311
+ x.participantIDs.push(o.userFbId);
2312
+ }
1009
2313
  }
2314
+ updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
2315
+ }
1010
2316
  break;
2317
+ case "log:unsubscribe": {
2318
+ let x = getData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()));
2319
+ x.participantIDs = x.participantIDs.filter(item => item != logMessageData.leftParticipantFbId);
2320
+ x.userInfo = x.userInfo.filter(item => item.id != logMessageData.leftParticipantFbId);
2321
+ if (x.adminIDs.some(i => i.id == logMessageData.leftParticipantFbId)) {
2322
+ x.adminIDs = x.adminIDs.filter(item => item.id != logMessageData.leftParticipantFbId);
2323
+ }
2324
+ updateData(formatID((m.messageMetadata.threadKey.threadFbId || m.messageMetadata.threadKey.otherUserFbId).toString()),x);
1011
2325
  }
2326
+ break;
1012
2327
  }
1013
2328
  }
1014
2329
  }
@@ -1041,23 +2356,6 @@ return {
1041
2356
  };
1042
2357
  }
1043
2358
 
1044
- /**
1045
- * @param {{ st: any; from: { toString: () => any; }; to: any; thread_fbid: any; hasOwnProperty: (arg0: string) => any; from_mobile: any; realtime_viewer_fbid: any; }} event
1046
- */
1047
-
1048
- function formatTyp(event) {
1049
- return {
1050
- isTyping: !!event.st,
1051
- from: event.from.toString(),
1052
- threadID: formatID((event.to || event.thread_fbid || event.from).toString()),
1053
- // When receiving typ indication from mobile, `from_mobile` isn't set.
1054
- // If it is, we just use that value.
1055
- fromMobile: event.hasOwnProperty("from_mobile") ? event.from_mobile : true,
1056
- userID: (event.realtime_viewer_fbid || event.from).toString(),
1057
- type: "typ"
1058
- };
1059
- }
1060
-
1061
2359
  /**
1062
2360
  * @param {{ threadKey: { otherUserFbId: any; threadFbId: any; }; actorFbId: any; actionTimestampMs: any; }} delta
1063
2361
  */
@@ -1107,13 +2405,41 @@ function formatRead(event) {
1107
2405
  function getFrom(str, startToken, endToken) {
1108
2406
  var start = str.indexOf(startToken) + startToken.length;
1109
2407
  if (start < startToken.length) return "";
1110
-
1111
2408
  var lastHalf = str.substring(start);
1112
2409
  var end = lastHalf.indexOf(endToken);
1113
- if (end === -1) throw Error("Could not find endTime `" + endToken + "` in the given string.");
2410
+ if (end === -1) throw Error("Could not find endTime " + endToken + " in the given string.");
1114
2411
  return lastHalf.substring(0, end);
1115
2412
  }
1116
2413
 
2414
+
2415
+ function getFroms(str, startToken, endToken) {
2416
+ //advanced search by kanzuuuuuuuuuu
2417
+ let results = [];
2418
+ let currentIndex = 0;
2419
+
2420
+ while (true) {
2421
+ let start = str.indexOf(startToken, currentIndex);
2422
+ if (start === -1) break;
2423
+
2424
+ start += startToken.length;
2425
+
2426
+ let lastHalf = str.substring(start);
2427
+ let end = lastHalf.indexOf(endToken);
2428
+
2429
+ if (end === -1) {
2430
+ if (results.length === 0) {
2431
+ throw Error("Could not find endToken `" + endToken + "` in the given string.");
2432
+ }
2433
+ break;
2434
+ }
2435
+
2436
+ results.push(lastHalf.substring(0, end));
2437
+ currentIndex = start + end + endToken.length;
2438
+ }
2439
+
2440
+ return results.length === 0 ? "" : results.length === 1 ? results[0] : results;
2441
+ }
2442
+
1117
2443
  /**
1118
2444
  * @param {string} html
1119
2445
  */
@@ -1361,18 +2687,41 @@ function parseAndCheckLogin(ctx, defaultFuncs, retryCount) {
1361
2687
  }
1362
2688
 
1363
2689
  if (res.error === 1357001) {
1364
- switch (globalThis.Fca.Require.Priyansh.AutoLogin) {
1365
- case true: {
1366
- globalThis.Fca.Require.logger.Warning(globalThis.Fca.Require.Language.Index.AutoLogin, function() {
1367
- return globalThis.Fca.AutoLogin();
1368
- });
1369
- break;
1370
- }
1371
- case false: {
1372
- throw { error: globalThis.Fca.Require.Language.Index.ErrAppState };
1373
-
2690
+ if (global.Fca.Require.Priyansh.AutoLogin && global.Fca.Require.Priyansh.CheckPointBypass['956'].Allow) {
2691
+ return global.Fca.Require.logger.Warning(global.Fca.Require.Language.Index.Bypass_956, async function() {
2692
+ const Check = () => new Promise((re) => {
2693
+ defaultFuncs.get('https://facebook.com', ctx.jar).then(function(res) {
2694
+ if (res.headers.location && res.headers.location.includes('https://www.facebook.com/checkpoint/')) {
2695
+ if (res.headers.location.includes('828281030927956')) return global.Fca.Action('Bypass', ctx, "956", defaultFuncs)
2696
+ else if (res.request.uri && res.request.uri.href.includes("https://www.facebook.com/checkpoint/")) {
2697
+ if (res.request.uri.href.includes('601051028565049')) {
2698
+ return global.Fca.BypassAutomationNotification(undefined, ctx.jar, ctx.globalOptions, undefined ,process.env.UID)
2699
+ }
2700
+ }
2701
+ else return global.Fca.Require.logger.Error(global.Fca.Require.Language.Index.ErrAppState);
2702
+ }
2703
+ else return global.Fca.Require.logger.Warning(global.Fca.Require.Language.Index.AutoLogin, function() {
2704
+ return global.Fca.Action('AutoLogin');
2705
+ });
2706
+ })
2707
+ })
2708
+ await Check();
2709
+ });
2710
+ }
2711
+ if (res.request.uri && res.request.uri.href.includes("https://www.facebook.com/checkpoint/")) {
2712
+ if (res.request.uri.href.includes('601051028565049')) {
2713
+ return global.Fca.BypassAutomationNotification(undefined, ctx.jar, ctx.globalOptions, undefined ,process.env.UID)
1374
2714
  }
1375
2715
  }
2716
+ if (global.Fca.Require.Priyansh.AutoLogin) {
2717
+ return global.Fca.Require.logger.Warning(global.Fca.Require.Language.Index.AutoLogin, function() {
2718
+ return global.Fca.Action('AutoLogin');
2719
+ });
2720
+ }
2721
+ else if (!global.Fca.Require.Priyansh.AutoLogin) {
2722
+ return global.Fca.Require.logger.Error(global.Fca.Require.Language.Index.ErrAppState);
2723
+ }
2724
+ return;
1376
2725
  }
1377
2726
  else return res;
1378
2727
  });
@@ -1567,10 +2916,10 @@ function decodeClientPayload(payload) {
1567
2916
  */
1568
2917
 
1569
2918
  function getAppState(jar, Encode) {
1570
- var prettyMilliseconds = require('pretty-ms')
2919
+ var prettyMilliseconds = require('pretty-ms');
1571
2920
  var getText = globalThis.Fca.getText;
1572
- var Security = require('./Extra/Security/Index');
1573
- var appstate = jar.getCookies("https://www.facebook.com").concat(jar.getCookies("https://facebook.com")).concat(jar.getCookies("https://www.messenger.com"))
2921
+ var Security = require("./Extra/Security/Base");
2922
+ var appstate = jar.getCookies("https://www.facebook.com").concat(jar.getCookies("https://facebook.com")).concat(jar.getCookies("https://www.messenger.com"));
1574
2923
  var logger = require('./logger'),languageFile = require('./Language/index.json');
1575
2924
  var Language = languageFile.find(i => i.Language == globalThis.Fca.Require.Priyansh.Language).Folder.Index;
1576
2925
  var data;
@@ -1578,14 +2927,8 @@ function getAppState(jar, Encode) {
1578
2927
  case true: {
1579
2928
  if (Encode == undefined) Encode = true;
1580
2929
  if (process.env['FBKEY'] != undefined && Encode) {
1581
- if(!globalThis.Fca.Setting.get('getAppState')) {
1582
- logger.Normal(Language.EncryptSuccess);
1583
- data = Security(JSON.stringify(appstate),process.env['FBKEY'],"Encrypt");
1584
- globalThis.Fca.Setting.set('AppState', data);
1585
- }
1586
- else {
1587
- data = globalThis.Fca.Setting.get('AppState');
1588
- }
2930
+ logger.Normal(Language.EncryptSuccess);
2931
+ data = Security(JSON.stringify(appstate),process.env['FBKEY'],"Encrypt");
1589
2932
  }
1590
2933
  else return appstate;
1591
2934
  }
@@ -1600,12 +2943,94 @@ function getAppState(jar, Encode) {
1600
2943
  }
1601
2944
  }
1602
2945
  if(!globalThis.Fca.Setting.get('getAppState')) {
1603
- logger.Normal(getText(Language.ProcessDone,`${prettyMilliseconds(Date.now() - globalThis.Fca.startTime)}`),function() { globalThis.Fca.Setting.set('getAppState',true) });
2946
+ logger.Normal(getText(Language.ProcessDone,`${prettyMilliseconds(Date.now() - globalThis.Fca.startTime)}`),function() { globalThis.Fca.Setting.set('getAppState',true); });
1604
2947
  }
1605
2948
  return data;
1606
2949
  }
1607
2950
 
2951
+ function getData_Path(Obj , Arr, Stt) {
2952
+ //default stt = 0
2953
+ if (Arr.length === 0 && Obj != undefined) {
2954
+ return Obj; //object
2955
+ }
2956
+ else if (Obj == undefined) {
2957
+ return Stt;
2958
+ }
2959
+ const head = Arr[0];
2960
+ if (head == undefined) {
2961
+ return Stt;
2962
+ }
2963
+ const tail = Arr.slice(1);
2964
+ return getData_Path(Obj[head], tail, Stt++);
2965
+ }
2966
+
2967
+
2968
+ function setData_Path(obj, path, value) {
2969
+ if (!path.length) {
2970
+ return obj;
2971
+ }
2972
+ const currentKey = path[0];
2973
+ let currentObj = obj[currentKey];
2974
+
2975
+ if (!currentObj) {
2976
+ obj[currentKey] = value;
2977
+ currentObj = obj[currentKey];
2978
+ }
2979
+ path.shift();
2980
+ if (!path.length) {
2981
+ currentObj = value;
2982
+ } else {
2983
+ currentObj = setData_Path(currentObj, path, value);
2984
+ }
2985
+
2986
+ return obj;
2987
+ }
2988
+
2989
+ function getPaths(obj, parentPath = []) {
2990
+ let paths = [];
2991
+ for (let prop in obj) {
2992
+ if (typeof obj[prop] === "object") {
2993
+ paths = paths.concat(getPaths(obj[prop], [...parentPath, prop]));
2994
+ } else {
2995
+ paths.push([...parentPath, prop]);
2996
+ }
2997
+ }
2998
+ return paths;
2999
+ }
3000
+
3001
+ function cleanHTML (text) {
3002
+ text = text.replace(/(<br>)|(<\/?i>)|(<\/?em>)|(<\/?b>)|(!?~)|(&amp;)|(&#039;)|(&lt;)|(&gt;)|(&quot;)/g, (match) => {
3003
+ switch (match) {
3004
+ case "<br>":
3005
+ return "\n";
3006
+ case "<i>":
3007
+ case "<em>":
3008
+ case "</i>":
3009
+ case "</em>":
3010
+ return "*";
3011
+ case "<b>":
3012
+ case "</b>":
3013
+ return "**";
3014
+ case "~!":
3015
+ case "!~":
3016
+ return "||";
3017
+ case "&amp;":
3018
+ return "&";
3019
+ case "&#039;":
3020
+ return "'";
3021
+ case "&lt;":
3022
+ return "<";
3023
+ case "&gt;":
3024
+ return ">";
3025
+ case "&quot;":
3026
+ return '"';
3027
+ }
3028
+ });
3029
+ return text;
3030
+ }
3031
+
1608
3032
  module.exports = {
3033
+ cleanHTML,
1609
3034
  isReadableStream:isReadableStream,
1610
3035
  get:get,
1611
3036
  post:post,
@@ -1622,6 +3047,9 @@ module.exports = {
1622
3047
  makeDefaults:makeDefaults,
1623
3048
  parseAndCheckLogin:parseAndCheckLogin,
1624
3049
  getGender: getGenderByPhysicalMethod,
3050
+ getData_Path,
3051
+ setData_Path,
3052
+ getPaths,
1625
3053
  saveCookies,
1626
3054
  getType,
1627
3055
  _formatAttachment,
@@ -1644,5 +3072,6 @@ module.exports = {
1644
3072
  decodeClientPayload,
1645
3073
  getAppState,
1646
3074
  getAdminTextMessageType,
1647
- setProxy
3075
+ setProxy,
3076
+ getFroms
1648
3077
  };