diff --git a/app/DataBase/hard_link.py b/app/DataBase/hard_link.py index f08024a..22e93f8 100644 --- a/app/DataBase/hard_link.py +++ b/app/DataBase/hard_link.py @@ -196,8 +196,9 @@ def decodeExtraBuf(extra_buf_content: bytes): "4EB96D85": "企业微信属性", "0E719F13": "备注图片", "759378AD": "手机号", + "74752C06": "性别", } - res = {'手机号': {'18':''}} + res = {'手机号': {'18': ''}} while off < len(extra_buf_content): length = 4 # 块头 trunk_head = extra_buf_content[off: off + length] @@ -241,10 +242,12 @@ def decodeExtraBuf(extra_buf_content: bytes): off += length res[trunk_head][field] = int.from_bytes(content, "little") # print(res) + return { 'region': (res['国家']['18'], res['省份']['18'], res['市']['18']), 'signature': res['个性签名']['18'], 'telephone': res['手机号']['18'], + 'gender': res['性别']['04'] } diff --git a/app/DataBase/micro_msg.py b/app/DataBase/micro_msg.py index da92e90..bb76ea6 100644 --- a/app/DataBase/micro_msg.py +++ b/app/DataBase/micro_msg.py @@ -2,8 +2,6 @@ import os.path import sqlite3 import threading - - lock = threading.Lock() db_path = "./app/Database/Msg/MicroMsg.db" @@ -117,8 +115,11 @@ if __name__ == '__main__': msg.init_database() contacts = msg.get_contact() from app.DataBase.hard_link import decodeExtraBuf + + s = {'wxid_vtz9jk9ulzjt22','wxid_zu9l4wxdv1pa22', 'wxid_0o18ef858vnu22','wxid_8piw6sb4hvfm22','wxid_e7ypfycxpnu322','wxid_oxmg02c8kwxu22','wxid_7pp2fblq7hkq22','wxid_h1n9niofgyci22'} for contact in contacts: - print(contact[-2]) - buf = contact[9] - info = decodeExtraBuf(buf) - print(info) \ No newline at end of file + if contact[0] in s: + print(contact[:7]) + buf = contact[9] + info = decodeExtraBuf(buf) + print(info) diff --git a/app/resources/resource.qrc b/app/resources/resource.qrc index fb9b5ce..f7d76ca 100644 --- a/app/resources/resource.qrc +++ b/app/resources/resource.qrc @@ -37,5 +37,7 @@ icons/Cursors/6.png icons/Cursors/7.png icons/weixin.png + icons/man.svg + icons/woman.svg diff --git a/app/resources/resource_rc.py b/app/resources/resource_rc.py index fa45a24..3a0139b 100644 --- a/app/resources/resource_rc.py +++ b/app/resources/resource_rc.py @@ -1439,6 +1439,325 @@ qt_resource_data = b"\ \x3c\x78\xf0\xe0\xc1\x83\x07\x0f\x1e\x3c\x78\xf0\xe0\xc1\x83\x07\ \x0f\x1e\x3c\x78\xf0\xe0\x61\x53\xf8\x7f\x7b\x2a\x19\xb7\xd1\x6e\ \x86\x79\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x0d\x08\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\x6e\ +\x6f\x22\x3f\x3e\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\x76\ +\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\x43\ +\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\x45\ +\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\ +\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\x53\ +\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\x31\ +\x2e\x64\x74\x64\x22\x3e\x3c\x73\x76\x67\x20\x74\x3d\x22\x31\x37\ +\x30\x34\x32\x39\x35\x31\x36\x30\x38\x30\x39\x22\x20\x63\x6c\x61\ +\x73\x73\x3d\x22\x69\x63\x6f\x6e\x22\x20\x76\x69\x65\x77\x42\x6f\ +\x78\x3d\x22\x30\x20\x30\x20\x31\x30\x32\x34\x20\x31\x30\x32\x34\ +\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\ +\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\ +\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\ +\x67\x22\x20\x70\x2d\x69\x64\x3d\x22\x34\x32\x36\x38\x22\x20\x78\ +\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\ +\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\ +\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x77\x69\x64\x74\x68\x3d\ +\x22\x31\x36\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x31\x36\x22\ +\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x39\x32\x32\x2e\x33\ +\x34\x34\x31\x37\x36\x20\x31\x35\x32\x2e\x32\x30\x39\x31\x38\x36\ +\x76\x2d\x30\x2e\x30\x35\x30\x35\x37\x35\x63\x30\x2d\x30\x2e\x37\ +\x36\x35\x38\x35\x31\x2d\x30\x2e\x30\x38\x36\x37\x2d\x31\x2e\x35\ +\x31\x37\x32\x35\x31\x2d\x30\x2e\x31\x33\x30\x30\x35\x31\x2d\x32\ +\x2e\x32\x38\x33\x31\x30\x31\x2d\x30\x2e\x30\x33\x36\x31\x32\x35\ +\x2d\x30\x2e\x36\x37\x39\x31\x35\x2d\x30\x2e\x30\x34\x33\x33\x35\ +\x2d\x31\x2e\x33\x36\x35\x35\x32\x36\x2d\x30\x2e\x31\x30\x38\x33\ +\x37\x35\x2d\x32\x2e\x30\x33\x37\x34\x35\x32\x2d\x30\x2e\x30\x38\ +\x36\x37\x2d\x30\x2e\x37\x39\x34\x37\x35\x31\x2d\x30\x2e\x32\x33\ +\x31\x32\x2d\x31\x2e\x35\x35\x33\x33\x37\x36\x2d\x30\x2e\x33\x36\ +\x31\x32\x35\x2d\x32\x2e\x33\x33\x33\x36\x37\x36\x2d\x30\x2e\x30\ +\x37\x32\x32\x35\x2d\x30\x2e\x34\x35\x35\x31\x37\x35\x2d\x30\x2e\ +\x31\x32\x32\x38\x32\x35\x2d\x30\x2e\x39\x31\x37\x35\x37\x36\x2d\ +\x30\x2e\x32\x30\x39\x35\x32\x35\x2d\x31\x2e\x33\x37\x39\x39\x37\ +\x36\x6c\x2d\x30\x2e\x30\x34\x33\x33\x35\x2d\x30\x2e\x32\x39\x36\ +\x32\x32\x36\x2d\x30\x2e\x30\x35\x30\x35\x37\x35\x2d\x30\x2e\x32\ +\x38\x31\x37\x37\x35\x63\x2d\x30\x2e\x31\x35\x38\x39\x35\x2d\x30\ +\x2e\x37\x39\x34\x37\x35\x31\x2d\x30\x2e\x33\x39\x37\x33\x37\x35\ +\x2d\x31\x2e\x35\x35\x33\x33\x37\x36\x2d\x30\x2e\x35\x39\x39\x36\ +\x37\x36\x2d\x32\x2e\x33\x33\x33\x36\x37\x37\x2d\x30\x2e\x31\x35\ +\x38\x39\x35\x2d\x30\x2e\x36\x30\x36\x39\x2d\x30\x2e\x32\x38\x39\ +\x2d\x31\x2e\x32\x32\x38\x32\x35\x31\x2d\x30\x2e\x34\x36\x39\x36\ +\x32\x35\x2d\x31\x2e\x38\x32\x30\x37\x30\x31\x2d\x30\x2e\x32\x36\ +\x30\x31\x2d\x30\x2e\x38\x31\x36\x34\x32\x36\x2d\x30\x2e\x35\x38\ +\x35\x32\x32\x35\x2d\x31\x2e\x36\x31\x38\x34\x30\x31\x2d\x30\x2e\ +\x38\x38\x38\x36\x37\x36\x2d\x32\x2e\x34\x32\x30\x33\x37\x37\x6c\ +\x2d\x30\x2e\x32\x37\x34\x35\x35\x2d\x30\x2e\x37\x35\x38\x36\x32\ +\x35\x2d\x30\x2e\x31\x36\x36\x31\x37\x35\x2d\x30\x2e\x34\x35\x35\ +\x31\x37\x36\x2d\x30\x2e\x31\x33\x30\x30\x35\x2d\x30\x2e\x33\x32\ +\x35\x31\x32\x35\x63\x2d\x30\x2e\x33\x35\x34\x30\x32\x35\x2d\x30\ +\x2e\x38\x33\x30\x38\x37\x36\x2d\x30\x2e\x37\x35\x38\x36\x32\x36\ +\x2d\x31\x2e\x36\x32\x35\x36\x32\x36\x2d\x31\x2e\x31\x36\x33\x32\ +\x32\x36\x2d\x32\x2e\x34\x32\x37\x36\x30\x32\x2d\x30\x2e\x32\x32\ +\x33\x39\x37\x35\x2d\x30\x2e\x34\x35\x35\x31\x37\x35\x2d\x30\x2e\ +\x34\x31\x39\x30\x35\x2d\x30\x2e\x39\x31\x37\x35\x37\x36\x2d\x30\ +\x2e\x36\x36\x34\x37\x2d\x31\x2e\x33\x35\x38\x33\x30\x31\x2d\x30\ +\x2e\x34\x33\x33\x35\x2d\x30\x2e\x38\x30\x31\x39\x37\x36\x2d\x30\ +\x2e\x39\x32\x34\x38\x30\x31\x2d\x31\x2e\x35\x35\x33\x33\x37\x36\ +\x2d\x31\x2e\x34\x30\x31\x36\x35\x31\x2d\x32\x2e\x33\x31\x39\x32\ +\x32\x36\x2d\x30\x2e\x31\x34\x34\x35\x2d\x30\x2e\x32\x32\x33\x39\ +\x37\x35\x2d\x30\x2e\x32\x36\x37\x33\x32\x35\x2d\x30\x2e\x34\x36\ +\x32\x34\x2d\x30\x2e\x34\x31\x31\x38\x32\x36\x2d\x30\x2e\x36\x37\ +\x31\x39\x32\x36\x2d\x30\x2e\x30\x38\x36\x37\x2d\x30\x2e\x31\x33\ +\x30\x30\x35\x2d\x30\x2e\x31\x35\x31\x37\x32\x35\x2d\x30\x2e\x32\ +\x36\x37\x33\x32\x35\x2d\x30\x2e\x32\x33\x38\x34\x32\x35\x2d\x30\ +\x2e\x33\x39\x37\x33\x37\x35\x6c\x2d\x30\x2e\x31\x31\x35\x36\x2d\ +\x30\x2e\x31\x37\x33\x34\x63\x2d\x30\x2e\x35\x30\x35\x37\x35\x2d\ +\x30\x2e\x37\x35\x31\x34\x30\x31\x2d\x31\x2e\x30\x36\x32\x30\x37\ +\x36\x2d\x31\x2e\x34\x34\x35\x30\x30\x31\x2d\x31\x2e\x36\x31\x31\ +\x31\x37\x36\x2d\x32\x2e\x31\x35\x33\x30\x35\x32\x2d\x30\x2e\x33\ +\x30\x33\x34\x35\x2d\x30\x2e\x33\x39\x30\x31\x35\x2d\x30\x2e\x35\ +\x37\x38\x2d\x30\x2e\x38\x30\x31\x39\x37\x36\x2d\x30\x2e\x38\x38\ +\x38\x36\x37\x36\x2d\x31\x2e\x31\x38\x34\x39\x30\x31\x2d\x30\x2e\ +\x35\x35\x36\x33\x32\x35\x2d\x30\x2e\x36\x36\x34\x37\x2d\x31\x2e\ +\x31\x36\x33\x32\x32\x36\x2d\x31\x2e\x32\x39\x33\x32\x37\x36\x2d\ +\x31\x2e\x37\x35\x35\x36\x37\x36\x2d\x31\x2e\x39\x32\x39\x30\x37\ +\x36\x2d\x30\x2e\x33\x35\x34\x30\x32\x35\x2d\x30\x2e\x33\x38\x32\ +\x39\x32\x35\x2d\x30\x2e\x36\x37\x39\x31\x35\x2d\x30\x2e\x37\x38\ +\x30\x33\x30\x31\x2d\x31\x2e\x30\x34\x30\x34\x30\x31\x2d\x31\x2e\ +\x31\x34\x31\x35\x35\x31\x6c\x2d\x30\x2e\x30\x36\x35\x30\x32\x35\ +\x2d\x30\x2e\x30\x36\x35\x30\x32\x35\x2d\x30\x2e\x30\x31\x34\x34\ +\x35\x2d\x30\x2e\x30\x32\x31\x36\x37\x35\x2d\x30\x2e\x30\x37\x32\ +\x32\x35\x2d\x30\x2e\x30\x35\x37\x38\x63\x2d\x30\x2e\x35\x32\x37\ +\x34\x32\x35\x2d\x30\x2e\x35\x32\x37\x34\x32\x35\x2d\x31\x2e\x30\ +\x39\x38\x32\x30\x31\x2d\x31\x2e\x30\x30\x34\x32\x37\x36\x2d\x31\ +\x2e\x36\x36\x38\x39\x37\x36\x2d\x31\x2e\x35\x31\x30\x30\x32\x36\ +\x2d\x30\x2e\x34\x32\x36\x32\x37\x35\x2d\x30\x2e\x33\x37\x35\x37\ +\x2d\x30\x2e\x38\x32\x33\x36\x35\x31\x2d\x30\x2e\x37\x38\x30\x33\ +\x30\x31\x2d\x31\x2e\x32\x37\x31\x36\x30\x31\x2d\x31\x2e\x31\x34\ +\x38\x37\x37\x36\x2d\x30\x2e\x35\x39\x39\x36\x37\x35\x2d\x30\x2e\ +\x34\x39\x31\x33\x2d\x31\x2e\x32\x34\x39\x39\x32\x36\x2d\x30\x2e\ +\x39\x33\x32\x30\x32\x36\x2d\x31\x2e\x38\x37\x38\x35\x30\x31\x2d\ +\x31\x2e\x34\x30\x31\x36\x35\x31\x2d\x30\x2e\x34\x38\x34\x30\x37\ +\x35\x2d\x30\x2e\x33\x36\x31\x32\x35\x2d\x30\x2e\x39\x35\x33\x37\ +\x30\x31\x2d\x30\x2e\x37\x34\x34\x31\x37\x36\x2d\x31\x2e\x34\x35\ +\x32\x32\x32\x36\x2d\x31\x2e\x30\x38\x33\x37\x35\x31\x61\x35\x2e\ +\x30\x38\x36\x34\x30\x34\x20\x35\x2e\x30\x38\x36\x34\x30\x34\x20\ +\x30\x20\x30\x20\x31\x2d\x30\x2e\x33\x33\x32\x33\x35\x31\x2d\x30\ +\x2e\x32\x30\x32\x33\x6c\x2d\x30\x2e\x35\x33\x34\x36\x35\x2d\x30\ +\x2e\x33\x31\x30\x36\x37\x35\x61\x32\x36\x2e\x37\x30\x33\x36\x32\ +\x20\x32\x36\x2e\x37\x30\x33\x36\x32\x20\x30\x20\x30\x20\x30\x2d\ +\x31\x2e\x31\x34\x31\x35\x35\x31\x2d\x30\x2e\x36\x39\x33\x36\x30\ +\x31\x63\x2d\x30\x2e\x35\x32\x30\x32\x2d\x30\x2e\x33\x31\x37\x39\ +\x2d\x31\x2e\x30\x32\x35\x39\x35\x31\x2d\x30\x2e\x36\x35\x37\x34\ +\x37\x35\x2d\x31\x2e\x35\x36\x37\x38\x32\x36\x2d\x30\x2e\x39\x35\ +\x33\x37\x2d\x30\x2e\x36\x37\x39\x31\x35\x2d\x30\x2e\x33\x36\x38\ +\x34\x37\x35\x2d\x31\x2e\x33\x39\x34\x34\x32\x36\x2d\x30\x2e\x36\ +\x37\x31\x39\x32\x35\x2d\x32\x2e\x30\x39\x35\x32\x35\x32\x2d\x31\ +\x2e\x30\x30\x34\x32\x37\x36\x2d\x30\x2e\x35\x36\x33\x35\x35\x2d\ +\x30\x2e\x32\x36\x37\x33\x32\x35\x2d\x31\x2e\x31\x31\x32\x36\x35\ +\x31\x2d\x30\x2e\x35\x37\x30\x37\x37\x35\x2d\x31\x2e\x36\x39\x30\ +\x36\x35\x31\x2d\x30\x2e\x38\x30\x39\x32\x30\x31\x2d\x30\x2e\x31\ +\x35\x31\x37\x32\x35\x2d\x30\x2e\x30\x37\x32\x32\x35\x2d\x30\x2e\ +\x33\x32\x35\x31\x32\x35\x2d\x30\x2e\x31\x32\x32\x38\x32\x35\x2d\ +\x30\x2e\x34\x39\x31\x33\x2d\x30\x2e\x31\x38\x30\x36\x32\x35\x2d\ +\x30\x2e\x31\x38\x37\x38\x35\x2d\x30\x2e\x30\x37\x39\x34\x37\x35\ +\x2d\x30\x2e\x33\x39\x30\x31\x35\x2d\x30\x2e\x31\x33\x37\x32\x37\ +\x35\x2d\x30\x2e\x35\x37\x38\x30\x30\x31\x2d\x30\x2e\x32\x32\x33\ +\x39\x37\x35\x6c\x2d\x31\x2e\x30\x31\x38\x37\x32\x35\x2d\x30\x2e\ +\x33\x36\x38\x34\x37\x35\x63\x2d\x30\x2e\x36\x32\x38\x35\x37\x35\ +\x2d\x30\x2e\x32\x32\x33\x39\x37\x35\x2d\x31\x2e\x32\x34\x32\x37\ +\x30\x31\x2d\x30\x2e\x34\x38\x34\x30\x37\x35\x2d\x31\x2e\x38\x39\ +\x32\x39\x35\x32\x2d\x30\x2e\x36\x39\x33\x36\x30\x31\x2d\x30\x2e\ +\x36\x34\x33\x30\x32\x35\x2d\x30\x2e\x31\x38\x37\x38\x35\x2d\x31\ +\x2e\x33\x30\x37\x37\x32\x36\x2d\x30\x2e\x33\x32\x35\x31\x32\x35\ +\x2d\x31\x2e\x39\x36\x35\x32\x30\x31\x2d\x30\x2e\x34\x39\x31\x33\ +\x2d\x30\x2e\x37\x32\x39\x37\x32\x36\x2d\x30\x2e\x31\x39\x35\x30\ +\x37\x35\x2d\x31\x2e\x34\x34\x35\x30\x30\x31\x2d\x30\x2e\x34\x31\ +\x39\x30\x35\x2d\x32\x2e\x31\x38\x39\x31\x37\x37\x2d\x30\x2e\x35\ +\x36\x33\x35\x35\x31\x2d\x30\x2e\x31\x35\x31\x37\x32\x35\x2d\x30\ +\x2e\x30\x33\x36\x31\x32\x35\x2d\x30\x2e\x33\x31\x30\x36\x37\x35\ +\x2d\x30\x2e\x30\x33\x36\x31\x32\x35\x2d\x30\x2e\x34\x36\x32\x34\ +\x2d\x30\x2e\x30\x36\x35\x30\x32\x35\x6c\x2d\x30\x2e\x34\x32\x36\ +\x32\x37\x35\x2d\x30\x2e\x30\x37\x32\x32\x35\x63\x2d\x30\x2e\x35\ +\x32\x37\x34\x32\x35\x2d\x30\x2e\x31\x30\x31\x31\x35\x2d\x31\x2e\ +\x30\x36\x39\x33\x30\x31\x2d\x30\x2e\x31\x36\x36\x31\x37\x35\x2d\ +\x31\x2e\x36\x31\x38\x34\x30\x32\x2d\x30\x2e\x32\x33\x38\x34\x32\ +\x35\x2d\x30\x2e\x35\x39\x39\x36\x37\x35\x2d\x30\x2e\x30\x39\x33\ +\x39\x32\x35\x2d\x31\x2e\x31\x38\x34\x39\x30\x31\x2d\x30\x2e\x32\ +\x31\x36\x37\x35\x2d\x31\x2e\x37\x38\x34\x35\x37\x36\x2d\x30\x2e\ +\x32\x38\x31\x37\x37\x35\x61\x34\x32\x2e\x37\x37\x32\x30\x33\x31\ +\x20\x34\x32\x2e\x37\x37\x32\x30\x33\x31\x20\x30\x20\x30\x20\x30\ +\x2d\x34\x2e\x34\x32\x38\x39\x32\x38\x2d\x30\x2e\x32\x32\x33\x39\ +\x37\x35\x68\x2d\x30\x2e\x31\x35\x31\x37\x32\x35\x6c\x2d\x33\x34\ +\x33\x2e\x30\x37\x39\x33\x37\x37\x20\x31\x2e\x32\x33\x35\x34\x37\ +\x36\x61\x34\x33\x2e\x33\x35\x30\x30\x33\x32\x20\x34\x33\x2e\x33\ +\x35\x30\x30\x33\x32\x20\x30\x20\x30\x20\x30\x20\x30\x2e\x31\x35\ +\x31\x37\x32\x36\x20\x38\x36\x2e\x37\x30\x30\x30\x36\x33\x68\x30\ +\x2e\x31\x35\x31\x37\x32\x35\x6c\x32\x33\x38\x2e\x34\x31\x37\x39\ +\x34\x39\x2d\x30\x2e\x38\x36\x37\x2d\x31\x35\x36\x2e\x37\x36\x30\ +\x39\x34\x20\x31\x35\x37\x2e\x38\x39\x35\x32\x36\x35\x63\x2d\x35\ +\x33\x2e\x37\x31\x30\x36\x38\x39\x2d\x34\x32\x2e\x31\x37\x39\x35\ +\x38\x31\x2d\x31\x32\x31\x2e\x31\x37\x30\x35\x36\x34\x2d\x36\x37\ +\x2e\x34\x36\x37\x30\x39\x39\x2d\x31\x39\x34\x2e\x31\x35\x30\x33\ +\x34\x32\x2d\x36\x37\x2e\x34\x36\x37\x30\x39\x39\x6c\x2d\x34\x2e\ +\x32\x31\x39\x34\x30\x33\x20\x30\x2e\x30\x32\x31\x36\x37\x35\x63\ +\x2d\x31\x37\x34\x2e\x30\x39\x33\x37\x32\x38\x20\x32\x2e\x32\x39\ +\x30\x33\x32\x37\x2d\x33\x31\x33\x2e\x38\x35\x34\x32\x33\x20\x31\ +\x34\x35\x2e\x37\x38\x36\x31\x35\x37\x2d\x33\x31\x31\x2e\x35\x36\ +\x33\x39\x30\x33\x20\x33\x31\x39\x2e\x38\x35\x38\x32\x30\x39\x20\ +\x32\x2e\x32\x36\x31\x34\x32\x37\x20\x31\x37\x31\x2e\x38\x31\x37\ +\x38\x35\x31\x20\x31\x34\x33\x2e\x38\x34\x39\x38\x35\x35\x20\x33\ +\x31\x31\x2e\x35\x39\x32\x38\x30\x33\x20\x33\x31\x35\x2e\x36\x33\ +\x31\x35\x38\x31\x20\x33\x31\x31\x2e\x35\x39\x32\x38\x30\x33\x6c\ +\x34\x2e\x32\x31\x39\x34\x30\x33\x2d\x30\x2e\x30\x32\x38\x39\x63\ +\x38\x34\x2e\x33\x33\x30\x32\x36\x32\x2d\x31\x2e\x31\x30\x35\x34\ +\x32\x36\x20\x31\x36\x33\x2e\x31\x38\x33\x39\x37\x2d\x33\x34\x2e\ +\x39\x38\x33\x34\x37\x36\x20\x32\x32\x32\x2e\x30\x33\x31\x36\x33\ +\x38\x2d\x39\x35\x2e\x33\x39\x38\x39\x37\x20\x35\x38\x2e\x38\x35\ +\x34\x38\x39\x33\x2d\x36\x30\x2e\x34\x31\x35\x34\x39\x34\x20\x39\ +\x30\x2e\x36\x34\x34\x39\x31\x36\x2d\x31\x34\x30\x2e\x31\x33\x36\ +\x32\x30\x33\x20\x38\x39\x2e\x35\x33\x32\x32\x36\x35\x2d\x32\x32\ +\x34\x2e\x34\x35\x32\x30\x31\x34\x2d\x30\x2e\x38\x38\x31\x34\x35\ +\x31\x2d\x36\x37\x2e\x38\x32\x38\x33\x35\x2d\x32\x33\x2e\x35\x35\ +\x33\x35\x31\x37\x2d\x31\x33\x30\x2e\x36\x31\x33\x36\x34\x36\x2d\ +\x36\x31\x2e\x31\x35\x39\x36\x36\x39\x2d\x31\x38\x31\x2e\x38\x33\ +\x31\x37\x30\x38\x6c\x31\x35\x37\x2e\x36\x31\x33\x34\x39\x2d\x31\ +\x35\x38\x2e\x37\x34\x37\x38\x31\x36\x56\x34\x39\x35\x2e\x34\x31\ +\x38\x36\x31\x33\x61\x34\x33\x2e\x33\x35\x30\x30\x33\x32\x20\x34\ +\x33\x2e\x33\x35\x30\x30\x33\x32\x20\x30\x20\x30\x20\x30\x20\x38\ +\x36\x2e\x37\x30\x30\x30\x36\x34\x20\x30\x56\x31\x35\x32\x2e\x33\ +\x34\x36\x34\x36\x32\x76\x2d\x30\x2e\x30\x35\x30\x35\x37\x35\x2d\ +\x30\x2e\x30\x38\x36\x37\x30\x31\x7a\x4d\x35\x37\x37\x2e\x31\x39\ +\x38\x34\x34\x38\x20\x37\x35\x31\x2e\x39\x37\x38\x35\x35\x31\x63\ +\x2d\x33\x39\x2e\x39\x39\x30\x34\x30\x34\x20\x34\x31\x2e\x30\x36\ +\x36\x39\x33\x2d\x39\x33\x2e\x35\x38\x35\x34\x39\x34\x20\x36\x34\ +\x2e\x30\x38\x35\x37\x39\x37\x2d\x31\x35\x30\x2e\x39\x30\x31\x34\ +\x36\x31\x20\x36\x34\x2e\x38\x34\x34\x34\x32\x32\x6c\x2d\x32\x2e\ +\x38\x39\x30\x30\x30\x32\x20\x30\x2e\x30\x31\x34\x34\x35\x63\x2d\ +\x31\x31\x36\x2e\x37\x33\x34\x34\x31\x20\x30\x2d\x32\x31\x32\x2e\ +\x39\x35\x37\x30\x33\x31\x2d\x39\x35\x2e\x30\x30\x31\x35\x39\x35\ +\x2d\x32\x31\x34\x2e\x34\x39\x35\x39\x35\x37\x2d\x32\x31\x31\x2e\ +\x37\x37\x32\x31\x33\x43\x32\x30\x37\x2e\x33\x35\x37\x36\x35\x32\ +\x20\x34\x38\x36\x2e\x37\x34\x38\x36\x30\x37\x20\x33\x30\x32\x2e\ +\x33\x35\x32\x30\x32\x31\x20\x33\x38\x39\x2e\x32\x33\x32\x37\x31\ +\x20\x34\x32\x30\x2e\x36\x36\x38\x37\x30\x38\x20\x33\x38\x37\x2e\ +\x36\x37\x32\x31\x30\x39\x6c\x32\x2e\x38\x39\x30\x30\x30\x32\x2d\ +\x30\x2e\x30\x30\x37\x32\x32\x35\x63\x31\x31\x36\x2e\x37\x34\x31\ +\x36\x33\x36\x20\x30\x20\x32\x31\x32\x2e\x39\x37\x31\x34\x38\x31\ +\x20\x39\x34\x2e\x39\x39\x34\x33\x37\x20\x32\x31\x34\x2e\x34\x38\ +\x38\x37\x33\x32\x20\x32\x31\x31\x2e\x37\x37\x39\x33\x35\x35\x20\ +\x30\x2e\x37\x35\x38\x36\x32\x36\x20\x35\x37\x2e\x33\x30\x31\x35\ +\x31\x37\x2d\x32\x30\x2e\x38\x35\x31\x33\x36\x35\x20\x31\x31\x31\ +\x2e\x34\x37\x34\x36\x30\x37\x2d\x36\x30\x2e\x38\x34\x38\x39\x39\ +\x34\x20\x31\x35\x32\x2e\x35\x33\x34\x33\x31\x32\x7a\x22\x20\x66\ +\x69\x6c\x6c\x3d\x22\x23\x31\x32\x39\x36\x64\x62\x22\x20\x70\x2d\ +\x69\x64\x3d\x22\x34\x32\x36\x39\x22\x3e\x3c\x2f\x70\x61\x74\x68\ +\x3e\x3c\x2f\x73\x76\x67\x3e\ +\x00\x00\x06\x9c\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\x6e\ +\x6f\x22\x3f\x3e\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\x76\ +\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\x43\ +\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\x45\ +\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\ +\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\x53\ +\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\x31\ +\x2e\x64\x74\x64\x22\x3e\x3c\x73\x76\x67\x20\x74\x3d\x22\x31\x37\ +\x30\x34\x32\x39\x35\x32\x30\x32\x32\x34\x35\x22\x20\x63\x6c\x61\ +\x73\x73\x3d\x22\x69\x63\x6f\x6e\x22\x20\x76\x69\x65\x77\x42\x6f\ +\x78\x3d\x22\x30\x20\x30\x20\x31\x30\x32\x34\x20\x31\x30\x32\x34\ +\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\ +\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\ +\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\ +\x67\x22\x20\x70\x2d\x69\x64\x3d\x22\x35\x35\x35\x38\x22\x20\x78\ +\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\ +\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\ +\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x77\x69\x64\x74\x68\x3d\ +\x22\x31\x36\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x31\x36\x22\ +\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x38\x37\x30\x2e\x36\ +\x39\x39\x35\x32\x20\x31\x35\x33\x2e\x33\x30\x30\x34\x38\x63\x2d\ +\x36\x36\x2e\x31\x30\x36\x38\x38\x2d\x36\x36\x2e\x31\x30\x39\x34\ +\x34\x2d\x31\x35\x34\x2e\x30\x30\x34\x34\x38\x2d\x31\x30\x32\x2e\ +\x35\x31\x37\x37\x36\x2d\x32\x34\x37\x2e\x34\x39\x36\x39\x36\x2d\ +\x31\x30\x32\x2e\x35\x31\x39\x30\x34\x2d\x39\x33\x2e\x34\x39\x32\ +\x34\x38\x20\x30\x2d\x31\x38\x31\x2e\x33\x38\x38\x38\x20\x33\x36\ +\x2e\x34\x30\x38\x33\x32\x2d\x32\x34\x37\x2e\x34\x39\x36\x39\x36\ +\x20\x31\x30\x32\x2e\x35\x31\x36\x34\x38\x2d\x36\x36\x2e\x31\x31\ +\x30\x37\x32\x20\x36\x36\x2e\x31\x30\x39\x34\x34\x2d\x31\x30\x32\ +\x2e\x35\x31\x36\x34\x38\x20\x31\x35\x34\x2e\x30\x30\x35\x37\x36\ +\x2d\x31\x30\x32\x2e\x35\x31\x36\x34\x38\x20\x32\x34\x37\x2e\x34\ +\x39\x39\x35\x32\x2d\x30\x2e\x30\x30\x31\x32\x38\x20\x37\x36\x2e\ +\x31\x39\x39\x36\x38\x20\x32\x34\x2e\x31\x39\x30\x37\x32\x20\x31\ +\x34\x38\x2e\x36\x37\x38\x34\x20\x36\x38\x2e\x39\x33\x30\x35\x36\ +\x20\x32\x30\x38\x2e\x36\x37\x35\x38\x34\x6c\x2d\x36\x30\x2e\x32\ +\x30\x34\x38\x20\x36\x30\x2e\x32\x30\x33\x35\x32\x4c\x31\x33\x38\ +\x2e\x31\x38\x34\x39\x36\x20\x35\x32\x35\x2e\x39\x34\x36\x38\x38\ +\x63\x2d\x31\x39\x2e\x39\x39\x34\x38\x38\x2d\x31\x39\x2e\x39\x39\ +\x34\x38\x38\x2d\x35\x32\x2e\x34\x31\x32\x31\x36\x2d\x31\x39\x2e\ +\x39\x39\x34\x38\x38\x2d\x37\x32\x2e\x34\x30\x37\x30\x34\x20\x30\ +\x2d\x31\x39\x2e\x39\x39\x34\x38\x38\x20\x31\x39\x2e\x39\x39\x33\ +\x36\x2d\x31\x39\x2e\x39\x39\x34\x38\x38\x20\x35\x32\x2e\x34\x31\ +\x32\x31\x36\x20\x30\x20\x37\x32\x2e\x34\x30\x37\x30\x34\x6c\x31\ +\x34\x33\x2e\x37\x32\x39\x39\x32\x20\x31\x34\x33\x2e\x37\x32\x39\ +\x39\x32\x2d\x35\x35\x2e\x37\x35\x35\x35\x32\x20\x35\x35\x2e\x37\ +\x35\x35\x35\x32\x63\x2d\x31\x39\x2e\x39\x39\x33\x36\x20\x31\x39\ +\x2e\x39\x39\x33\x36\x2d\x31\x39\x2e\x39\x39\x33\x36\x20\x35\x32\ +\x2e\x34\x31\x32\x31\x36\x20\x30\x20\x37\x32\x2e\x34\x30\x35\x37\ +\x36\x20\x31\x39\x2e\x39\x39\x36\x31\x36\x20\x31\x39\x2e\x39\x39\ +\x36\x31\x36\x20\x35\x32\x2e\x34\x31\x33\x34\x34\x20\x31\x39\x2e\ +\x39\x39\x34\x38\x38\x20\x37\x32\x2e\x34\x30\x38\x33\x32\x20\x30\ +\x6c\x35\x35\x2e\x37\x35\x34\x32\x34\x2d\x35\x35\x2e\x37\x35\x34\ +\x32\x34\x20\x31\x34\x33\x2e\x37\x33\x31\x32\x20\x31\x34\x33\x2e\ +\x37\x32\x39\x39\x32\x63\x31\x39\x2e\x39\x39\x33\x36\x20\x31\x39\ +\x2e\x39\x39\x34\x38\x38\x20\x35\x32\x2e\x34\x31\x30\x38\x38\x20\ +\x31\x39\x2e\x39\x39\x34\x38\x38\x20\x37\x32\x2e\x34\x30\x35\x37\ +\x36\x20\x30\x20\x31\x39\x2e\x39\x39\x36\x31\x36\x2d\x31\x39\x2e\ +\x39\x39\x34\x38\x38\x20\x31\x39\x2e\x39\x39\x36\x31\x36\x2d\x35\ +\x32\x2e\x34\x31\x32\x31\x36\x20\x30\x2d\x37\x32\x2e\x34\x30\x37\ +\x30\x34\x4c\x33\x35\x34\x2e\x33\x32\x31\x39\x32\x20\x37\x34\x32\ +\x2e\x30\x38\x35\x31\x32\x6c\x36\x30\x2e\x32\x30\x34\x38\x2d\x36\ +\x30\x2e\x32\x30\x33\x35\x32\x63\x35\x39\x2e\x39\x39\x38\x37\x32\ +\x20\x34\x34\x2e\x37\x33\x38\x35\x36\x20\x31\x33\x32\x2e\x34\x37\ +\x36\x31\x36\x20\x36\x38\x2e\x39\x33\x31\x38\x34\x20\x32\x30\x38\ +\x2e\x36\x37\x35\x38\x34\x20\x36\x38\x2e\x39\x33\x31\x38\x34\x20\ +\x39\x33\x2e\x34\x39\x32\x34\x38\x20\x30\x20\x31\x38\x31\x2e\x33\ +\x38\x37\x35\x32\x2d\x33\x36\x2e\x34\x30\x38\x33\x32\x20\x32\x34\ +\x37\x2e\x34\x39\x36\x39\x36\x2d\x31\x30\x32\x2e\x35\x31\x37\x37\ +\x36\x73\x31\x30\x32\x2e\x35\x31\x37\x37\x36\x2d\x31\x35\x34\x2e\ +\x30\x30\x35\x37\x36\x20\x31\x30\x32\x2e\x35\x31\x37\x37\x36\x2d\ +\x32\x34\x37\x2e\x34\x39\x38\x32\x34\x43\x39\x37\x33\x2e\x32\x31\ +\x37\x32\x38\x20\x33\x30\x37\x2e\x33\x30\x34\x39\x36\x20\x39\x33\ +\x36\x2e\x38\x30\x37\x36\x38\x20\x32\x31\x39\x2e\x34\x30\x37\x33\ +\x36\x20\x38\x37\x30\x2e\x36\x39\x39\x35\x32\x20\x31\x35\x33\x2e\ +\x33\x30\x30\x34\x38\x7a\x4d\x37\x39\x38\x2e\x32\x39\x32\x34\x38\ +\x20\x35\x37\x35\x2e\x38\x38\x37\x33\x36\x63\x2d\x34\x36\x2e\x37\ +\x36\x37\x33\x36\x20\x34\x36\x2e\x37\x36\x37\x33\x36\x2d\x31\x30\ +\x38\x2e\x39\x34\x39\x37\x36\x20\x37\x32\x2e\x35\x32\x34\x38\x2d\ +\x31\x37\x35\x2e\x30\x38\x39\x39\x32\x20\x37\x32\x2e\x35\x32\x34\ +\x38\x73\x2d\x31\x32\x38\x2e\x33\x32\x31\x32\x38\x2d\x32\x35\x2e\ +\x37\x35\x37\x34\x34\x2d\x31\x37\x35\x2e\x30\x38\x39\x39\x32\x2d\ +\x37\x32\x2e\x35\x32\x34\x38\x63\x2d\x34\x36\x2e\x37\x36\x38\x36\ +\x34\x2d\x34\x36\x2e\x37\x36\x37\x33\x36\x2d\x37\x32\x2e\x35\x32\ +\x34\x38\x2d\x31\x30\x38\x2e\x39\x34\x39\x37\x36\x2d\x37\x32\x2e\ +\x35\x32\x34\x38\x2d\x31\x37\x35\x2e\x30\x38\x39\x39\x32\x20\x30\ +\x2e\x30\x30\x31\x32\x38\x2d\x36\x36\x2e\x31\x34\x32\x37\x32\x20\ +\x32\x35\x2e\x37\x35\x36\x31\x36\x2d\x31\x32\x38\x2e\x33\x32\x33\ +\x38\x34\x20\x37\x32\x2e\x35\x32\x34\x38\x2d\x31\x37\x35\x2e\x30\ +\x39\x31\x32\x20\x34\x36\x2e\x37\x36\x37\x33\x36\x2d\x34\x36\x2e\ +\x37\x36\x38\x36\x34\x20\x31\x30\x38\x2e\x39\x34\x39\x37\x36\x2d\ +\x37\x32\x2e\x35\x32\x34\x38\x20\x31\x37\x35\x2e\x30\x38\x39\x39\ +\x32\x2d\x37\x32\x2e\x35\x32\x34\x38\x20\x36\x36\x2e\x31\x34\x30\ +\x31\x36\x20\x30\x2e\x30\x30\x31\x32\x38\x20\x31\x32\x38\x2e\x33\ +\x32\x32\x35\x36\x20\x32\x35\x2e\x37\x35\x37\x34\x34\x20\x31\x37\ +\x35\x2e\x30\x38\x39\x39\x32\x20\x37\x32\x2e\x35\x32\x36\x30\x38\ +\x20\x34\x36\x2e\x37\x36\x37\x33\x36\x20\x34\x36\x2e\x37\x36\x37\ +\x33\x36\x20\x37\x32\x2e\x35\x32\x34\x38\x20\x31\x30\x38\x2e\x39\ +\x34\x38\x34\x38\x20\x37\x32\x2e\x35\x32\x34\x38\x20\x31\x37\x35\ +\x2e\x30\x38\x38\x36\x34\x43\x38\x37\x30\x2e\x38\x31\x37\x32\x38\ +\x20\x34\x36\x36\x2e\x39\x33\x37\x36\x20\x38\x34\x35\x2e\x30\x36\ +\x32\x34\x20\x35\x32\x39\x2e\x31\x31\x38\x37\x32\x20\x37\x39\x38\ +\x2e\x32\x39\x32\x34\x38\x20\x35\x37\x35\x2e\x38\x38\x37\x33\x36\ +\x7a\x22\x20\x66\x69\x6c\x6c\x3d\x22\x23\x64\x38\x31\x65\x30\x36\ +\x22\x20\x70\x2d\x69\x64\x3d\x22\x35\x35\x35\x39\x22\x3e\x3c\x2f\ +\x70\x61\x74\x68\x3e\x3c\x2f\x73\x76\x67\x3e\ \x00\x00\x04\x9b\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ @@ -20236,6 +20555,14 @@ qt_resource_name = b"\ \x02\xc6\x3c\x87\ \x00\x6c\ \x00\x6f\x00\x67\x00\x6f\x00\x39\x00\x39\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x07\ +\x03\x81\x5a\x27\ +\x00\x6d\ +\x00\x61\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x09\ +\x03\x81\xa6\x07\ +\x00\x77\ +\x00\x6f\x00\x6d\x00\x61\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\ \x00\x0a\ \x04\xe0\xfa\xc7\ \x00\x6d\ @@ -20375,45 +20702,47 @@ qt_resource_name = b"\ qt_resource_struct_v1 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x1e\x00\x00\x00\x03\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x20\x00\x00\x00\x03\ \x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x13\x52\ \x00\x00\x00\x50\x00\x01\x00\x00\x00\x01\x00\x00\x19\x78\ \x00\x00\x00\x6c\x00\x00\x00\x00\x00\x01\x00\x00\x20\x83\ \x00\x00\x00\x88\x00\x00\x00\x00\x00\x01\x00\x00\x23\x99\ \x00\x00\x00\xa2\x00\x00\x00\x00\x00\x01\x00\x00\x58\xac\ -\x00\x00\x00\xbc\x00\x01\x00\x00\x00\x01\x00\x00\x5d\x4b\ -\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x01\x00\x01\xa6\x62\ -\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x01\xaf\x7a\ -\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x01\x00\x02\x4c\xc7\ -\x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x02\x57\x67\ -\x00\x00\x01\x2a\x00\x00\x00\x00\x00\x01\x00\x02\x5b\xeb\ -\x00\x00\x01\x40\x00\x01\x00\x00\x00\x01\x00\x02\x62\xb9\ -\x00\x00\x01\x5c\x00\x00\x00\x00\x00\x01\x00\x03\x63\x20\ -\x00\x00\x01\x7a\x00\x00\x00\x00\x00\x01\x00\x03\x66\xce\ -\x00\x00\x01\x8e\x00\x00\x00\x00\x00\x01\x00\x03\x6e\x9c\ -\x00\x00\x01\xb8\x00\x00\x00\x00\x00\x01\x00\x03\xde\x40\ -\x00\x00\x01\xd4\x00\x01\x00\x00\x00\x01\x00\x03\xf8\x9f\ -\x00\x00\x01\xfc\x00\x00\x00\x00\x00\x01\x00\x03\xfd\x96\ -\x00\x00\x02\x12\x00\x00\x00\x00\x00\x01\x00\x04\x03\x35\ -\x00\x00\x02\x2c\x00\x00\x00\x00\x00\x01\x00\x04\x07\x2c\ -\x00\x00\x02\x46\x00\x00\x00\x00\x00\x01\x00\x04\x0c\xcd\ -\x00\x00\x02\x5e\x00\x00\x00\x00\x00\x01\x00\x04\x0e\xfd\ -\x00\x00\x02\x72\x00\x00\x00\x00\x00\x01\x00\x04\x18\xfa\ -\x00\x00\x02\x8c\x00\x02\x00\x00\x00\x08\x00\x00\x00\x21\ -\x00\x00\x02\xa0\x00\x00\x00\x00\x00\x01\x00\x04\x21\x35\ -\x00\x00\x02\xb6\x00\x00\x00\x00\x00\x01\x00\x04\x28\xeb\ -\x00\x00\x02\xca\x00\x00\x00\x00\x00\x01\x00\x04\x2c\x64\ -\x00\x00\x02\xe0\x00\x00\x00\x00\x00\x01\x00\x04\x35\x6f\ -\x00\x00\x02\xf6\x00\x00\x00\x00\x00\x01\x00\x04\x3c\xb4\ -\x00\x00\x03\x10\x00\x00\x00\x00\x00\x01\x00\x04\xb9\x2b\ -\x00\x00\x03\x20\x00\x00\x00\x00\x00\x01\x00\x04\xbe\x95\ -\x00\x00\x03\x30\x00\x00\x00\x00\x00\x01\x00\x04\xc4\x13\ -\x00\x00\x03\x40\x00\x00\x00\x00\x00\x01\x00\x04\xca\x36\ -\x00\x00\x03\x50\x00\x00\x00\x00\x00\x01\x00\x04\xd0\x3f\ -\x00\x00\x03\x60\x00\x00\x00\x00\x00\x01\x00\x04\xd6\x62\ -\x00\x00\x03\x70\x00\x00\x00\x00\x00\x01\x00\x04\xdc\xa3\ -\x00\x00\x03\x80\x00\x00\x00\x00\x00\x01\x00\x04\xe2\xf6\ +\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x65\xb8\ +\x00\x00\x00\xce\x00\x00\x00\x00\x00\x01\x00\x00\x6c\x58\ +\x00\x00\x00\xe8\x00\x01\x00\x00\x00\x01\x00\x00\x70\xf7\ +\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x01\x00\x01\xba\x0e\ +\x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x01\xc3\x26\ +\x00\x00\x01\x2a\x00\x00\x00\x00\x00\x01\x00\x02\x60\x73\ +\x00\x00\x01\x40\x00\x00\x00\x00\x00\x01\x00\x02\x6b\x13\ +\x00\x00\x01\x56\x00\x00\x00\x00\x00\x01\x00\x02\x6f\x97\ +\x00\x00\x01\x6c\x00\x01\x00\x00\x00\x01\x00\x02\x76\x65\ +\x00\x00\x01\x88\x00\x00\x00\x00\x00\x01\x00\x03\x76\xcc\ +\x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x03\x7a\x7a\ +\x00\x00\x01\xba\x00\x00\x00\x00\x00\x01\x00\x03\x82\x48\ +\x00\x00\x01\xe4\x00\x00\x00\x00\x00\x01\x00\x03\xf1\xec\ +\x00\x00\x02\x00\x00\x01\x00\x00\x00\x01\x00\x04\x0c\x4b\ +\x00\x00\x02\x28\x00\x00\x00\x00\x00\x01\x00\x04\x11\x42\ +\x00\x00\x02\x3e\x00\x00\x00\x00\x00\x01\x00\x04\x16\xe1\ +\x00\x00\x02\x58\x00\x00\x00\x00\x00\x01\x00\x04\x1a\xd8\ +\x00\x00\x02\x72\x00\x00\x00\x00\x00\x01\x00\x04\x20\x79\ +\x00\x00\x02\x8a\x00\x00\x00\x00\x00\x01\x00\x04\x22\xa9\ +\x00\x00\x02\x9e\x00\x00\x00\x00\x00\x01\x00\x04\x2c\xa6\ +\x00\x00\x02\xb8\x00\x02\x00\x00\x00\x08\x00\x00\x00\x23\ +\x00\x00\x02\xcc\x00\x00\x00\x00\x00\x01\x00\x04\x34\xe1\ +\x00\x00\x02\xe2\x00\x00\x00\x00\x00\x01\x00\x04\x3c\x97\ +\x00\x00\x02\xf6\x00\x00\x00\x00\x00\x01\x00\x04\x40\x10\ +\x00\x00\x03\x0c\x00\x00\x00\x00\x00\x01\x00\x04\x49\x1b\ +\x00\x00\x03\x22\x00\x00\x00\x00\x00\x01\x00\x04\x50\x60\ +\x00\x00\x03\x3c\x00\x00\x00\x00\x00\x01\x00\x04\xcc\xd7\ +\x00\x00\x03\x4c\x00\x00\x00\x00\x00\x01\x00\x04\xd2\x41\ +\x00\x00\x03\x5c\x00\x00\x00\x00\x00\x01\x00\x04\xd7\xbf\ +\x00\x00\x03\x6c\x00\x00\x00\x00\x00\x01\x00\x04\xdd\xe2\ +\x00\x00\x03\x7c\x00\x00\x00\x00\x00\x01\x00\x04\xe3\xeb\ +\x00\x00\x03\x8c\x00\x00\x00\x00\x00\x01\x00\x04\xea\x0e\ +\x00\x00\x03\x9c\x00\x00\x00\x00\x00\x01\x00\x04\xf0\x4f\ +\x00\x00\x03\xac\x00\x00\x00\x00\x00\x01\x00\x04\xf6\xa2\ " qt_resource_struct_v2 = b"\ @@ -20421,7 +20750,7 @@ qt_resource_struct_v2 = b"\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x1e\x00\x00\x00\x03\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x20\x00\x00\x00\x03\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x01\x8c\x68\xa4\x46\x85\ @@ -20434,70 +20763,74 @@ qt_resource_struct_v2 = b"\ \x00\x00\x00\x88\x00\x00\x00\x00\x00\x01\x00\x00\x23\x99\ \x00\x00\x01\x8c\x78\x59\xbc\xb7\ \x00\x00\x00\xa2\x00\x00\x00\x00\x00\x01\x00\x00\x58\xac\ +\x00\x00\x01\x8c\xcf\xe8\x73\xf5\ +\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x65\xb8\ +\x00\x00\x01\x8c\xcf\xe9\x09\x8f\ +\x00\x00\x00\xce\x00\x00\x00\x00\x00\x01\x00\x00\x6c\x58\ \x00\x00\x01\x8c\x16\x33\xc3\xa6\ -\x00\x00\x00\xbc\x00\x01\x00\x00\x00\x01\x00\x00\x5d\x4b\ +\x00\x00\x00\xe8\x00\x01\x00\x00\x00\x01\x00\x00\x70\xf7\ \x00\x00\x01\x8c\x6d\x89\xe4\xbc\ -\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x01\x00\x01\xa6\x62\ +\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x01\x00\x01\xba\x0e\ \x00\x00\x01\x8c\x16\x33\xc3\xa6\ -\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x01\xaf\x7a\ +\x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x01\xc3\x26\ \x00\x00\x01\x8c\x6d\x88\x2e\xd6\ -\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x01\x00\x02\x4c\xc7\ +\x00\x00\x01\x2a\x00\x00\x00\x00\x00\x01\x00\x02\x60\x73\ \x00\x00\x01\x8c\x68\x9d\xe8\x7e\ -\x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x02\x57\x67\ +\x00\x00\x01\x40\x00\x00\x00\x00\x00\x01\x00\x02\x6b\x13\ \x00\x00\x01\x8c\x68\x9b\xc1\xa3\ -\x00\x00\x01\x2a\x00\x00\x00\x00\x00\x01\x00\x02\x5b\xeb\ +\x00\x00\x01\x56\x00\x00\x00\x00\x00\x01\x00\x02\x6f\x97\ \x00\x00\x01\x8c\x16\x33\xc3\xa8\ -\x00\x00\x01\x40\x00\x01\x00\x00\x00\x01\x00\x02\x62\xb9\ +\x00\x00\x01\x6c\x00\x01\x00\x00\x00\x01\x00\x02\x76\x65\ \x00\x00\x01\x8c\xcf\xb0\x99\x1a\ -\x00\x00\x01\x5c\x00\x00\x00\x00\x00\x01\x00\x03\x63\x20\ +\x00\x00\x01\x88\x00\x00\x00\x00\x00\x01\x00\x03\x76\xcc\ \x00\x00\x01\x8c\x16\x33\xc3\xa1\ -\x00\x00\x01\x7a\x00\x00\x00\x00\x00\x01\x00\x03\x66\xce\ +\x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x03\x7a\x7a\ \x00\x00\x01\x8c\x16\x33\xc3\xa0\ -\x00\x00\x01\x8e\x00\x00\x00\x00\x00\x01\x00\x03\x6e\x9c\ +\x00\x00\x01\xba\x00\x00\x00\x00\x00\x01\x00\x03\x82\x48\ \x00\x00\x01\x8c\x68\x29\xd1\xb6\ -\x00\x00\x01\xb8\x00\x00\x00\x00\x00\x01\x00\x03\xde\x40\ +\x00\x00\x01\xe4\x00\x00\x00\x00\x00\x01\x00\x03\xf1\xec\ \x00\x00\x01\x8c\x68\x9d\x55\xe4\ -\x00\x00\x01\xd4\x00\x01\x00\x00\x00\x01\x00\x03\xf8\x9f\ +\x00\x00\x02\x00\x00\x01\x00\x00\x00\x01\x00\x04\x0c\x4b\ \x00\x00\x01\x8c\x68\x9f\x28\x85\ -\x00\x00\x01\xfc\x00\x00\x00\x00\x00\x01\x00\x03\xfd\x96\ +\x00\x00\x02\x28\x00\x00\x00\x00\x00\x01\x00\x04\x11\x42\ \x00\x00\x01\x8c\x16\x33\xc3\xa3\ -\x00\x00\x02\x12\x00\x00\x00\x00\x00\x01\x00\x04\x03\x35\ +\x00\x00\x02\x3e\x00\x00\x00\x00\x00\x01\x00\x04\x16\xe1\ \x00\x00\x01\x8c\x68\xa0\xc4\x69\ -\x00\x00\x02\x2c\x00\x00\x00\x00\x00\x01\x00\x04\x07\x2c\ +\x00\x00\x02\x58\x00\x00\x00\x00\x00\x01\x00\x04\x1a\xd8\ \x00\x00\x01\x8c\x16\x33\xc3\xa7\ -\x00\x00\x02\x46\x00\x00\x00\x00\x00\x01\x00\x04\x0c\xcd\ +\x00\x00\x02\x72\x00\x00\x00\x00\x00\x01\x00\x04\x20\x79\ \x00\x00\x01\x8c\x68\xa6\x6b\x89\ -\x00\x00\x02\x5e\x00\x00\x00\x00\x00\x01\x00\x04\x0e\xfd\ +\x00\x00\x02\x8a\x00\x00\x00\x00\x00\x01\x00\x04\x22\xa9\ \x00\x00\x01\x8c\x16\x33\xc3\xa4\ -\x00\x00\x02\x72\x00\x00\x00\x00\x00\x01\x00\x04\x18\xfa\ +\x00\x00\x02\x9e\x00\x00\x00\x00\x00\x01\x00\x04\x2c\xa6\ \x00\x00\x01\x8c\x68\xa5\xb8\xe6\ -\x00\x00\x02\x8c\x00\x02\x00\x00\x00\x08\x00\x00\x00\x21\ +\x00\x00\x02\xb8\x00\x02\x00\x00\x00\x08\x00\x00\x00\x23\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x02\xa0\x00\x00\x00\x00\x00\x01\x00\x04\x21\x35\ +\x00\x00\x02\xcc\x00\x00\x00\x00\x00\x01\x00\x04\x34\xe1\ \x00\x00\x01\x8c\x16\x33\xc3\xa5\ -\x00\x00\x02\xb6\x00\x00\x00\x00\x00\x01\x00\x04\x28\xeb\ +\x00\x00\x02\xe2\x00\x00\x00\x00\x00\x01\x00\x04\x3c\x97\ \x00\x00\x01\x8c\x68\x2b\xa2\xb9\ -\x00\x00\x02\xca\x00\x00\x00\x00\x00\x01\x00\x04\x2c\x64\ +\x00\x00\x02\xf6\x00\x00\x00\x00\x00\x01\x00\x04\x40\x10\ \x00\x00\x01\x8c\x68\xa8\x53\x77\ -\x00\x00\x02\xe0\x00\x00\x00\x00\x00\x01\x00\x04\x35\x6f\ +\x00\x00\x03\x0c\x00\x00\x00\x00\x00\x01\x00\x04\x49\x1b\ \x00\x00\x01\x8c\x68\x9c\x76\x1a\ -\x00\x00\x02\xf6\x00\x00\x00\x00\x00\x01\x00\x04\x3c\xb4\ +\x00\x00\x03\x22\x00\x00\x00\x00\x00\x01\x00\x04\x50\x60\ \x00\x00\x01\x8c\x9b\xb4\x01\x0f\ -\x00\x00\x03\x10\x00\x00\x00\x00\x00\x01\x00\x04\xb9\x2b\ +\x00\x00\x03\x3c\x00\x00\x00\x00\x00\x01\x00\x04\xcc\xd7\ \x00\x00\x01\x8b\x0b\x05\xf6\x30\ -\x00\x00\x03\x20\x00\x00\x00\x00\x00\x01\x00\x04\xbe\x95\ +\x00\x00\x03\x4c\x00\x00\x00\x00\x00\x01\x00\x04\xd2\x41\ \x00\x00\x01\x8b\x0b\x05\xf6\x30\ -\x00\x00\x03\x30\x00\x00\x00\x00\x00\x01\x00\x04\xc4\x13\ +\x00\x00\x03\x5c\x00\x00\x00\x00\x00\x01\x00\x04\xd7\xbf\ \x00\x00\x01\x8b\x0b\x05\xf6\x30\ -\x00\x00\x03\x40\x00\x00\x00\x00\x00\x01\x00\x04\xca\x36\ +\x00\x00\x03\x6c\x00\x00\x00\x00\x00\x01\x00\x04\xdd\xe2\ \x00\x00\x01\x8b\x0b\x05\xf6\x30\ -\x00\x00\x03\x50\x00\x00\x00\x00\x00\x01\x00\x04\xd0\x3f\ +\x00\x00\x03\x7c\x00\x00\x00\x00\x00\x01\x00\x04\xe3\xeb\ \x00\x00\x01\x8b\x0b\x05\xf6\x30\ -\x00\x00\x03\x60\x00\x00\x00\x00\x00\x01\x00\x04\xd6\x62\ +\x00\x00\x03\x8c\x00\x00\x00\x00\x00\x01\x00\x04\xea\x0e\ \x00\x00\x01\x8b\x0b\x05\xf6\x30\ -\x00\x00\x03\x70\x00\x00\x00\x00\x00\x01\x00\x04\xdc\xa3\ +\x00\x00\x03\x9c\x00\x00\x00\x00\x00\x01\x00\x04\xf0\x4f\ \x00\x00\x01\x8b\x0b\x05\xf6\x30\ -\x00\x00\x03\x80\x00\x00\x00\x00\x00\x01\x00\x04\xe2\xf6\ +\x00\x00\x03\xac\x00\x00\x00\x00\x00\x01\x00\x04\xf6\xa2\ \x00\x00\x01\x8b\x0b\x05\xf6\x30\ " diff --git a/app/ui/Icon.py b/app/ui/Icon.py index 834bd68..87e0c5f 100644 --- a/app/ui/Icon.py +++ b/app/ui/Icon.py @@ -32,4 +32,8 @@ class Icon: Folder_Icon = QIcon(':/icons/icons/folder.svg') Start_Icon = QIcon(':/icons/icons/start.svg') Decrypt_Icon = QIcon(':/icons/icons/decrypt.svg') + Man_Icon = QIcon(':/icons/icons/man.svg') + Woman_Icon = QIcon(':/icons/icons/woman.svg') + Man_Icon_path = ':/icons/icons/man.svg' + Woman_Icon_path = ':/icons/icons/woman.svg' # Logo_Icon = QIcon(':/icons/icons/logo.png') diff --git a/app/ui/contact/userinfo/userinfo.py b/app/ui/contact/userinfo/userinfo.py index 6e37341..c0359fe 100644 --- a/app/ui/contact/userinfo/userinfo.py +++ b/app/ui/contact/userinfo/userinfo.py @@ -1,7 +1,9 @@ +from PyQt5.QtGui import QPixmap from PyQt5.QtWidgets import * from app.util.region_conversion import conversion_region_to_chinese from .userinfoUi import Ui_Frame +from ...Icon import Icon class UserinfoController(QWidget, Ui_Frame): @@ -21,3 +23,14 @@ class UserinfoController(QWidget, Ui_Frame): region = contact.detail.get('region') area = conversion_region_to_chinese(region) self.l_region.setText(f'地区:{area}') + gender_code = contact.detail.get('gender') + gender = '' + pixmap =QPixmap() + if gender_code == 1: + gender = '男' + pixmap = QPixmap(Icon.Man_Icon_path) + elif gender_code == 2: + gender = '女' + pixmap = QPixmap(Icon.Woman_Icon_path) + self.l_gender.setPixmap(pixmap) + # self.l_gender.setText() diff --git a/app/ui/contact/userinfo/userinfoUi.py b/app/ui/contact/userinfo/userinfoUi.py index 3e24965..a3928b3 100644 --- a/app/ui/contact/userinfo/userinfoUi.py +++ b/app/ui/contact/userinfo/userinfoUi.py @@ -18,16 +18,15 @@ class Ui_Frame(object): Frame.setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor)) Frame.setMouseTracking(True) Frame.setTabletTracking(True) - self.horizontalLayout = QtWidgets.QHBoxLayout(Frame) - self.horizontalLayout.setObjectName("horizontalLayout") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout(Frame) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") spacerItem = QtWidgets.QSpacerItem(162, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) - self.horizontalLayout.addItem(spacerItem) + self.horizontalLayout_2.addItem(spacerItem) self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem1) self.gridLayout_2 = QtWidgets.QGridLayout() - self.gridLayout_2.setVerticalSpacing(0) self.gridLayout_2.setObjectName("gridLayout_2") self.l_avatar = QtWidgets.QLabel(Frame) self.l_avatar.setMinimumSize(QtCore.QSize(80, 80)) @@ -38,6 +37,8 @@ class Ui_Frame(object): self.l_avatar.setAlignment(QtCore.Qt.AlignCenter) self.l_avatar.setObjectName("l_avatar") self.gridLayout_2.addWidget(self.l_avatar, 0, 0, 4, 1) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") self.l_remark = QtWidgets.QLabel(Frame) self.l_remark.setMinimumSize(QtCore.QSize(0, 30)) self.l_remark.setMaximumSize(QtCore.QSize(16777215, 30)) @@ -46,7 +47,16 @@ class Ui_Frame(object): self.l_remark.setFont(font) self.l_remark.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse) self.l_remark.setObjectName("l_remark") - self.gridLayout_2.addWidget(self.l_remark, 0, 1, 1, 1) + self.horizontalLayout.addWidget(self.l_remark) + self.l_gender = QtWidgets.QLabel(Frame) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.l_gender.sizePolicy().hasHeightForWidth()) + self.l_gender.setSizePolicy(sizePolicy) + self.l_gender.setObjectName("l_gender") + self.horizontalLayout.addWidget(self.l_gender) + self.gridLayout_2.addLayout(self.horizontalLayout, 0, 1, 1, 1) self.l_nickname = QtWidgets.QLabel(Frame) self.l_nickname.setMinimumSize(QtCore.QSize(0, 20)) self.l_nickname.setMaximumSize(QtCore.QSize(16777215, 20)) @@ -131,9 +141,9 @@ class Ui_Frame(object): self.verticalLayout.addLayout(self.gridLayout) spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem3) - self.horizontalLayout.addLayout(self.verticalLayout) + self.horizontalLayout_2.addLayout(self.verticalLayout) spacerItem4 = QtWidgets.QSpacerItem(162, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) - self.horizontalLayout.addItem(spacerItem4) + self.horizontalLayout_2.addItem(spacerItem4) self.retranslateUi(Frame) QtCore.QMetaObject.connectSlotsByName(Frame) @@ -142,6 +152,7 @@ class Ui_Frame(object): _translate = QtCore.QCoreApplication.translate Frame.setWindowTitle(_translate("Frame", "Frame")) self.l_remark.setText(_translate("Frame", "曹雨萱")) + self.l_gender.setText(_translate("Frame", "TextLabel")) self.l_nickname.setText(_translate("Frame", "昵称:997")) self.l_username.setText(_translate("Frame", "账号:TextLabel")) self.l_region.setText(_translate("Frame", "TextLabel"))