This commit is contained in:
Lee2vv 2024-05-05 13:46:50 +08:00
parent c77a009b3f
commit 0b82373111
3134 changed files with 140395 additions and 138044 deletions

58
1.18 谷歌翻译/translate.py Normal file → Executable file
View File

@ -1,30 +1,30 @@
import requests
import re
def translate(text, target_language):
url = 'https://translate.google.cn/_/TranslateWebserverUi/data/batchexecute?rpcids=MkEWBc&f.sid=-2984828793698248690&bl=boq_translate-webserver_20201221.17_p0&hl=zh-CN&soc-app=1&soc-platform=1&soc-device=1&_reqid=5445720&rt=c'
headers = {
'origin': 'https://translate.google.cn',
'referer': 'https://translate.google.cn/',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36',
'x-client-data': 'CIW2yQEIpbbJAQjEtskBCKmdygEIrMfKAQj2x8oBCPfHygEItMvKAQihz8oBCNzVygEIi5nLAQjBnMsB',
'Decoded':'message ClientVariations {repeated int32 variation_id = [3300101, 3300133, 3300164, 3313321, 3318700, 3318774, 3318775, 3319220, 3319713, 3320540, 3329163, 3329601];}',
'x-same-domain': '1'
}
data = {'f.req': f'[[["MkEWBc","[[\\"{text}\\",\\"auto\\",\\"{target_language}\\",true],[null]]",null,"generic"]]]'}
res = requests.post(url, headers=headers, data=data).text
temp = re.findall(r'\\(.*?)\\', res)
index = temp.index('"zh')
yiwen=str(temp[index-1]).replace('"','')
return yiwen
if __name__ == '__main__':
text = input("请输入你要翻译的内容:")
if len(text) > 0:
print('译文:' + translate(text, "zh"))
else:
import requests
import re
def translate(text, target_language):
url = 'https://translate.google.cn/_/TranslateWebserverUi/data/batchexecute?rpcids=MkEWBc&f.sid=-2984828793698248690&bl=boq_translate-webserver_20201221.17_p0&hl=zh-CN&soc-app=1&soc-platform=1&soc-device=1&_reqid=5445720&rt=c'
headers = {
'origin': 'https://translate.google.cn',
'referer': 'https://translate.google.cn/',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36',
'x-client-data': 'CIW2yQEIpbbJAQjEtskBCKmdygEIrMfKAQj2x8oBCPfHygEItMvKAQihz8oBCNzVygEIi5nLAQjBnMsB',
'Decoded':'message ClientVariations {repeated int32 variation_id = [3300101, 3300133, 3300164, 3313321, 3318700, 3318774, 3318775, 3319220, 3319713, 3320540, 3329163, 3329601];}',
'x-same-domain': '1'
}
data = {'f.req': f'[[["MkEWBc","[[\\"{text}\\",\\"auto\\",\\"{target_language}\\",true],[null]]",null,"generic"]]]'}
res = requests.post(url, headers=headers, data=data).text
temp = re.findall(r'\\(.*?)\\', res)
index = temp.index('"zh')
yiwen=str(temp[index-1]).replace('"','')
return yiwen
if __name__ == '__main__':
text = input("请输入你要翻译的内容:")
if len(text) > 0:
print('译文:' + translate(text, "zh"))
else:
print("非法输入,无结果")

View File

@ -1,8 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.8" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.8" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/词频统计.txt" charset="GBK" />
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/词频统计.txt" charset="GBK" />
</component>
</project>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8" project-jdk-type="Python SDK" />
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8" project-jdk-type="Python SDK" />
</project>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/DataScience.iml" filepath="$PROJECT_DIR$/.idea/DataScience.iml" />
</modules>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/DataScience.iml" filepath="$PROJECT_DIR$/.idea/DataScience.iml" />
</modules>
</component>
</project>

86
1.2 数据处理/DataProcess/Generator.py Normal file → Executable file
View File

@ -1,44 +1,44 @@
from random import choice, randint
import random
import pandas as pd
FirstName = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁'
LastName = '豫章故郡洪都新府星分翼轸地接衡庐襟三江而带五湖郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜飞李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁'
def getSex():
return choice(('', ''))
def getNo():
return str(random.randint(10000000,99999999))
def getName():
return (FirstName[randint(0,126)]+LastName[randint(0,135)])
def getProvince():
return choice(('北京市', '天津市', '上海市', '重庆市', '河北省', '山西省', '辽宁省', '吉林省', '黑龙江省', '江苏省', '浙江省', '安徽省', '福建省',
'江西省', '山东省', '河南省', '湖北省', '湖南省', '广东省', '海南省', '四川省', '贵州省', '云南省', '陕西省', '甘肃省', '青海省',
'台湾省', '内蒙古自治区', '广西壮族自治区', '西藏自治区', '宁夏回族自治区', '新疆维吾尔自治区', '香港特别行政区', '澳门特别行政区'))
def getScore():
return randint(0,750)
def createExcel():
data = {}
no = []
name = []
sex = []
native = []
score = []
for i in range(10000):
no.append(getNo())
name.append(getName())
sex.append(getSex())
native.append(getProvince())
score.append(getScore())
data['考号'] = no
data['姓名'] = name
data['性别'] = sex
data['所在省份'] = native
data['高考成绩'] = score
excel = pd.DataFrame(data)
from random import choice, randint
import random
import pandas as pd
FirstName = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁'
LastName = '豫章故郡洪都新府星分翼轸地接衡庐襟三江而带五湖郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜飞李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁'
def getSex():
return choice(('', ''))
def getNo():
return str(random.randint(10000000,99999999))
def getName():
return (FirstName[randint(0,126)]+LastName[randint(0,135)])
def getProvince():
return choice(('北京市', '天津市', '上海市', '重庆市', '河北省', '山西省', '辽宁省', '吉林省', '黑龙江省', '江苏省', '浙江省', '安徽省', '福建省',
'江西省', '山东省', '河南省', '湖北省', '湖南省', '广东省', '海南省', '四川省', '贵州省', '云南省', '陕西省', '甘肃省', '青海省',
'台湾省', '内蒙古自治区', '广西壮族自治区', '西藏自治区', '宁夏回族自治区', '新疆维吾尔自治区', '香港特别行政区', '澳门特别行政区'))
def getScore():
return randint(0,750)
def createExcel():
data = {}
no = []
name = []
sex = []
native = []
score = []
for i in range(10000):
no.append(getNo())
name.append(getName())
sex.append(getSex())
native.append(getProvince())
score.append(getScore())
data['考号'] = no
data['姓名'] = name
data['性别'] = sex
data['所在省份'] = native
data['高考成绩'] = score
excel = pd.DataFrame(data)
excel.to_excel("..\information.xlsx")

20
1.2 数据处理/DataProcess/Main.py Normal file → Executable file
View File

@ -1,10 +1,10 @@
from DataProcess import Generator, ReadFile
def main():
Generator.createExcel()
ReadFile.readFile("information.xlsx")
if __name__ == "__main__":
main()
from DataProcess import Generator, ReadFile
def main():
Generator.createExcel()
ReadFile.readFile("information.xlsx")
if __name__ == "__main__":
main()

16
1.2 数据处理/DataProcess/ReadFile.py Normal file → Executable file
View File

@ -1,9 +1,9 @@
import pandas as pd
def readFile(filename):
file = pd.read_excel(filename)
def isAdmitted()
def Front10(group):
import pandas as pd
def readFile(filename):
file = pd.read_excel(filename)
def isAdmitted()
def Front10(group):
return (group.max() - group.min()) *

0
1.2 数据处理/DataProcess/__init__.py Normal file → Executable file
View File

0
1.2 数据处理/__init__.py Normal file → Executable file
View File

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

50
1.26 自动化测试/dfs_to_routes.py Normal file → Executable file
View File

@ -1,25 +1,25 @@
from stack import Stack
routes = []
def dfs(g, startPoint, adj, nodesNum):
print(adj)
route = ""
stack = Stack(nodesNum)
stack.push(startPoint)
visited = set()
visited.add(startPoint)
while stack.size() > 0:
vertex = stack.pop()
route += vertex + "->"
nodes = adj[vertex]
for node in nodes:
if node == '结束':
route += "结束"
routes.append(route)
route = route[:-2]
if node not in visited and node != "结束":
stack.push(node)
visited.add(node)
return routes
from stack import Stack
routes = []
def dfs(g, startPoint, adj, nodesNum):
print(adj)
route = ""
stack = Stack(nodesNum)
stack.push(startPoint)
visited = set()
visited.add(startPoint)
while stack.size() > 0:
vertex = stack.pop()
route += vertex + "->"
nodes = adj[vertex]
for node in nodes:
if node == '结束':
route += "结束"
routes.append(route)
route = route[:-2]
if node not in visited and node != "结束":
stack.push(node)
visited.add(node)
return routes

0
1.26 自动化测试/generate_use_cases.py Normal file → Executable file
View File

0
1.26 自动化测试/hanlp_tokenizier.py Normal file → Executable file
View File

286
1.26 自动化测试/legacy/testautomation_old.py Normal file → Executable file
View File

@ -1,143 +1,143 @@
import os
from selenium import webdriver
import time
import csv
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome(r"X:\test_website\chromedriver.exe")
driver.implicitly_wait(10)
driver.maximize_window()
# 登录测试
def login_test():
result = []
with open('登录.csv', encoding='GBK') as file:
reader = csv.reader(file)
for row in reader:
# 回到登录页
driver.get('http://localhost')
# username
driver.find_element('name', 'username').send_keys(row[0]) # 输入用户名
# password
driver.find_element('name', 'userpwd').send_keys(row[1]) # 输入密码
# login button
driver.find_element('xpath', '/html/body/div[1]/div[3]/form/div[3]/input').click()
time.sleep(2)
# 测试
if EC.alert_is_present()(driver):
alert = driver.switch_to.alert
state = alert.text
alert.accept()
st = "账号:" + row[0] + " 密码:" + row[1] + " 测试不通过[" + state + "]"
print(st)
result.append(st)
else:
driver.get('http://localhost/admin_head.php')
account = driver.find_element('name', 'username').text
if account == row[0]:
st = "账号:" + row[0] + " 密码:" + row[1] + " 测试通过"
print()
result.append(st)
else:
st = "账号:" + row[0] + " 密码:" + row[1] + " 测试不通过[账户不正确]"
print(st)
result.append(st)
time.sleep(5)
return result
def login_before_testing():
# 先登录username
driver.find_element('name', 'username').send_keys('admin') # 输入用户名
# password
driver.find_element('name', 'userpwd').send_keys('admin') # 输入密码
# login button
driver.find_element('xpath', '/html/body/div[1]/div[3]/form/div[3]/input').click()
time.sleep(2)
def new_staff_test():
result = []
with open('新增员工.csv', encoding='GBK') as file:
reader = csv.reader(file)
for row in reader:
driver.get('http://localhost/class_add.php?class=yuangong')
if 'yuangong' not in driver.current_url:
login_before_testing()
driver.get('http://localhost/class_add.php?class=yuangong')
# 测试
driver.find_element('name', 'name').send_keys(row[0])
driver.find_element('name', 'tel').send_keys(row[1])
driver.find_element('name', 'shengri').send_keys(row[2])
driver.find_element('name', 'address').send_keys(row[3])
driver.find_element('name', 'beizhu').send_keys(row[4])
driver.find_element('xpath', '/html/body/form/table/tbody/tr[6]/td[2]/input').click()
# 捕捉 alert 窗口
if EC.alert_is_present()(driver):
alert = driver.switch_to.alert
state = alert.text
alert.accept()
if state == '添加成功':
st = "员工名称:" + row[0] + " 电话:" + row[1] + " 生日:" + row[2] + " 部门:" + row[3] + " 备注:" + row[
4] + " 测试通过[" + state + "]"
print(st)
result.append(st)
else:
st = "员工名称:" + row[0] + " 电话:" + row[1] + " 生日:" + row[2] + " 部门:" + row[3] + " 备注:" + row[
4] + " 测试不通过[" + state + "]"
print(st)
result.append(st)
time.sleep(5)
return result
def new_user_test():
result = []
with open('新增用户.csv', encoding='GBK') as file:
reader = csv.reader(file)
for row in reader:
driver.get('http://localhost/user_add.php')
# 重新登录
if 'user' not in driver.current_url:
login_before_testing()
driver.get('http://localhost/user_add.php')
# 测试
driver.find_element('name', 'UserName').send_keys(row[0])
driver.find_element('name', 'Realname').send_keys(row[1])
driver.find_element('name', 'mobile').send_keys(row[2])
driver.find_element('name', 'img').send_keys(row[3])
driver.find_element('name', 'zhanghu').send_keys(row[4])
driver.find_element('name', 'wanglai').send_keys(row[5])
driver.find_element('name', 'yuangong').send_keys(row[6])
driver.find_element('name', 'xiangmu').send_keys(row[7])
driver.find_element('name', 'pwd1').send_keys(row[8])
driver.find_element('name', 'pwd2').send_keys(row[9])
driver.find_element('name', 'AdminPower').send_keys(row[10])
driver.find_element('name', 'flag[]').send_keys(row[11])
driver.find_element('xpath', '/html/body/form/table/tbody/tr[13]/td[2]/input').click()
if EC.alert_is_present()(driver):
alert = driver.switch_to.alert
state = alert.text
alert.accept()
if state == '添加成功':
st = "用户名:" + row[0] + " 真实姓名:" + row[1] + " 手机号码:" + row[2] + " 头像图片:" + row[3] + " 默认资金账户:" + row[
4] + " 默认客户:" + row[5] + " 默认员工:" + row[6] + " 默认项目:" + row[7] + " 密码:" + row[8] + " 确认密码:" + \
row[9] + " 用户级别:" + row[10] + " 权限:" + row[11] + " 测试通过[" + state + "]"
print(st)
result.append(st)
else:
st = "用户名:" + row[0] + " 真实姓名:" + row[1] + " 手机号码:" + row[2] + " 头像图片:" + row[3] + " 默认资金账户:" + row[
4] + " 默认客户:" + row[5] + " 默认员工:" + row[6] + " 默认项目:" + row[7] + " 密码:" + row[8] + " 确认密码:" + \
row[9] + " 用户级别:" + row[10] + " 权限:" + row[11] + " 测试不通过[" + state + "]"
print(st)
result.append(st)
time.sleep(3)
def get_result():
path = os.getcwd() + r'\result.html'
import webbrowser as web
web.open(path)
import os
from selenium import webdriver
import time
import csv
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome(r"X:\test_website\chromedriver.exe")
driver.implicitly_wait(10)
driver.maximize_window()
# 登录测试
def login_test():
result = []
with open('登录.csv', encoding='GBK') as file:
reader = csv.reader(file)
for row in reader:
# 回到登录页
driver.get('http://localhost')
# username
driver.find_element('name', 'username').send_keys(row[0]) # 输入用户名
# password
driver.find_element('name', 'userpwd').send_keys(row[1]) # 输入密码
# login button
driver.find_element('xpath', '/html/body/div[1]/div[3]/form/div[3]/input').click()
time.sleep(2)
# 测试
if EC.alert_is_present()(driver):
alert = driver.switch_to.alert
state = alert.text
alert.accept()
st = "账号:" + row[0] + " 密码:" + row[1] + " 测试不通过[" + state + "]"
print(st)
result.append(st)
else:
driver.get('http://localhost/admin_head.php')
account = driver.find_element('name', 'username').text
if account == row[0]:
st = "账号:" + row[0] + " 密码:" + row[1] + " 测试通过"
print()
result.append(st)
else:
st = "账号:" + row[0] + " 密码:" + row[1] + " 测试不通过[账户不正确]"
print(st)
result.append(st)
time.sleep(5)
return result
def login_before_testing():
# 先登录username
driver.find_element('name', 'username').send_keys('admin') # 输入用户名
# password
driver.find_element('name', 'userpwd').send_keys('admin') # 输入密码
# login button
driver.find_element('xpath', '/html/body/div[1]/div[3]/form/div[3]/input').click()
time.sleep(2)
def new_staff_test():
result = []
with open('新增员工.csv', encoding='GBK') as file:
reader = csv.reader(file)
for row in reader:
driver.get('http://localhost/class_add.php?class=yuangong')
if 'yuangong' not in driver.current_url:
login_before_testing()
driver.get('http://localhost/class_add.php?class=yuangong')
# 测试
driver.find_element('name', 'name').send_keys(row[0])
driver.find_element('name', 'tel').send_keys(row[1])
driver.find_element('name', 'shengri').send_keys(row[2])
driver.find_element('name', 'address').send_keys(row[3])
driver.find_element('name', 'beizhu').send_keys(row[4])
driver.find_element('xpath', '/html/body/form/table/tbody/tr[6]/td[2]/input').click()
# 捕捉 alert 窗口
if EC.alert_is_present()(driver):
alert = driver.switch_to.alert
state = alert.text
alert.accept()
if state == '添加成功':
st = "员工名称:" + row[0] + " 电话:" + row[1] + " 生日:" + row[2] + " 部门:" + row[3] + " 备注:" + row[
4] + " 测试通过[" + state + "]"
print(st)
result.append(st)
else:
st = "员工名称:" + row[0] + " 电话:" + row[1] + " 生日:" + row[2] + " 部门:" + row[3] + " 备注:" + row[
4] + " 测试不通过[" + state + "]"
print(st)
result.append(st)
time.sleep(5)
return result
def new_user_test():
result = []
with open('新增用户.csv', encoding='GBK') as file:
reader = csv.reader(file)
for row in reader:
driver.get('http://localhost/user_add.php')
# 重新登录
if 'user' not in driver.current_url:
login_before_testing()
driver.get('http://localhost/user_add.php')
# 测试
driver.find_element('name', 'UserName').send_keys(row[0])
driver.find_element('name', 'Realname').send_keys(row[1])
driver.find_element('name', 'mobile').send_keys(row[2])
driver.find_element('name', 'img').send_keys(row[3])
driver.find_element('name', 'zhanghu').send_keys(row[4])
driver.find_element('name', 'wanglai').send_keys(row[5])
driver.find_element('name', 'yuangong').send_keys(row[6])
driver.find_element('name', 'xiangmu').send_keys(row[7])
driver.find_element('name', 'pwd1').send_keys(row[8])
driver.find_element('name', 'pwd2').send_keys(row[9])
driver.find_element('name', 'AdminPower').send_keys(row[10])
driver.find_element('name', 'flag[]').send_keys(row[11])
driver.find_element('xpath', '/html/body/form/table/tbody/tr[13]/td[2]/input').click()
if EC.alert_is_present()(driver):
alert = driver.switch_to.alert
state = alert.text
alert.accept()
if state == '添加成功':
st = "用户名:" + row[0] + " 真实姓名:" + row[1] + " 手机号码:" + row[2] + " 头像图片:" + row[3] + " 默认资金账户:" + row[
4] + " 默认客户:" + row[5] + " 默认员工:" + row[6] + " 默认项目:" + row[7] + " 密码:" + row[8] + " 确认密码:" + \
row[9] + " 用户级别:" + row[10] + " 权限:" + row[11] + " 测试通过[" + state + "]"
print(st)
result.append(st)
else:
st = "用户名:" + row[0] + " 真实姓名:" + row[1] + " 手机号码:" + row[2] + " 头像图片:" + row[3] + " 默认资金账户:" + row[
4] + " 默认客户:" + row[5] + " 默认员工:" + row[6] + " 默认项目:" + row[7] + " 密码:" + row[8] + " 确认密码:" + \
row[9] + " 用户级别:" + row[10] + " 权限:" + row[11] + " 测试不通过[" + state + "]"
print(st)
result.append(st)
time.sleep(3)
def get_result():
path = os.getcwd() + r'\result.html'
import webbrowser as web
web.open(path)

0
1.26 自动化测试/new_auto_test.py Normal file → Executable file
View File

0
1.26 自动化测试/ran.py Normal file → Executable file
View File

View File

@ -1,14 +1,14 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<table cellspacing="20" align="center">
<tr>
<th>ID</th>
<th>测试用例</th>
<th>测试结果</th>
</tr><tr><td>1</td><td>账号admin 密码admin </td><td>测试通过</td></tr><tr><td>2</td><td>账号admin 密码23432 </td><td>测试不通过[账号密码错误]</td></tr></table>
</body>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<table cellspacing="20" align="center">
<tr>
<th>ID</th>
<th>测试用例</th>
<th>测试结果</th>
</tr><tr><td>1</td><td>账号admin 密码admin </td><td>测试通过</td></tr><tr><td>2</td><td>账号admin 密码23432 </td><td>测试不通过[账号密码错误]</td></tr></table>
</body>
</html>

0
1.26 自动化测试/stack.py Normal file → Executable file
View File

0
1.26 自动化测试/ui.py Normal file → Executable file
View File

264
1.26 自动化测试/uml_translator.py Normal file → Executable file
View File

@ -1,132 +1,132 @@
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import matplotlib
import matplotlib.pyplot as plt
from xml import sax
import networkx as nx
import dfs_to_routes
#import pymysql
Edges = []
Value = {}
Labels = {}
class UmlHandler(sax.ContentHandler):
# XML Content Handler 重写类
def __init__(self):
self.CurrentData = ""
# 元素开始事件处理
def startElement(self, tag, attributes):
self.CurrentData = tag
if tag == "mxCell":
if 'value' in attributes:
if attributes['value'] != '':
if "开始" == attributes['value']:
g.add_node('开始')
Value[attributes['id']] = '开始'
if "结束" == attributes['value']:
g.add_node('结束')
Value[attributes['id']] = '结束'
if "vertex" in attributes:
if "style" in attributes:
if "swimlane" in attributes['style']:
pass
else:
if attributes['value'] != '':
if 'edgeLabel' not in attributes['style']:
g.add_node(attributes['value'])
Value[attributes['id']] = attributes['value']
else:
Labels[attributes['parent']] = attributes['value']
if "edge" in attributes:
if "target" not in attributes or "source" not in attributes:
print(attributes['value'])
else:
source = attributes['source']
target = attributes['target']
if 'value' in attributes:
if attributes['value'] != '':
Labels[attributes['id']] = attributes['value']
if source != target:
Edges.append((source, target, {'id': attributes['id']}))
def ProcessXML(fp):
# 创建一个 XMLReader
parser = sax.make_parser()
parser.setFeature(sax.handler.feature_namespaces, 0)
# 重写 ContextHandler
Handler = UmlHandler()
parser.setContentHandler(Handler)
parser.parse(fp)
def ProcessEdges(g):
# 处理边
for i in Edges:
g.add_edge(Value[i[0]], Value[i[1]], id=i[2]['id'])
# 处理边的标签
for i in Labels.keys():
for edge in g.edges(data=True):
if edge[2]['id'] == i:
edge[2]['value'] = Labels[i]
def DrawGraph(g):
nx.draw_circular(g, with_labels=True)
# 圆形画出该有向图
plt.show()
def ProcessDatabase(routes_lst):
# 指定数据库
con = pymysql.connect(host='localhost', user='root', passwd='root', port=3306, db='routes')
cursor = con.cursor()
# Insert 数据
for route in routes_lst:
sql = "INSERT INTO routes_input (Route) VALUE" + "(\'" + route + "\')"
cursor.execute(sql)
con.commit()
def CheckOutDegrees(g):
for i in g.out_degree:
if i[1] == 0:
if i[0] != "结束":
raise Exception("图存在格式问题,请检查,结点“"+i[0]+"”出度为0。")
if __name__ == "__main__":
# 防止matplot的中文乱码 Mac 平台下
matplotlib.rcParams['font.sans-serif'] = ['Arial Unicode MS']
# Windows 平台下
# matplotlib.rcParams['font.sans-serif'] = ['Microsoft Yahei']
# 创建新的有向图
g = nx.DiGraph()
g.clear()
# !!!!!!!!!!
# 在此处更换 XML 文件路径
# !!!!!!!!!!
filepath = "bpmn.xml"
# 处理 XML 数据
ProcessXML(filepath)
# 处理边的标签
ProcessEdges(g)
# 检查出度
CheckOutDegrees(g)
# 画图(虽然不能看几乎)
DrawGraph(g)
# DFS 搜索路径
routes = dfs_to_routes.dfs(g, "开始", g.adj, g.nodes.__sizeof__())
# 插入数据库
# ProcessDatabase(routes)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import matplotlib
import matplotlib.pyplot as plt
from xml import sax
import networkx as nx
import dfs_to_routes
#import pymysql
Edges = []
Value = {}
Labels = {}
class UmlHandler(sax.ContentHandler):
# XML Content Handler 重写类
def __init__(self):
self.CurrentData = ""
# 元素开始事件处理
def startElement(self, tag, attributes):
self.CurrentData = tag
if tag == "mxCell":
if 'value' in attributes:
if attributes['value'] != '':
if "开始" == attributes['value']:
g.add_node('开始')
Value[attributes['id']] = '开始'
if "结束" == attributes['value']:
g.add_node('结束')
Value[attributes['id']] = '结束'
if "vertex" in attributes:
if "style" in attributes:
if "swimlane" in attributes['style']:
pass
else:
if attributes['value'] != '':
if 'edgeLabel' not in attributes['style']:
g.add_node(attributes['value'])
Value[attributes['id']] = attributes['value']
else:
Labels[attributes['parent']] = attributes['value']
if "edge" in attributes:
if "target" not in attributes or "source" not in attributes:
print(attributes['value'])
else:
source = attributes['source']
target = attributes['target']
if 'value' in attributes:
if attributes['value'] != '':
Labels[attributes['id']] = attributes['value']
if source != target:
Edges.append((source, target, {'id': attributes['id']}))
def ProcessXML(fp):
# 创建一个 XMLReader
parser = sax.make_parser()
parser.setFeature(sax.handler.feature_namespaces, 0)
# 重写 ContextHandler
Handler = UmlHandler()
parser.setContentHandler(Handler)
parser.parse(fp)
def ProcessEdges(g):
# 处理边
for i in Edges:
g.add_edge(Value[i[0]], Value[i[1]], id=i[2]['id'])
# 处理边的标签
for i in Labels.keys():
for edge in g.edges(data=True):
if edge[2]['id'] == i:
edge[2]['value'] = Labels[i]
def DrawGraph(g):
nx.draw_circular(g, with_labels=True)
# 圆形画出该有向图
plt.show()
def ProcessDatabase(routes_lst):
# 指定数据库
con = pymysql.connect(host='localhost', user='root', passwd='root', port=3306, db='routes')
cursor = con.cursor()
# Insert 数据
for route in routes_lst:
sql = "INSERT INTO routes_input (Route) VALUE" + "(\'" + route + "\')"
cursor.execute(sql)
con.commit()
def CheckOutDegrees(g):
for i in g.out_degree:
if i[1] == 0:
if i[0] != "结束":
raise Exception("图存在格式问题,请检查,结点“"+i[0]+"”出度为0。")
if __name__ == "__main__":
# 防止matplot的中文乱码 Mac 平台下
matplotlib.rcParams['font.sans-serif'] = ['Arial Unicode MS']
# Windows 平台下
# matplotlib.rcParams['font.sans-serif'] = ['Microsoft Yahei']
# 创建新的有向图
g = nx.DiGraph()
g.clear()
# !!!!!!!!!!
# 在此处更换 XML 文件路径
# !!!!!!!!!!
filepath = "bpmn.xml"
# 处理 XML 数据
ProcessXML(filepath)
# 处理边的标签
ProcessEdges(g)
# 检查出度
CheckOutDegrees(g)
# 画图(虽然不能看几乎)
DrawGraph(g)
# DFS 搜索路径
routes = dfs_to_routes.dfs(g, "开始", g.adj, g.nodes.__sizeof__())
# 插入数据库
# ProcessDatabase(routes)

0
1.26 自动化测试/utils.py Normal file → Executable file
View File

14
1.26 自动化测试/安装包.bat Normal file → Executable file
View File

@ -1,8 +1,8 @@
pip install networkx -i https://mirrors.aliyun.com/pypi/simple/
pip install sax -i https://mirrors.aliyun.com/pypi/simple/
pip install pymysql -i https://mirrors.aliyun.com/pypi/simple/
pip install matplotlib -i https://mirrors.aliyun.com/pypi/simple/
pip install pyqt5 -i https://mirrors.aliyun.com/pypi/simple/
pip install xlrd -i https://mirrors.aliyun.com/pypi/simple/
pip install pyhanlp
pip install networkx -i https://mirrors.aliyun.com/pypi/simple/
pip install sax -i https://mirrors.aliyun.com/pypi/simple/
pip install pymysql -i https://mirrors.aliyun.com/pypi/simple/
pip install matplotlib -i https://mirrors.aliyun.com/pypi/simple/
pip install pyqt5 -i https://mirrors.aliyun.com/pypi/simple/
pip install xlrd -i https://mirrors.aliyun.com/pypi/simple/
pip install pyhanlp
pause

0
2.19 感知哈希/ImageSearch/__init__.py Normal file → Executable file
View File

0
2.19 感知哈希/ImageSearch/dhash.py Normal file → Executable file
View File

0
2.19 感知哈希/ImageSearch/findImage.py Normal file → Executable file
View File

0
2.19 感知哈希/process.py Normal file → Executable file
View File

0
2.19 感知哈希/qt_ui.py Normal file → Executable file
View File

0
2.19 感知哈希/安装包.cmd Normal file → Executable file
View File

0
2.27 论文爬虫/安装以下库.bat Normal file → Executable file
View File

0
2.27 论文爬虫/爬虫.py Normal file → Executable file
View File

8
20231219-Cong/.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="crawler" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -0,0 +1,70 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredPackages">
<value>
<list size="40">
<item index="0" class="java.lang.String" itemvalue="mysqlclient" />
<item index="1" class="java.lang.String" itemvalue="tiktoken" />
<item index="2" class="java.lang.String" itemvalue="PyJWT" />
<item index="3" class="java.lang.String" itemvalue="greenlet" />
<item index="4" class="java.lang.String" itemvalue="mypy-extensions" />
<item index="5" class="java.lang.String" itemvalue="python-dotenv" />
<item index="6" class="java.lang.String" itemvalue="astroid" />
<item index="7" class="java.lang.String" itemvalue="feedparser" />
<item index="8" class="java.lang.String" itemvalue="requests-oauthlib" />
<item index="9" class="java.lang.String" itemvalue="docx2txt" />
<item index="10" class="java.lang.String" itemvalue="tomlkit" />
<item index="11" class="java.lang.String" itemvalue="djangorestframework-simplejwt" />
<item index="12" class="java.lang.String" itemvalue="langchain" />
<item index="13" class="java.lang.String" itemvalue="certifi" />
<item index="14" class="java.lang.String" itemvalue="arxiv" />
<item index="15" class="java.lang.String" itemvalue="djangorestframework" />
<item index="16" class="java.lang.String" itemvalue="PyMuPDF" />
<item index="17" class="java.lang.String" itemvalue="pydantic" />
<item index="18" class="java.lang.String" itemvalue="dj-database-url" />
<item index="19" class="java.lang.String" itemvalue="django-simpleui" />
<item index="20" class="java.lang.String" itemvalue="wrapt" />
<item index="21" class="java.lang.String" itemvalue="cryptography" />
<item index="22" class="java.lang.String" itemvalue="pypdf" />
<item index="23" class="java.lang.String" itemvalue="dj-rest-auth" />
<item index="24" class="java.lang.String" itemvalue="attrs" />
<item index="25" class="java.lang.String" itemvalue="lazy-object-proxy" />
<item index="26" class="java.lang.String" itemvalue="openai" />
<item index="27" class="java.lang.String" itemvalue="regex" />
<item index="28" class="java.lang.String" itemvalue="platformdirs" />
<item index="29" class="java.lang.String" itemvalue="typing-inspect" />
<item index="30" class="java.lang.String" itemvalue="Django" />
<item index="31" class="java.lang.String" itemvalue="pylint" />
<item index="32" class="java.lang.String" itemvalue="charset-normalizer" />
<item index="33" class="java.lang.String" itemvalue="aiohttp" />
<item index="34" class="java.lang.String" itemvalue="multidict" />
<item index="35" class="java.lang.String" itemvalue="django-allauth" />
<item index="36" class="java.lang.String" itemvalue="isort" />
<item index="37" class="java.lang.String" itemvalue="yarl" />
<item index="38" class="java.lang.String" itemvalue="pytz" />
<item index="39" class="java.lang.String" itemvalue="aiosignal" />
</list>
</value>
</option>
</inspection_tool>
<inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="ignoredErrors">
<list>
<option value="N802" />
<option value="N806" />
<option value="N801" />
</list>
</option>
</inspection_tool>
<inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredIdentifiers">
<list>
<option value="PyQt5.QtWidgets.clicked.*" />
</list>
</option>
</inspection_tool>
</profile>
</component>

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.9 (Warbler)" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="crawler" project-jdk-type="Python SDK" />
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/20231220 Cong.iml" filepath="$PROJECT_DIR$/.idea/20231220 Cong.iml" />
</modules>
</component>
</project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

View File

@ -0,0 +1,124 @@
import time
import selenium.common.exceptions
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
# 创建一个Chrome浏览器实例
driver = webdriver.Chrome(executable_path=r'/Users/fallcity/Vvvvv/Coding/tools/chromedriver')
df = pd.DataFrame(columns=['站点', '标题', '链接'], )
# 重庆市人民政府
def get_all_links_cq():
url = 'https://www.cq.gov.cn/cqgovsearch/search.html?searchWord=%E6%99%BA%E6%85%A7%E7%A4%BE%E5%8C%BA&tenantId=7&configTenantId=&dataTypeId=7&sign=d46b7b1d-937f-4c52-e9af-0dbac183bf18&areaCode='
driver.get(url)
time.sleep(2)
times = 1
while times <= 15:
try:
print(f"正在爬取重庆市人民政府相关文本 第{times}")
next_page_btn = driver.find_element_by_class_name('layui-laypage-next')
page_source = driver.page_source
soup = BeautifulSoup(page_source, 'html.parser')
lst = soup.find(class_='basic_result_content')
links = lst.find_all('a')
for link in links:
df.loc[len(df)] = ['重庆市人民政府', link.text.strip(), link['href']]
print(links)
time.sleep(1)
next_page_btn.click()
time.sleep(1)
times += 1
except selenium.common.exceptions.NoSuchElementException or selenium.common.exceptions.TimeoutException:
break
# 发改委
def get_all_links_ndrc():
url = 'https://so.ndrc.gov.cn/s?qt=%E6%99%BA%E6%85%A7%E7%A4%BE%E5%8C%BA&siteCode=bm04000007&tab=all&toolsStatus=1'
driver.get(url)
time.sleep(2)
times = 1
while times <= 7:
print(f"正在爬取中华人民共和国国家发展和改革委员会相关文本 第{times}")
next_page_btn = driver.find_elements_by_class_name('next')[-1]
page_source = driver.page_source
soup = BeautifulSoup(page_source, 'html.parser')
lst = soup.find(class_='content fl')
links = lst.find_all('a')
for link in links:
try:
if 'javascript' not in link['href']:
df.loc[len(df)] = ['中华人民共和国国家发展和改革委员会', link.text.strip(), link['href']]
except KeyError:
pass
print(links)
next_page_btn.click()
time.sleep(1)
times += 1
# 住建部
def get_all_links_mohurd():
url = 'https://www.mohurd.gov.cn/ess/?ty=a&query=%E6%99%BA%E6%85%A7%E7%A4%BE%E5%8C%BA&ukl=&uka=&ukf=%E6%99%BA%E6%85%A7%E7%A4%BE%E5%8C%BA&ukt=&sl=&ts=&te=&upg=1'
driver.get(url)
time.sleep(2)
times = 1
while times <= 15:
try:
print(f"正在爬取中华人民共和国住房和城乡建设部相关文本 第{times}")
next_page_btn = driver.find_element_by_class_name('next')
page_source = driver.page_source
soup = BeautifulSoup(page_source, 'html.parser')
lst = soup.find(class_='result-list')
links = lst.find_all('a')
for link in links:
try:
if 'javascript' not in link['href']:
df.loc[len(df)] = ['中华人民共和国住房和城乡建设部', link.text.strip(), link['href']]
except KeyError:
pass
print(links)
next_page_btn.click()
time.sleep(1)
times += 1
except selenium.common.exceptions.NoSuchElementException:
break
def get_all_links_gov():
url = 'https://sousuo.www.gov.cn/sousuo/search.shtml?code=17da70961a7&dataTypeId=107&searchWord=%E6%99%BA%E6%85%A7%E7%A4%BE%E5%8C%BA'
driver.get(url)
time.sleep(2)
times = 1
while times <= 3:
try:
print(f"正在爬取中华人民共和国中央人民政府相关文本 第{times}")
next_page_btn = driver.find_element_by_class_name('next')
page_source = driver.page_source
soup = BeautifulSoup(page_source, 'html.parser')
lst = soup.find(class_='left js_basic_result_left')
links = lst.find_all('a')
for link in links:
try:
if 'javascript' not in link['href'] and link['href'] != 'url':
df.loc[len(df)] = ['中华人民共和国中央人民政府', link.text.strip(), link['href']]
except KeyError:
pass
print(links)
next_page_btn.click()
time.sleep(1)
times += 1
except selenium.common.exceptions.NoSuchElementException:
break
if __name__ == '__main__':
get_all_links_cq()
get_all_links_ndrc()
get_all_links_mohurd()
get_all_links_gov()
driver.quit() # 安全退出
df.to_excel('智慧社区文本.xlsx', index=False)

View File

@ -0,0 +1,57 @@
import time
import pandas as pd
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Chrome(executable_path=r'/Users/fallcity/Vvvvv/Coding/tools/chromedriver')
def crawl_website(site: str, url: str):
print(f"正在爬取 {site}: {url}")
driver.get(url)
page_source = driver.page_source
soup = BeautifulSoup(page_source, 'html.parser')
try:
if ".doc" in url:
return ""
elif site == '重庆市人民政府':
div = soup.find('div', class_='view TRS_UEDITOR trs_paper_default trs_word')
if div:
text = div.get_text(strip=True)
return text
elif site == '中华人民共和国国家发展和改革委员会':
div = soup.find('div', class_='TRS_Editor')
if div:
text = div.get_text(strip=True)
return text
elif site == '中华人民共和国住房和城乡建设部':
div = soup.find('div', class_='editor-content')
if div:
text = div.get_text(strip=True)
return text
elif site == '中华人民共和国中央人民政府':
div = soup.find('div', id='UCAP-CONTENT')
if div:
text = div.get_text(strip=True)
return text
except TimeoutError:
exit(1)
if __name__ == '__main__':
df = pd.read_excel('智慧社区文本.xlsx', engine='openpyxl')
df['文本内容'] = ""
for index, row in df.iterrows():
# 调用get_text函数获取文本内容
text_content = crawl_website(row['站点'], row['链接'])
# 将文本内容填入'文本内容'列
df.at[index, '文本内容'] = text_content
# 休眠2秒
time.sleep(2)
df = df.drop_duplicates(subset=['文本内容'])
df.to_excel('智慧社区文本.xlsx', index=False)
driver.quit()

View File

@ -0,0 +1,54 @@
import pandas as pd
import jieba
from collections import Counter
import matplotlib.pyplot as plt
import matplotlib
from wordcloud import WordCloud
# 设置字体 MAC
matplotlib.rcParams['font.sans-serif'] = ['Arial Unicode MS']
# 设置字体 Windows
# matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False # 正确显示负号
# 读取Excel文件
df = pd.read_excel('智慧社区文本.xlsx')
# 读取停用词表
with open('stopwords.txt', 'r', encoding='utf-8') as f:
stop_words = set([line.strip() for line in f.readlines()])
# 合并所有文本内容到一个字符串
all_text = ' '.join(df['文本内容'].dropna())
# 使用jieba进行中文分词
words = jieba.cut(all_text)
# 过滤停用词并统计词频
filtered_words = [word for word in words if word not in stop_words and len(word) > 1]
word_counts = Counter(filtered_words)
# 可视化最常见的词
most_common_words = word_counts.most_common(20)
words, counts = zip(*most_common_words)
plt.figure(figsize=(10, 8))
plt.barh(words, counts)
plt.xlabel('词频')
plt.title('词频分析')
plt.gca().invert_yaxis() # 反转y轴使得最高的条形图在上方
plt.savefig('词频分析.png')
plt.show()
# 创建词云图
wordcloud = WordCloud(font_path='苹方-简.ttf',width=800, height=600,
background_color='white').generate_from_frequencies(word_counts)
plt.figure(figsize=(10, 8))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off') # 关闭坐标轴
plt.title('词云图')
plt.savefig('词云图.png')
plt.show()

748
20231219-Cong/stopwords.txt Normal file
View File

@ -0,0 +1,748 @@
$
0
1
2
3
4
5
6
7
8
9
?
_
一些
一何
一切
一则
一方面
一旦
一来
一样
一般
一转眼
万一
上下
不仅
不但
不光
不单
不只
不外乎
不如
不妨
不尽
不尽然
不得
不怕
不惟
不成
不拘
不料
不是
不比
不然
不特
不独
不管
不至于
不若
不论
不过
不问
与其
与其说
与否
与此同时
且不说
且说
两者
个别
为了
为什么
为何
为止
为此
为着
乃至
乃至于
之一
之所以
之类
乌乎
也好
也罢
二来
于是
于是乎
云云
云尔
人们
人家
什么
什么样
介于
仍旧
从此
从而
他人
他们
以上
以为
以便
以免
以及
以故
以期
以来
以至
以至于
以致
任何
任凭
似的
但凡
但是
何以
何况
何处
何时
余外
作为
你们
使
使得
例如
依据
依照
便于
俺们
倘使
倘或
倘然
倘若
假使
假如
假若
傥然
先不先
光是
全体
全部
关于
其一
其中
其二
其他
其余
其它
其次
具体地说
具体说来
兼之
再其次
再则
再有
再者
再者说
再说
况且
几时
凡是
凭借
出于
出来
分别
则甚
别人
别处
别是
别的
别管
别说
前后
前此
前者
加之
加以
即令
即使
即便
即如
即或
即若
又及
及其
及至
反之
反而
反过来
反过来说
受到
另一方面
另外
另悉
只当
只怕
只是
只有
只消
只要
只限
叮咚
可以
可是
可见
各个
各位
各种
各自
同时
后者
向使
向着
否则
吧哒
呜呼
呵呵
呼哧
咱们
哈哈
哎呀
哎哟
哪个
哪些
哪儿
哪天
哪年
哪怕
哪样
哪边
哪里
哼唷
唯有
啪达
啷当
喔唷
嗡嗡
嘎登
嘿嘿
因为
因了
因此
因着
因而
固然
在下
在于
基于
处在
多么
多少
大家
她们
如上
如上所述
如下
如何
如其
如同
如是
如果
如此
如若
始而
孰料
孰知
宁可
宁愿
宁肯
它们
对于
对待
对方
对比
尔后
尔尔
尚且
就是
就是了
就是说
就算
就要
尽管
尽管如此
岂但
已矣
巴巴
并且
并非
庶乎
庶几
开外
开始
归齐
当地
当然
当着
彼时
彼此
得了
怎么
怎么办
怎么样
怎奈
怎样
总之
总的来看
总的来说
总的说来
总而言之
恰恰相反
惟其
慢说
我们
或则
或是
或曰
或者
截至
所以
所在
所幸
所有
才能
打从
抑或
按照
换句话说
换言之
据此
接着
故此
故而
旁人
无宁
无论
既往
既是
既然
时候
是以
是的
替代
有些
有关
有及
有时
有的
朝着
本人
本地
本着
本身
来着
来自
来说
极了
果然
果真
某个
某些
某某
根据
正值
正如
正巧
正是
此地
此处
此外
此时
此次
此间
毋宁
每当
比及
比如
比方
没奈何
沿
沿着
漫说
然则
然后
然而
照着
犹且
犹自
甚且
甚么
甚或
甚而
甚至
甚至于
用来
由于
由是
由此
由此可见
的确
的话
直到
相对而言
省得
眨眼
着呢
矣乎
矣哉
竟而
等到
等等
简言之
类如
紧接着
纵令
纵使
纵然
经过
结果
继之
继后
继而
综上所述
罢了
而且
而况
而后
而外
而已
而是
而言
能否
自个儿
自从
自各儿
自后
自家
自己
自打
自身
至于
至今
至若
般的
若夫
若是
若果
若非
莫不然
莫如
莫若
虽则
虽然
虽说
要不
要不是
要不然
要么
要是
譬喻
譬如
许多
设使
设或
设若
诚如
诚然
说来
诸位
诸如
谁人
谁料
谁知
贼死
赖以
起见
趁着
越是
较之
还是
还有
还要
这一来
这个
这么
这么些
这么样
这么点儿
这些
这会儿
这儿
这就是说
这时
这样
这次
这般
这边
这里
进而
连同
逐步
通过
遵循
遵照
那个
那么
那么些
那么样
那些
那会儿
那儿
那时
那样
那般
那边
那里
鄙人
鉴于
针对
除了
除外
除开
除此之外
除非
随后
随时
随着
难道说
非但
非徒
非特
非独
顺着
首先
通讯员
记者

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

BIN
20231219-Cong/词云图.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -0,0 +1,54 @@
import time
import pandas as pd
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Chrome(executable_path=r'/Users/fallcity/Vvvvv/Coding/tools/chromedriver')
def crawl_website(site: str, url: str):
print(f"正在爬取 {site}: {url}")
driver.get(url)
page_source = driver.page_source
soup = BeautifulSoup(page_source, 'html.parser')
try:
if site == '重庆市人民政府':
div = soup.find('div', class_='view TRS_UEDITOR trs_paper_default trs_word')
if div:
text = div.get_text(strip=True)
return text
elif site == '中华人民共和国国家发展和改革委员会':
div = soup.find('div', class_='TRS_Editor')
if div:
text = div.get_text(strip=True)
return text
elif site == '中华人民共和国住房和城乡建设部':
div = soup.find('div', class_='editor-content')
if div:
text = div.get_text(strip=True)
return text
elif site == '中华人民共和国中央人民政府':
div = soup.find('div', id='UCAP-CONTENT')
if div:
text = div.get_text(strip=True)
return text
except TimeoutError:
exit(1)
if __name__ == '__main__':
df = pd.read_excel('智慧社区文本.xlsx', engine='openpyxl')
df['文本内容'] = ""
for index, row in df.iterrows():
# 调用get_text函数获取文本内容
text_content = crawl_website(row['站点'], row['链接'])
# 将文本内容填入'文本内容'列
df.at[index, '文本内容'] = text_content
# 休眠2秒
time.sleep(2)
df.to_excel('updated_file.xlsx', index=False)
driver.quit()

View File

748
20231220 Cong/stopwords.txt Normal file
View File

@ -0,0 +1,748 @@
$
0
1
2
3
4
5
6
7
8
9
?
_
一些
一何
一切
一则
一方面
一旦
一来
一样
一般
一转眼
万一
上下
不仅
不但
不光
不单
不只
不外乎
不如
不妨
不尽
不尽然
不得
不怕
不惟
不成
不拘
不料
不是
不比
不然
不特
不独
不管
不至于
不若
不论
不过
不问
与其
与其说
与否
与此同时
且不说
且说
两者
个别
为了
为什么
为何
为止
为此
为着
乃至
乃至于
之一
之所以
之类
乌乎
也好
也罢
二来
于是
于是乎
云云
云尔
人们
人家
什么
什么样
介于
仍旧
从此
从而
他人
他们
以上
以为
以便
以免
以及
以故
以期
以来
以至
以至于
以致
任何
任凭
似的
但凡
但是
何以
何况
何处
何时
余外
作为
你们
使
使得
例如
依据
依照
便于
俺们
倘使
倘或
倘然
倘若
假使
假如
假若
傥然
先不先
光是
全体
全部
关于
其一
其中
其二
其他
其余
其它
其次
具体地说
具体说来
兼之
再其次
再则
再有
再者
再者说
再说
况且
几时
凡是
凭借
出于
出来
分别
则甚
别人
别处
别是
别的
别管
别说
前后
前此
前者
加之
加以
即令
即使
即便
即如
即或
即若
又及
及其
及至
反之
反而
反过来
反过来说
受到
另一方面
另外
另悉
只当
只怕
只是
只有
只消
只要
只限
叮咚
可以
可是
可见
各个
各位
各种
各自
同时
后者
向使
向着
否则
吧哒
呜呼
呵呵
呼哧
咱们
哈哈
哎呀
哎哟
哪个
哪些
哪儿
哪天
哪年
哪怕
哪样
哪边
哪里
哼唷
唯有
啪达
啷当
喔唷
嗡嗡
嘎登
嘿嘿
因为
因了
因此
因着
因而
固然
在下
在于
基于
处在
多么
多少
大家
她们
如上
如上所述
如下
如何
如其
如同
如是
如果
如此
如若
始而
孰料
孰知
宁可
宁愿
宁肯
它们
对于
对待
对方
对比
尔后
尔尔
尚且
就是
就是了
就是说
就算
就要
尽管
尽管如此
岂但
已矣
巴巴
并且
并非
庶乎
庶几
开外
开始
归齐
当地
当然
当着
彼时
彼此
得了
怎么
怎么办
怎么样
怎奈
怎样
总之
总的来看
总的来说
总的说来
总而言之
恰恰相反
惟其
慢说
我们
或则
或是
或曰
或者
截至
所以
所在
所幸
所有
才能
打从
抑或
按照
换句话说
换言之
据此
接着
故此
故而
旁人
无宁
无论
既往
既是
既然
时候
是以
是的
替代
有些
有关
有及
有时
有的
朝着
本人
本地
本着
本身
来着
来自
来说
极了
果然
果真
某个
某些
某某
根据
正值
正如
正巧
正是
此地
此处
此外
此时
此次
此间
毋宁
每当
比及
比如
比方
没奈何
沿
沿着
漫说
然则
然后
然而
照着
犹且
犹自
甚且
甚么
甚或
甚而
甚至
甚至于
用来
由于
由是
由此
由此可见
的确
的话
直到
相对而言
省得
眨眼
着呢
矣乎
矣哉
竟而
等到
等等
简言之
类如
紧接着
纵令
纵使
纵然
经过
结果
继之
继后
继而
综上所述
罢了
而且
而况
而后
而外
而已
而是
而言
能否
自个儿
自从
自各儿
自后
自家
自己
自打
自身
至于
至今
至若
般的
若夫
若是
若果
若非
莫不然
莫如
莫若
虽则
虽然
虽说
要不
要不是
要不然
要么
要是
譬喻
譬如
许多
设使
设或
设若
诚如
诚然
说来
诸位
诸如
谁人
谁料
谁知
贼死
赖以
起见
趁着
越是
较之
还是
还有
还要
这一来
这个
这么
这么些
这么样
这么点儿
这些
这会儿
这儿
这就是说
这时
这样
这次
这般
这边
这里
进而
连同
逐步
通过
遵循
遵照
那个
那么
那么些
那么样
那些
那会儿
那儿
那时
那样
那般
那边
那里
鄙人
鉴于
针对
除了
除外
除开
除此之外
除非
随后
随时
随着
难道说
非但
非徒
非特
非独
顺着
首先
通讯员
记者

Binary file not shown.

0
5.25 Emnist-LeNet5/src/__init__.py Normal file → Executable file
View File

0
5.25 Emnist-LeNet5/src/letters/__init__.py Normal file → Executable file
View File

0
5.25 Emnist-LeNet5/src/letters/letter_predict.py Normal file → Executable file
View File

0
5.25 Emnist-LeNet5/src/letters/letter_train.py Normal file → Executable file
View File

0
5.25 Emnist-LeNet5/src/utils/__init__.py Normal file → Executable file
View File

0
5.25 Emnist-LeNet5/src/utils/load_emnist.py Normal file → Executable file
View File

0
5.25 Emnist-LeNet5/src/utils/visualize.py Normal file → Executable file
View File

View File

@ -1,3 +1,3 @@
Manifest-Version: 1.0
Main-Class: test
Manifest-Version: 1.0
Main-Class: test

View File

@ -1,3 +1,3 @@
Manifest-Version: 1.0
Main-Class: test
Manifest-Version: 1.0
Main-Class: test

View File

@ -1,195 +1,195 @@
package jhcomn.DatReader;
import java.io.*;
public class DataToCSV {
public void output(PDViewObject vo) throws IOException {
String destFilePathTrain = "C:/Users/Administrator/Desktop/train.csv";
PrintWriter pw = new PrintWriter(new FileWriter(destFilePathTrain));
pw.print("version_id,");
pw.print("devnum_id,");
pw.print("channelnum_id,");
pw.print("devstatus_id,");
pw.print("datastatus_id,");
pw.print("type_id,");
pw.print("alarm_id,");
pw.print("\n");
for (int j = 0; j < vo.datas[0].length; j++) {
pw.print(vo.version + ",");
pw.print(vo.devnum + ",");
pw.print(vo.channelnum + ",");
pw.print(vo.devstatus + ",");
pw.print(vo.datastatus + ",");
pw.print(vo.type + ",");
pw.print(vo.alarm + ",");
for (int i = 0; i < vo.datas.length; i++) {
if (i != vo.datas.length - 1)
pw.print(vo.datas[i][j] + ",");
else
pw.print(vo.datas[i][j] + "\n");
}
}
System.out.println(vo.phaseNum);
}
public boolean exportPRPSCsv(File file, PDViewObject vo) {
boolean isSucess = false;
FileOutputStream out = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
try {
out = new FileOutputStream(file);
osw = new OutputStreamWriter(out);
bw = new BufferedWriter(osw);
bw.append("version_id").append(",");
bw.append("devnum_id").append(",");
bw.append("channelnum_id").append(",");
bw.append("devstatus_id").append(",");
bw.append("datastatus_id").append(",");
bw.append("type_id").append(",");
bw.append("alarm_id").append(",");
// String phase = "phaseNum_" + String.valueOf(vo.phaseNum);
for (int i = 0; i < vo.phaseNum; i++) {
String phaseId = "p" + String.valueOf(i);
if (i != vo.phaseNum - 1)
bw.append(phaseId).append(",");
else
bw.append(phaseId).append("\r");
}
if (vo.datas != null) {
for (int j = 0; j < vo.datas[0].length; j++) {
bw.append(String.valueOf(vo.version)).append(",");
bw.append(String.valueOf(vo.devnum)).append(",");
bw.append(String.valueOf(vo.channelnum)).append(",");
bw.append(String.valueOf(vo.devstatus)).append(",");
bw.append(String.valueOf(vo.datastatus)).append(",");
bw.append(String.valueOf(vo.type)).append(",");
bw.append(String.valueOf(vo.alarm)).append(",");
for (int i = 0; i < vo.datas.length; i++) {
String phaseNum = String.valueOf(vo.datas[i][j]);
if (i != vo.datas.length - 1)
bw.append(phaseNum).append(",");
else
bw.append(phaseNum).append("\r");
}
}
}
isSucess = true;
} catch (Exception e) {
isSucess = false;
} finally {
if (bw != null) {
try {
bw.close();
bw = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if (osw != null) {
try {
osw.close();
osw = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if (out != null) {
try {
out.close();
out = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
return isSucess;
}
public boolean exportPRPDCsv(File file, PDViewObject vo) {
boolean isSucess = false;
FileOutputStream out = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
try {
out = new FileOutputStream(file);
osw = new OutputStreamWriter(out);
bw = new BufferedWriter(osw);
bw.append("version_id").append(",");
bw.append("devnum_id").append(",");
bw.append("channelnum_id").append(",");
bw.append("devstatus_id").append(",");
bw.append("datastatus_id").append(",");
bw.append("type_id").append(",");
bw.append("alarm_id").append(",");
// String phase = "phaseNum_" + String.valueOf(vo.phaseNum);
for (int i = 0; i < 64; i++) {
String phaseId = "p" + String.valueOf(i);
if (i != 63)
bw.append(phaseId).append(",");
else
bw.append(phaseId).append("\r");
}
if (vo.datas != null) {
System.out.println(vo.phaseNum);
for (int i = 0; i < vo.datas.length; i++) {
for (int j = 0; j < vo.datas[i].length; i++)
System.out.print(vo.datas[i][j] + " , ");
System.out.println();
}
for (int j = 0; j < vo.datas[0].length; j++) {
bw.append(String.valueOf(vo.version)).append(",");
bw.append(String.valueOf(vo.devnum)).append(",");
bw.append(String.valueOf(vo.channelnum)).append(",");
bw.append(String.valueOf(vo.devstatus)).append(",");
bw.append(String.valueOf(vo.datastatus)).append(",");
bw.append(String.valueOf(vo.type)).append(",");
bw.append(String.valueOf(vo.alarm)).append(",");
for (int i = 0; i < vo.datas.length; i++) {
String phaseNum = String.valueOf(vo.datas[i][j]);
if (i != vo.datas.length - 1)
bw.append(phaseNum).append(",");
else
bw.append(phaseNum).append("\r");
}
}
}
isSucess = true;
} catch (Exception e) {
isSucess = false;
} finally {
if (bw != null) {
try {
bw.close();
bw = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if (osw != null) {
try {
osw.close();
osw = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if (out != null) {
try {
out.close();
out = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
return isSucess;
}
}
package jhcomn.DatReader;
import java.io.*;
public class DataToCSV {
public void output(PDViewObject vo) throws IOException {
String destFilePathTrain = "C:/Users/Administrator/Desktop/train.csv";
PrintWriter pw = new PrintWriter(new FileWriter(destFilePathTrain));
pw.print("version_id,");
pw.print("devnum_id,");
pw.print("channelnum_id,");
pw.print("devstatus_id,");
pw.print("datastatus_id,");
pw.print("type_id,");
pw.print("alarm_id,");
pw.print("\n");
for (int j = 0; j < vo.datas[0].length; j++) {
pw.print(vo.version + ",");
pw.print(vo.devnum + ",");
pw.print(vo.channelnum + ",");
pw.print(vo.devstatus + ",");
pw.print(vo.datastatus + ",");
pw.print(vo.type + ",");
pw.print(vo.alarm + ",");
for (int i = 0; i < vo.datas.length; i++) {
if (i != vo.datas.length - 1)
pw.print(vo.datas[i][j] + ",");
else
pw.print(vo.datas[i][j] + "\n");
}
}
System.out.println(vo.phaseNum);
}
public boolean exportPRPSCsv(File file, PDViewObject vo) {
boolean isSucess = false;
FileOutputStream out = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
try {
out = new FileOutputStream(file);
osw = new OutputStreamWriter(out);
bw = new BufferedWriter(osw);
bw.append("version_id").append(",");
bw.append("devnum_id").append(",");
bw.append("channelnum_id").append(",");
bw.append("devstatus_id").append(",");
bw.append("datastatus_id").append(",");
bw.append("type_id").append(",");
bw.append("alarm_id").append(",");
// String phase = "phaseNum_" + String.valueOf(vo.phaseNum);
for (int i = 0; i < vo.phaseNum; i++) {
String phaseId = "p" + String.valueOf(i);
if (i != vo.phaseNum - 1)
bw.append(phaseId).append(",");
else
bw.append(phaseId).append("\r");
}
if (vo.datas != null) {
for (int j = 0; j < vo.datas[0].length; j++) {
bw.append(String.valueOf(vo.version)).append(",");
bw.append(String.valueOf(vo.devnum)).append(",");
bw.append(String.valueOf(vo.channelnum)).append(",");
bw.append(String.valueOf(vo.devstatus)).append(",");
bw.append(String.valueOf(vo.datastatus)).append(",");
bw.append(String.valueOf(vo.type)).append(",");
bw.append(String.valueOf(vo.alarm)).append(",");
for (int i = 0; i < vo.datas.length; i++) {
String phaseNum = String.valueOf(vo.datas[i][j]);
if (i != vo.datas.length - 1)
bw.append(phaseNum).append(",");
else
bw.append(phaseNum).append("\r");
}
}
}
isSucess = true;
} catch (Exception e) {
isSucess = false;
} finally {
if (bw != null) {
try {
bw.close();
bw = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if (osw != null) {
try {
osw.close();
osw = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if (out != null) {
try {
out.close();
out = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
return isSucess;
}
public boolean exportPRPDCsv(File file, PDViewObject vo) {
boolean isSucess = false;
FileOutputStream out = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
try {
out = new FileOutputStream(file);
osw = new OutputStreamWriter(out);
bw = new BufferedWriter(osw);
bw.append("version_id").append(",");
bw.append("devnum_id").append(",");
bw.append("channelnum_id").append(",");
bw.append("devstatus_id").append(",");
bw.append("datastatus_id").append(",");
bw.append("type_id").append(",");
bw.append("alarm_id").append(",");
// String phase = "phaseNum_" + String.valueOf(vo.phaseNum);
for (int i = 0; i < 64; i++) {
String phaseId = "p" + String.valueOf(i);
if (i != 63)
bw.append(phaseId).append(",");
else
bw.append(phaseId).append("\r");
}
if (vo.datas != null) {
System.out.println(vo.phaseNum);
for (int i = 0; i < vo.datas.length; i++) {
for (int j = 0; j < vo.datas[i].length; i++)
System.out.print(vo.datas[i][j] + " , ");
System.out.println();
}
for (int j = 0; j < vo.datas[0].length; j++) {
bw.append(String.valueOf(vo.version)).append(",");
bw.append(String.valueOf(vo.devnum)).append(",");
bw.append(String.valueOf(vo.channelnum)).append(",");
bw.append(String.valueOf(vo.devstatus)).append(",");
bw.append(String.valueOf(vo.datastatus)).append(",");
bw.append(String.valueOf(vo.type)).append(",");
bw.append(String.valueOf(vo.alarm)).append(",");
for (int i = 0; i < vo.datas.length; i++) {
String phaseNum = String.valueOf(vo.datas[i][j]);
if (i != vo.datas.length - 1)
bw.append(phaseNum).append(",");
else
bw.append(phaseNum).append("\r");
}
}
}
isSucess = true;
} catch (Exception e) {
isSucess = false;
} finally {
if (bw != null) {
try {
bw.close();
bw = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if (osw != null) {
try {
osw.close();
osw = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if (out != null) {
try {
out.close();
out = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
return isSucess;
}
}

View File

@ -1,278 +1,278 @@
package jhcomn.DatReader;
import org.apache.commons.io.input.SwappedDataInputStream;
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class PDViewObject {
/**
* 版本
*/
public float version;
/**
* 图谱生成时间
*/
public String datetime;
/**
* 被监测设备编号
*/
public String devnum;
/**
* 装置地址
*/
public String addr;
/**
* 通道编号
*/
public int channelnum;
/**
* 被监测设备状态
*/
public int devstatus;
/**
* 数据状态
*/
public int datastatus;
/**
* 放电类型
*/
public int type;
/**
* 报警等级
*/
public int alarm;
/**
* 放电类型概率统计标志
*/
public int probSt;
//10 种放电类型的概率
public float[] probs = new float[10];
/**
* 放电幅值标定系数
*/
public short coeff;
/**
* 放电相位窗数
*/
public int phaseNum;
/**
* 幅值量化值
*/
public int avg;
/**
* 工频周期数
*/
public int cycNum;
/**
* 放电量峰值
*/
public float intens;
/**
* 放电量均值
*/
public float avgV;
/**
* 50Hz相关性
*/
public float fiftyHZ;
/**
* 100Hz相关性
*/
public float hundredHZ;
/**
* 图谱类型标志
*/
public int tptype;
/**
* 幅值单位标志
*/
public int unit;
/**
* 幅值起始值
*/
public int minvalue;
/**
* 幅值最大值
*/
public int maxvalue;
/**
* 数据中的最大值用来标志生成图谱的z轴画图时候用到图谱文件中不存在此值
*/
public int maxint;
/**
* 数据,对应flash中的datavalue
*/
public int[][] datas;
/**
* y轴最大坐标值
*/
public double maxYCoordinate = 0;
/**
* y轴最小坐标值
*/
public double minYCoordinate = 0;
/**
* x轴最小坐标值
*/
public double maxXCoordinate = 0;
/**
* x轴最小坐标值
*/
public double minXCoordinate = 0;
/**
* z轴最小坐标值
*/
public double maxZCoordinate = 0;
/**
* z轴最小坐标值
*/
public double minZCoordinate = 0;
public PDViewObject parserPrps(InputStream is) throws IOException {
PDViewObject vo = new PDViewObject();
if (is == null) {
System.out.println("读取错误!!!");
return vo;
}
try {
SwappedDataInputStream stream = new SwappedDataInputStream(is);
vo.version = stream.readFloat();
vo.datetime = readDate(stream);
vo.devnum = ParserUtil.readString(stream, 50);
vo.addr = readAddress(stream);//
vo.channelnum = stream.readInt();
vo.devstatus = stream.readByte();
vo.datastatus = stream.readByte();
vo.type = stream.readByte();
vo.alarm = stream.readByte();
vo.probSt = stream.readByte();
//10 种放电类型的概率
for (int i = 0; i < 10; i++) {
vo.probs[i] = stream.readFloat();
}
vo.coeff = stream.readShort();
vo.phaseNum = stream.readInt();
vo.avg = stream.readInt();
vo.cycNum = stream.readInt();
vo.intens = stream.readFloat();
vo.avgV = stream.readFloat();
int maxint = 0;
vo.fiftyHZ = stream.readFloat();
vo.hundredHZ = stream.readFloat();
vo.tptype = stream.readByte();
vo.unit = stream.readByte();
vo.minvalue = stream.readShort();
vo.maxvalue = stream.readShort();
int[][] datas = null;
if (vo.tptype == 0) {//PRPD型图谱,phaseNum窗数
vo.maxXCoordinate = vo.phaseNum;
vo.maxYCoordinate = vo.avg;
datas = new int[vo.phaseNum][vo.avg];
//m×n的二维数组其中m为相位窗数n为幅值量化值数组值为对应的放电频次
//m对应vo.phaseNum,n对应vo.avg
for (int x = 0; x < vo.phaseNum; x++) {
for (int y = 0; y < vo.avg; y++) {
int value = stream.readShort();
if (value != 0) {
maxint = Math.max(maxint, value);
datas[x][y] = value;
if (value > vo.maxZCoordinate) {
vo.maxZCoordinate = value;
}
}
}
}
} else if (vo.tptype == 1) {//PRPS型图谱,phaseNum窗数
if (vo.unit == 1) {
vo.maxXCoordinate = vo.phaseNum;
vo.maxYCoordinate = vo.cycNum;
datas = new int[vo.phaseNum][vo.cycNum];
//m×L的二维数组其中m为相位窗数L为工频周期数数组值为对应的放电强度
//m对应vo.phaseNum,n对应vo.cycNum
for (int x = 0; x < vo.phaseNum; x++) {
for (int y = 0; y < vo.cycNum; y++) {
int value = stream.readShort();
if (value != 0) {
maxint = Math.max(maxint, value);
datas[x][y] = value;
if (value > vo.maxZCoordinate) {
vo.maxZCoordinate = value;
}
}
}
}
} else if (vo.unit == 2) {
// vo.maxXCoordinate = vo.cycNum;
// vo.maxYCoordinate = vo.phaseNum;
// datas = new int[vo.cycNum][vo.phaseNum];
vo.maxXCoordinate = vo.phaseNum;
vo.maxYCoordinate = vo.cycNum;
datas = new int[vo.phaseNum][vo.cycNum];
for (int x = 0; x < vo.cycNum; x++) {
for (int y = 0; y < vo.phaseNum; y++) {
int value = stream.readShort();
if (value != 0) {
maxint = Math.max(maxint, value);
datas[y][x] = value;
if (value > vo.maxZCoordinate) {
vo.maxZCoordinate = value;
}
}
}
}
}
}
vo.maxint = maxint;
vo.datas = datas;
//生成CSV格式数据并导入destFilePathTrain非必要
// if (vo.tptype == 1) {//PRPS型图谱,phaseNum窗数
// DataToCSV dataTrain = new DataToCSV();
//// String destFilePathTrain = "C:/Users/Administrator/Desktop/train.csv";
// File file = new File(destFilePathTrain);
// System.out.println(dataTrain.exportPRPSCsv(file, vo));
// }
} catch (EOFException e) {
System.out.println("已经达到文件末尾");
}
return vo;
}
private static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static String readDate(SwappedDataInputStream stream) throws IOException {
int t = stream.readInt();
long ltime = ((long) (t - (8 * 60 * 60))) * 1000l;
return df.format(new Date(ltime));
}
private static String readAddress(SwappedDataInputStream stream) throws IOException {
StringBuffer addr = new StringBuffer();
for (int i = 0; i < 4; i++) {
int b = (int) stream.readByte();
if (b < 0) {
b += 256;
}
addr.append(b);
if (i < 3) {
addr.append(".");
}
}
return addr.toString();
}
}
package jhcomn.DatReader;
import org.apache.commons.io.input.SwappedDataInputStream;
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class PDViewObject {
/**
* 版本
*/
public float version;
/**
* 图谱生成时间
*/
public String datetime;
/**
* 被监测设备编号
*/
public String devnum;
/**
* 装置地址
*/
public String addr;
/**
* 通道编号
*/
public int channelnum;
/**
* 被监测设备状态
*/
public int devstatus;
/**
* 数据状态
*/
public int datastatus;
/**
* 放电类型
*/
public int type;
/**
* 报警等级
*/
public int alarm;
/**
* 放电类型概率统计标志
*/
public int probSt;
//10 种放电类型的概率
public float[] probs = new float[10];
/**
* 放电幅值标定系数
*/
public short coeff;
/**
* 放电相位窗数
*/
public int phaseNum;
/**
* 幅值量化值
*/
public int avg;
/**
* 工频周期数
*/
public int cycNum;
/**
* 放电量峰值
*/
public float intens;
/**
* 放电量均值
*/
public float avgV;
/**
* 50Hz相关性
*/
public float fiftyHZ;
/**
* 100Hz相关性
*/
public float hundredHZ;
/**
* 图谱类型标志
*/
public int tptype;
/**
* 幅值单位标志
*/
public int unit;
/**
* 幅值起始值
*/
public int minvalue;
/**
* 幅值最大值
*/
public int maxvalue;
/**
* 数据中的最大值用来标志生成图谱的z轴画图时候用到图谱文件中不存在此值
*/
public int maxint;
/**
* 数据,对应flash中的datavalue
*/
public int[][] datas;
/**
* y轴最大坐标值
*/
public double maxYCoordinate = 0;
/**
* y轴最小坐标值
*/
public double minYCoordinate = 0;
/**
* x轴最小坐标值
*/
public double maxXCoordinate = 0;
/**
* x轴最小坐标值
*/
public double minXCoordinate = 0;
/**
* z轴最小坐标值
*/
public double maxZCoordinate = 0;
/**
* z轴最小坐标值
*/
public double minZCoordinate = 0;
public PDViewObject parserPrps(InputStream is) throws IOException {
PDViewObject vo = new PDViewObject();
if (is == null) {
System.out.println("读取错误!!!");
return vo;
}
try {
SwappedDataInputStream stream = new SwappedDataInputStream(is);
vo.version = stream.readFloat();
vo.datetime = readDate(stream);
vo.devnum = ParserUtil.readString(stream, 50);
vo.addr = readAddress(stream);//
vo.channelnum = stream.readInt();
vo.devstatus = stream.readByte();
vo.datastatus = stream.readByte();
vo.type = stream.readByte();
vo.alarm = stream.readByte();
vo.probSt = stream.readByte();
//10 种放电类型的概率
for (int i = 0; i < 10; i++) {
vo.probs[i] = stream.readFloat();
}
vo.coeff = stream.readShort();
vo.phaseNum = stream.readInt();
vo.avg = stream.readInt();
vo.cycNum = stream.readInt();
vo.intens = stream.readFloat();
vo.avgV = stream.readFloat();
int maxint = 0;
vo.fiftyHZ = stream.readFloat();
vo.hundredHZ = stream.readFloat();
vo.tptype = stream.readByte();
vo.unit = stream.readByte();
vo.minvalue = stream.readShort();
vo.maxvalue = stream.readShort();
int[][] datas = null;
if (vo.tptype == 0) {//PRPD型图谱,phaseNum窗数
vo.maxXCoordinate = vo.phaseNum;
vo.maxYCoordinate = vo.avg;
datas = new int[vo.phaseNum][vo.avg];
//m×n的二维数组其中m为相位窗数n为幅值量化值数组值为对应的放电频次
//m对应vo.phaseNum,n对应vo.avg
for (int x = 0; x < vo.phaseNum; x++) {
for (int y = 0; y < vo.avg; y++) {
int value = stream.readShort();
if (value != 0) {
maxint = Math.max(maxint, value);
datas[x][y] = value;
if (value > vo.maxZCoordinate) {
vo.maxZCoordinate = value;
}
}
}
}
} else if (vo.tptype == 1) {//PRPS型图谱,phaseNum窗数
if (vo.unit == 1) {
vo.maxXCoordinate = vo.phaseNum;
vo.maxYCoordinate = vo.cycNum;
datas = new int[vo.phaseNum][vo.cycNum];
//m×L的二维数组其中m为相位窗数L为工频周期数数组值为对应的放电强度
//m对应vo.phaseNum,n对应vo.cycNum
for (int x = 0; x < vo.phaseNum; x++) {
for (int y = 0; y < vo.cycNum; y++) {
int value = stream.readShort();
if (value != 0) {
maxint = Math.max(maxint, value);
datas[x][y] = value;
if (value > vo.maxZCoordinate) {
vo.maxZCoordinate = value;
}
}
}
}
} else if (vo.unit == 2) {
// vo.maxXCoordinate = vo.cycNum;
// vo.maxYCoordinate = vo.phaseNum;
// datas = new int[vo.cycNum][vo.phaseNum];
vo.maxXCoordinate = vo.phaseNum;
vo.maxYCoordinate = vo.cycNum;
datas = new int[vo.phaseNum][vo.cycNum];
for (int x = 0; x < vo.cycNum; x++) {
for (int y = 0; y < vo.phaseNum; y++) {
int value = stream.readShort();
if (value != 0) {
maxint = Math.max(maxint, value);
datas[y][x] = value;
if (value > vo.maxZCoordinate) {
vo.maxZCoordinate = value;
}
}
}
}
}
}
vo.maxint = maxint;
vo.datas = datas;
//生成CSV格式数据并导入destFilePathTrain非必要
// if (vo.tptype == 1) {//PRPS型图谱,phaseNum窗数
// DataToCSV dataTrain = new DataToCSV();
//// String destFilePathTrain = "C:/Users/Administrator/Desktop/train.csv";
// File file = new File(destFilePathTrain);
// System.out.println(dataTrain.exportPRPSCsv(file, vo));
// }
} catch (EOFException e) {
System.out.println("已经达到文件末尾");
}
return vo;
}
private static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static String readDate(SwappedDataInputStream stream) throws IOException {
int t = stream.readInt();
long ltime = ((long) (t - (8 * 60 * 60))) * 1000l;
return df.format(new Date(ltime));
}
private static String readAddress(SwappedDataInputStream stream) throws IOException {
StringBuffer addr = new StringBuffer();
for (int i = 0; i < 4; i++) {
int b = (int) stream.readByte();
if (b < 0) {
b += 256;
}
addr.append(b);
if (i < 3) {
addr.append(".");
}
}
return addr.toString();
}
}

View File

@ -1,31 +1,31 @@
package jhcomn.DatReader;
import org.apache.commons.io.input.SwappedDataInputStream;
import java.io.DataInputStream;
import java.io.IOException;
public class ParserUtil {
/**
* 从流中读取一个字符串
* @param dis
* @param byteCount 字节数
* @return
* @throws IOException
*/
public static String readString(DataInputStream stream , int byteCount) throws IOException{
StringBuffer sb = new StringBuffer();
for(int i=0; i<byteCount; i++){
sb.append((char)stream.readByte());
}
return sb.toString().trim();
}
public static String readString(SwappedDataInputStream stream , int byteCount) throws IOException{
StringBuffer sb = new StringBuffer();
for(int i=0; i<byteCount; i++){
sb.append((char)stream.readByte());
}
return sb.toString().trim();
}
}
package jhcomn.DatReader;
import org.apache.commons.io.input.SwappedDataInputStream;
import java.io.DataInputStream;
import java.io.IOException;
public class ParserUtil {
/**
* 从流中读取一个字符串
* @param dis
* @param byteCount 字节数
* @return
* @throws IOException
*/
public static String readString(DataInputStream stream , int byteCount) throws IOException{
StringBuffer sb = new StringBuffer();
for(int i=0; i<byteCount; i++){
sb.append((char)stream.readByte());
}
return sb.toString().trim();
}
public static String readString(SwappedDataInputStream stream , int byteCount) throws IOException{
StringBuffer sb = new StringBuffer();
for(int i=0; i<byteCount; i++){
sb.append((char)stream.readByte());
}
return sb.toString().trim();
}
}

View File

@ -1,4 +1,4 @@
package jhcomn.DatReader;
public class UHFDataReaderCSV {
}
package jhcomn.DatReader;
public class UHFDataReaderCSV {
}

View File

@ -1,45 +1,45 @@
package jhcomn.DatReader;
//import com.jhcomn.mllib.uhf.preprocess.UhfFeature.ExtractUhfFeature;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class UHFDataReaderDat {
public String label = "";
// public UHFDataReaderDat(String label){
// this.label = label;
// }
public int[][] prpsDataParser(String filePath, boolean isToCSV, String destFilePath) throws IOException {
PDViewObject pvo = new PDViewObject();
File file = new File(filePath);
InputStream fis = new FileInputStream(file);
pvo = pvo.parserPrps(fis);
if (isToCSV && destFilePath != null && pvo.datas != null && pvo.datas.length > 0){
DataToCSV dataToCSV = new DataToCSV();
File csvFile = new File(destFilePath);
System.out.println(dataToCSV.exportPRPSCsv(csvFile, pvo));
}
return pvo.datas;
}
public void printArray(int[][] datas){
if (datas != null && datas.length > 0){
int m = datas.length;
int n = datas[0].length;
for (int i=0;i<m;i++){
for (int j=0;j<n;j++){
System.out.print(datas[i][j]);
}
System.out.println();
}
}
}
}
package jhcomn.DatReader;
//import com.jhcomn.mllib.uhf.preprocess.UhfFeature.ExtractUhfFeature;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class UHFDataReaderDat {
public String label = "";
// public UHFDataReaderDat(String label){
// this.label = label;
// }
public int[][] prpsDataParser(String filePath, boolean isToCSV, String destFilePath) throws IOException {
PDViewObject pvo = new PDViewObject();
File file = new File(filePath);
InputStream fis = new FileInputStream(file);
pvo = pvo.parserPrps(fis);
if (isToCSV && destFilePath != null && pvo.datas != null && pvo.datas.length > 0){
DataToCSV dataToCSV = new DataToCSV();
File csvFile = new File(destFilePath);
System.out.println(dataToCSV.exportPRPSCsv(csvFile, pvo));
}
return pvo.datas;
}
public void printArray(int[][] datas){
if (datas != null && datas.length > 0){
int m = datas.length;
int n = datas[0].length;
for (int i=0;i<m;i++){
for (int j=0;j<n;j++){
System.out.print(datas[i][j]);
}
System.out.println();
}
}
}
}

View File

@ -1,120 +1,120 @@
package jhcomn.DmsReader;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
public class PdReader {
private List<String> dataList = new LinkedList<>();
private byte[] pdData = null;
private Map<String, String> IdentifyData = new HashMap<>();
private int DataIndex = 1;
public PdReader(String filePath) throws IOException {
FileReader filereader = new FileReader(filePath);
BufferedReader bufferedreader = new BufferedReader((filereader));
String str = "";
while ((str = bufferedreader.readLine()) != null){
dataList.add(str);
if(str.trim().equals("__Data__"))
break;
}
for(int i=0;i<dataList.size();i++)
System.out.println(dataList.get(i));
if(dataList.get(dataList.size() - 1).trim().equals("__Data__"))
System.out.println("标识数据读取成功!");
else
System.out.println("标识数据读取失败!");
for(int i=0;i<dataList.size();i++){
String[] headstring = dataList.get(i).trim().split("=");
if(headstring.length == 2 && !headstring[0].equals("DataKey")){
IdentifyData.put(headstring[0],headstring[1]);
}
}
FileInputStream fis = new FileInputStream(filePath);
pdData = new byte[fis.available()];
fis.read(pdData,0,pdData.length);
int lineNumber = 0;
//从第lineNumber行开始读取Pd数据对应PdData[]数组中第DataIndex开始读取;
while (lineNumber != dataList.size()){
if(pdData[DataIndex - 1] == 0x0D && pdData[DataIndex] == 0x0A) {
lineNumber++;
}
DataIndex++;
}
}
public PdReader(byte[] pdData){
this.pdData = pdData;
}
public double[][] readPdData(){
ByteBuffer buffer = ByteBuffer.wrap(pdData,DataIndex,pdData.length - DataIndex);
buffer.order(ByteOrder.LITTLE_ENDIAN);
int len = Integer.parseInt(IdentifyData.get("CycleCount")) * Integer.parseInt(IdentifyData.get("CycleAmplitudeCount"));
double[][] ret = new double[len][3];
int CycleCount = 0;
for(int i=0;i<ret.length;i++) {//读取周期
ret[i][0] = CycleCount;
CycleCount++;
if(CycleCount + 1 == Integer.parseInt(IdentifyData.get("CycleCount")))
CycleCount = 0;
}
int CycleAmplitudeCount = 0;
for(int i=0;i<ret.length;i++) {//读取相位
ret[i][1] = CycleAmplitudeCount;
CycleAmplitudeCount++;
if(CycleAmplitudeCount + 1 == Integer.parseInt(IdentifyData.get("CycleAmplitudeCount")))
CycleAmplitudeCount = 0;
}
byte[] indexByte = new byte[len / 8];
buffer.get(indexByte);
int indexpos = 0;
for(int i=0;i<ret.length;) {//读取幅值
byte curIdx = indexByte[indexpos];
for(int j=0; j<8; j++){
if((curIdx & 0x80) == 0x80){
ret[i][2] = buffer.getFloat();
// System.out.println(ret[2]);
}
else{
ret[i][2] = 0;
}
curIdx = (byte)((curIdx << 1) & 0xff);
i++;
}
indexpos++;
}
return ret;
}
}
package jhcomn.DmsReader;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
public class PdReader {
private List<String> dataList = new LinkedList<>();
private byte[] pdData = null;
private Map<String, String> IdentifyData = new HashMap<>();
private int DataIndex = 1;
public PdReader(String filePath) throws IOException {
FileReader filereader = new FileReader(filePath);
BufferedReader bufferedreader = new BufferedReader((filereader));
String str = "";
while ((str = bufferedreader.readLine()) != null){
dataList.add(str);
if(str.trim().equals("__Data__"))
break;
}
for(int i=0;i<dataList.size();i++)
System.out.println(dataList.get(i));
if(dataList.get(dataList.size() - 1).trim().equals("__Data__"))
System.out.println("标识数据读取成功!");
else
System.out.println("标识数据读取失败!");
for(int i=0;i<dataList.size();i++){
String[] headstring = dataList.get(i).trim().split("=");
if(headstring.length == 2 && !headstring[0].equals("DataKey")){
IdentifyData.put(headstring[0],headstring[1]);
}
}
FileInputStream fis = new FileInputStream(filePath);
pdData = new byte[fis.available()];
fis.read(pdData,0,pdData.length);
int lineNumber = 0;
//从第lineNumber行开始读取Pd数据对应PdData[]数组中第DataIndex开始读取;
while (lineNumber != dataList.size()){
if(pdData[DataIndex - 1] == 0x0D && pdData[DataIndex] == 0x0A) {
lineNumber++;
}
DataIndex++;
}
}
public PdReader(byte[] pdData){
this.pdData = pdData;
}
public double[][] readPdData(){
ByteBuffer buffer = ByteBuffer.wrap(pdData,DataIndex,pdData.length - DataIndex);
buffer.order(ByteOrder.LITTLE_ENDIAN);
int len = Integer.parseInt(IdentifyData.get("CycleCount")) * Integer.parseInt(IdentifyData.get("CycleAmplitudeCount"));
double[][] ret = new double[len][3];
int CycleCount = 0;
for(int i=0;i<ret.length;i++) {//读取周期
ret[i][0] = CycleCount;
CycleCount++;
if(CycleCount + 1 == Integer.parseInt(IdentifyData.get("CycleCount")))
CycleCount = 0;
}
int CycleAmplitudeCount = 0;
for(int i=0;i<ret.length;i++) {//读取相位
ret[i][1] = CycleAmplitudeCount;
CycleAmplitudeCount++;
if(CycleAmplitudeCount + 1 == Integer.parseInt(IdentifyData.get("CycleAmplitudeCount")))
CycleAmplitudeCount = 0;
}
byte[] indexByte = new byte[len / 8];
buffer.get(indexByte);
int indexpos = 0;
for(int i=0;i<ret.length;) {//读取幅值
byte curIdx = indexByte[indexpos];
for(int j=0; j<8; j++){
if((curIdx & 0x80) == 0x80){
ret[i][2] = buffer.getFloat();
// System.out.println(ret[2]);
}
else{
ret[i][2] = 0;
}
curIdx = (byte)((curIdx << 1) & 0xff);
i++;
}
indexpos++;
}
return ret;
}
}

View File

@ -1,51 +1,51 @@
package jhcomn.DmsReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
public class PrpdReader {
private byte[] prpdData;
public PrpdReader(String filePath) throws IOException {
FileInputStream fis = new FileInputStream(filePath);
byte[] prpdData = new byte[fis.available()];
fis.read(prpdData, 0, prpdData.length);
this.prpdData = prpdData;
}
public PrpdReader(byte[] prpdData){
this.prpdData = prpdData;
}
public double[][] read(){
double[][] ret = null;
ByteBuffer buffer = ByteBuffer.wrap(prpdData);
buffer.order(ByteOrder.LITTLE_ENDIAN);
int length = buffer.getInt(); //prpd点数
ret = new double[3][length];
for(int i = 0; i < length; i++){ //读取相位
ret[0][i] = buffer.getFloat();
}
for(int i = 0; i < length; i++){ //读取幅值
ret[1][i] = buffer.getFloat();
}
for(int i = 0; i < length; i++){
ret[2][i] = buffer.getFloat();
}
return ret;
}
}
package jhcomn.DmsReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
public class PrpdReader {
private byte[] prpdData;
public PrpdReader(String filePath) throws IOException {
FileInputStream fis = new FileInputStream(filePath);
byte[] prpdData = new byte[fis.available()];
fis.read(prpdData, 0, prpdData.length);
this.prpdData = prpdData;
}
public PrpdReader(byte[] prpdData){
this.prpdData = prpdData;
}
public double[][] read(){
double[][] ret = null;
ByteBuffer buffer = ByteBuffer.wrap(prpdData);
buffer.order(ByteOrder.LITTLE_ENDIAN);
int length = buffer.getInt(); //prpd点数
ret = new double[3][length];
for(int i = 0; i < length; i++){ //读取相位
ret[0][i] = buffer.getFloat();
}
for(int i = 0; i < length; i++){ //读取幅值
ret[1][i] = buffer.getFloat();
}
for(int i = 0; i < length; i++){
ret[2][i] = buffer.getFloat();
}
return ret;
}
}

View File

@ -1,18 +1,18 @@
import jhcomn.DatReader.PDViewObject;
import jhcomn.DatReader.UHFDataReaderDat;
import jhcomn.DmsReader.PdReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class test {
public static void main(String[] args) throws IOException{
String filePath = "/Users/fallcity/BackupBase/Coding/Python/DatReader/Data/PDMSystemPdmSys_CouplerSPDC0001/PDMSystem-PdmSys-CouplerSPDC0001_01_20140611235502.dat";
boolean isToCSV = true;
String destFilePath = "/Users/fallcity/Downloads/1.csv";
UHFDataReaderDat uhfDataReaderDat = new UHFDataReaderDat();
uhfDataReaderDat.prpsDataParser(args[0], isToCSV, args[1]);
}
}
import jhcomn.DatReader.PDViewObject;
import jhcomn.DatReader.UHFDataReaderDat;
import jhcomn.DmsReader.PdReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class test {
public static void main(String[] args) throws IOException{
String filePath = "/Users/fallcity/BackupBase/Coding/Python/DatReader/Data/PDMSystemPdmSys_CouplerSPDC0001/PDMSystem-PdmSys-CouplerSPDC0001_01_20140611235502.dat";
boolean isToCSV = true;
String destFilePath = "/Users/fallcity/Downloads/1.csv";
UHFDataReaderDat uhfDataReaderDat = new UHFDataReaderDat();
uhfDataReaderDat.prpsDataParser(args[0], isToCSV, args[1]);
}
}

0
6.1 DatReader/legacy/UHFDataReaderDat.py Normal file → Executable file
View File

0
6.1 DatReader/legacy/__init__.py Normal file → Executable file
View File

0
6.1 DatReader/legacy/in_read.py Normal file → Executable file
View File

0
6.1 DatReader/processDatToCsv.py Normal file → Executable file
View File

View File

@ -1,101 +1,101 @@
type_id,,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64
1,1,5101,32,0,0,0,772,356,336,296,282,449,144,142,128,100,169,150,56,58,57,53,90,57,34,37,35,57,26,21,18,16,23,22,3,12,6,6,15,1,3,4,2,6,3,0,3,1,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
1,2,3583,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,3,495,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,4,3165,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,5,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,6,115,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,7,193,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,8,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,9,889,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,10,1641,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,11,733,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,12,117,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,13,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,14,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,15,48,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,16,35,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,17,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,18,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,19,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,20,84,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,21,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,22,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,23,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,24,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,25,394,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,26,793,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,27,532,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,28,600,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,29,389,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,30,399,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,31,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,32,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,33,63,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,34,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,35,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,36,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,37,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,38,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,39,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,40,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,41,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,42,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,44,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,47,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,63,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,65,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,66,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,68,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,69,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,70,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,71,336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,72,325,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,73,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,74,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,75,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,76,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,77,239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,78,222,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,79,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,80,123,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,81,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,82,149,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,83,178,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,84,132,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,85,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,86,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,87,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,88,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,89,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,90,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,91,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,92,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,93,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,94,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,95,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,96,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,99,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,100,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
type_id,,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64
1,1,5101,32,0,0,0,772,356,336,296,282,449,144,142,128,100,169,150,56,58,57,53,90,57,34,37,35,57,26,21,18,16,23,22,3,12,6,6,15,1,3,4,2,6,3,0,3,1,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
1,2,3583,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,3,495,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,4,3165,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,5,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,6,115,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,7,193,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,8,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,9,889,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,10,1641,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,11,733,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,12,117,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,13,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,14,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,15,48,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,16,35,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,17,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,18,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,19,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,20,84,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,21,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,22,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,23,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,24,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,25,394,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,26,793,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,27,532,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,28,600,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,29,389,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,30,399,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,31,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,32,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,33,63,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,34,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,35,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,36,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,37,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,38,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,39,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,40,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,41,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,42,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,44,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,47,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,63,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,65,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,66,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,68,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,69,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,70,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,71,336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,72,325,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,73,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,74,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,75,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,76,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,77,239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,78,222,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,79,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,80,123,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,81,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,82,149,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,83,178,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,84,132,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,85,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,86,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,87,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,88,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,89,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,90,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,91,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,92,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,93,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,94,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,95,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,96,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,99,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,100,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

1 type_id 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
2 1 1 5101 32 0 0 0 772 356 336 296 282 449 144 142 128 100 169 150 56 58 57 53 90 57 34 37 35 57 26 21 18 16 23 22 3 12 6 6 15 1 3 4 2 6 3 0 3 1 3 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
3 1 2 3583 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 1 3 495 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 1 4 3165 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 1 5 196 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 1 6 115 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 1 7 193 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 1 8 144 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 1 9 889 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 1 10 1641 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 1 11 733 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 1 12 117 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 1 13 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 1 14 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 1 15 48 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17 1 16 35 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18 1 17 37 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19 1 18 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20 1 19 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21 1 20 84 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22 1 21 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23 1 22 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24 1 23 139 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25 1 24 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26 1 25 394 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27 1 26 793 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28 1 27 532 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
29 1 28 600 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
30 1 29 389 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31 1 30 399 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
32 1 31 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
33 1 32 39 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
34 1 33 63 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
35 1 34 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
36 1 35 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
37 1 36 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
38 1 37 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
39 1 38 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
40 1 39 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
41 1 40 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
42 1 41 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
43 1 42 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
44 1 43 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
45 1 44 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
46 1 45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
47 1 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
48 1 47 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
49 1 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
50 1 49 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
51 1 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
52 1 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
53 1 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
54 1 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
55 1 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
56 1 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
57 1 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
58 1 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
59 1 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
60 1 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
61 1 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
62 1 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
63 1 62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
64 1 63 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
65 1 64 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
66 1 65 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
67 1 66 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
68 1 67 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
69 1 68 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
70 1 69 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
71 1 70 160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
72 1 71 336 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
73 1 72 325 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
74 1 73 233 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
75 1 74 182 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
76 1 75 169 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
77 1 76 202 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
78 1 77 239 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
79 1 78 222 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
80 1 79 149 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
81 1 80 123 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
82 1 81 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
83 1 82 149 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
84 1 83 178 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
85 1 84 132 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
86 1 85 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
87 1 86 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
88 1 87 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
89 1 88 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
90 1 89 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
91 1 90 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
92 1 91 38 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
93 1 92 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
94 1 93 13 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
95 1 94 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
96 1 95 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
97 1 96 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
98 1 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
99 1 98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
100 1 99 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
101 1 100 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

File diff suppressed because it is too large Load Diff

View File

@ -1,119 +1,119 @@
atomicNumber,symbol,name,atomicMass,cpkHexColor,electronicConfiguration,electronegativity,atomicRadius,ionRadius,vanDelWaalsRadius,ionizationEnergy,electronAffinity,oxidationStates,standardState,bondingType,meltingPoint,boilingPoint,density,groupBlock,yearDiscovered
1,H,Hydrogen,1.00794(4),FFFFFF,1s1,2.2,37,,120,1312,-73,"-1, 1",gas,diatomic,14,20,0.0000899,nonmetal,1766
2,He,Helium,4.002602(2),D9FFFF,1s2,,32,,140,2372,0,,gas,atomic,,4,0.0001785,noble gas,1868
3,Li,Lithium,6.941(2),CC80FF,[He] 2s1,0.98,134,76 (+1),182,520,-60,1,solid,metallic,454,1615,0.535,alkali metal,1817
4,Be,Beryllium,9.012182(3),C2FF00,[He] 2s2,1.57,90,45 (+2),,900,0,2,solid,metallic,1560,2743,1.848,alkaline earth metal,1798
5,B,Boron,10.811(7),FFB5B5,[He] 2s2 2p1,2.04,82,27 (+3),,801,-27,"1, 2, 3",solid,covalent network,2348,4273,2.46,metalloid,1807
6,C,Carbon,12.0107(8),909090,[He] 2s2 2p2,2.55,77,16 (+4),170,1087,-154,"-4, -3, -2, -1, 1, 2, 3, 4",solid,covalent network,3823,4300,2.26,nonmetal,Ancient
7,N,Nitrogen,14.0067(2),3050F8,[He] 2s2 2p3,3.04,75,146 (-3),155,1402,-7,"-3, -2, -1, 1, 2, 3, 4, 5",gas,diatomic,63,77,0.001251,nonmetal,1772
8,O,Oxygen,15.9994(3),FF0D0D,[He] 2s2 2p4,3.44,73,140 (-2),152,1314,-141,"-2, -1, 1, 2",gas,diatomic,55,90,0.001429,nonmetal,1774
9,F,Fluorine,18.9984032(5),9.00E+51,[He] 2s2 2p5,3.98,71,133 (-1),147,1681,-328,-1,gas,atomic,54,85,0.001696,halogen,1670
10,Ne,Neon,20.1797(6),B3E3F5,[He] 2s2 2p6,,69,,154,2081,0,,gas,atomic,25,27,0.0009,noble gas,1898
11,Na,Sodium,22.98976928(2),AB5CF2,[Ne] 3s1,0.93,154,102 (+1),227,496,-53,"-1, 1",solid,metallic,371,1156,0.968,alkali metal,1807
12,Mg,Magnesium,24.3050(6),8AFF00,[Ne] 3s2,1.31,130,72 (+2),173,738,0,"1, 2",solid,metallic,923,1363,1.738,alkaline earth metal,1808
13,Al,Aluminum,26.9815386(8),BFA6A6,[Ne] 3s2 3p1,1.61,118,53.5 (+3),,578,-43,"1, 3",solid,metallic,933,2792,2.7,metal,Ancient
14,Si,Silicon,28.0855(3),F0C8A0,[Ne] 3s2 3p2,1.9,111,40 (+4),210,787,-134,"-4, -3, -2, -1, 1, 2, 3, 4",solid,metallic,1687,3173,2.33,metalloid,1854
15,P,Phosphorus,30.973762(2),FF8000,[Ne] 3s2 3p3,2.19,106,44 (+3),180,1012,-72,"-3, -2, -1, 1, 2, 3, 4, 5",solid,covalent network,317,554,1.823,nonmetal,1669
16,S,Sulfur,32.065(5),FFFF30,[Ne] 3s2 3p4,2.58,102,184 (-2),180,1000,-200,"-2, -1, 1, 2, 3, 4, 5, 6",solid,covalent network,388,718,1.96,nonmetal,Ancient
17,Cl,Chlorine,35.453(2),1FF01F,[Ne] 3s2 3p5,3.16,99,181 (-1),175,1251,-349,"-1, 1, 2, 3, 4, 5, 6, 7",gas,covalent network,172,239,0.003214,halogen,1774
18,Ar,Argon,39.948(1),80D1E3,[Ne] 3s2 3p6,,97,,188,1521,0,,gas,atomic,84,87,0.001784,noble gas,1894
19,K,Potassium,39.0983(1),8F40D4,[Ar] 4s1,0.82,196,138 (+1),275,419,-48,1,solid,metallic,337,1032,0.856,alkali metal,1807
20,Ca,Calcium,40.078(4),3DFF00,[Ar] 4s2,1,174,100 (+2),,590,-2,2,solid,metallic,1115,1757,1.55,alkaline earth metal,Ancient
21,Sc,Scandium,44.955912(6),E6E6E6,[Ar] 3d1 4s2,1.36,144,74.5 (+3),,633,-18,"1, 2, 3",solid,metallic,1814,3103,2.985,transition metal,1876
22,Ti,Titanium,47.867(1),BFC2C7,[Ar] 3d2 4s2,1.54,136,86 (+2),,659,-8,"-1, 2, 3, 4",solid,metallic,1941,3560,4.507,transition metal,1791
23,V,Vanadium,50.9415(1),A6A6AB,[Ar] 3d3 4s2,1.63,125,79 (+2),,651,-51,"-1, 2, 3, 4",solid,metallic,2183,3680,6.11,transition metal,1803
24,Cr,Chromium,51.9961(6),8A99C7,[Ar] 3d5 4s1,1.66,127,80 (+2*),,653,-64,"-2, -1, 1, 2, 3, 4, 5, 6",solid,metallic,2180,2944,7.14,transition metal,Ancient
25,Mn,Manganese,54.938045(5),9C7AC7,[Ar] 3d5 4s2,1.55,139,67 (+2),,717,0,"-3, -2, -1, 1, 2, 3, 4, 5, 6, 7",solid,metallic,1519,2334,7.47,transition metal,1774
26,Fe,Iron,55.845(2),E06633,[Ar] 3d6 4s2,1.83,125,78 (+2*),,763,-16,"-2, -1, 1, 2, 3, 4, 5, 6",solid,metallic,1811,3134,7.874,transition metal,Ancient
27,Co,Cobalt,58.933195(5),F090A0,[Ar] 3d7 4s2,1.88,126,74.5 (+2*),,760,-64,"-1, 1, 2, 3, 4, 5",solid,metallic,1768,3200,8.9,transition metal,Ancient
28,Ni,Nickel,58.6934(4),50D050,[Ar] 3d8 4s2,1.91,121,69 (+2),163,737,-112,"-1, 1, 2, 3, 4",solid,metallic,1728,3186,8.908,transition metal,1751
29,Cu,Copper,63.546(3),C88033,[Ar] 3d10 4s1,1.9,138,77 (+1),140,746,-118,"1, 2, 3, 4",solid,metallic,1358,3200,8.92,transition metal,Ancient
30,Zn,Zinc,65.38(2),7D80B0,[Ar] 3d10 4s2,1.65,131,74 (+2),139,906,0,2,solid,metallic,693,1180,7.14,transition metal,1746
31,Ga,Gallium,69.723(1),C28F8F,[Ar] 3d10 4s2 4p1,1.81,126,62 (+3),187,579,-29,"1, 2, 3",solid,metallic,303,2477,5.904,metal,1875
32,Ge,Germanium,72.64(1),668F8F,[Ar] 3d10 4s2 4p2,2.01,122,73 (+2),,762,-119,"-4, 1, 2, 3, 4",solid,metallic,1211,3093,5.323,metalloid,1886
33,As,Arsenic,74.92160(2),BD80E3,[Ar] 3d10 4s2 4p3,2.18,119,58 (+3),185,947,-78,"-3, 2, 3, 5",solid,metallic,1090,887,5.727,metalloid,Ancient
34,Se,Selenium,78.96(3),FFA100,[Ar] 3d10 4s2 4p4,2.55,116,198 (-2),190,941,-195,"-2, 2, 4, 6",solid,metallic,494,958,4.819,nonmetal,1817
35,Br,Bromine,79.904(1),A62929,[Ar] 3d10 4s2 4p5,2.96,114,196 (-1),185,1140,-325,"-1, 1, 3, 4, 5, 7",liquid,covalent network,266,332,3.12,halogen,1826
36,Kr,Krypton,83.798(2),5CB8D1,[Ar] 3d10 4s2 4p6,,110,,202,1351,0,2,gas,atomic,116,120,0.00375,noble gas,1898
37,Rb,Rubidium,85.4678(3),702EB0,[Kr] 5s1,0.82,211,152 (+1),,403,-47,1,solid,metallic,312,961,1.532,alkali metal,1861
38,Sr,Strontium,87.62(1),00FF00,[Kr] 5s2,0.95,192,118 (+2),,550,-5,2,solid,metallic,1050,1655,2.63,alkaline earth metal,1790
39,Y,Yttrium,88.90585(2),94FFFF,[Kr] 4d1 5s2,1.22,162,90 (+3),,600,-30,"1, 2, 3",solid,metallic,1799,3618,4.472,transition metal,1794
40,Zr,Zirconium,91.224(2),94E0E0,[Kr] 4d2 5s2,1.33,148,72 (+4),,640,-41,"1, 2, 3, 4",solid,metallic,2128,4682,6.511,transition metal,1789
41,Nb,Niobium,92.90638(2),73C2C9,[Kr] 4d4 5s1,1.6,137,72 (+3),,652,-86,"-1, 2, 3, 4, 5",solid,metallic,2750,5017,8.57,transition metal,1801
42,Mo,Molybdenum,95.96(2),54B5B5,[Kr] 4d5 5s1,2.16,145,69 (+3),,684,-72,"-2, -1, 1, 2, 3, 4, 5, 6",solid,metallic,2896,4912,10.28,transition metal,1778
43,Tc,Technetium,[98],3B9E9E,[Kr] 4d5 5s2,1.9,156,64.5 (+4),,702,-53,"-3, -1, 1, 2, 3, 4, 5, 6, 7",solid,metallic,2430,4538,11.5,transition metal,1937
44,Ru,Ruthenium,101.07(2),248F8F,[Kr] 4d7 5s1,2.2,126,68 (+3),,710,-101,"-2, 1, 2, 3, 4, 5, 6, 7, 8",solid,metallic,2607,4423,12.37,transition metal,1827
45,Rh,Rhodium,102.90550(2),0A7D8C,[Kr] 4d8 5s1,2.28,135,66.5 (+3),,720,-110,"-1, 1, 2, 3, 4, 5, 6",solid,metallic,2237,3968,12.45,transition metal,1803
46,Pd,Palladium,106.42(1),6985,[Kr] 4d10,2.2,131,59 (+1),163,804,-54,"2, 4",solid,metallic,1828,3236,12.023,transition metal,1803
47,Ag,Silver,107.8682(2),C0C0C0,[Kr] 4d10 5s1,1.93,153,115 (+1),172,731,-126,"1, 2, 3",solid,metallic,1235,2435,10.49,transition metal,Ancient
48,Cd,Cadmium,112.411(8),FFD98F,[Kr] 4d10 5s2,1.69,148,95 (+2),158,868,0,2,solid,metallic,594,1040,8.65,transition metal,1817
49,In,Indium,114.818(3),A67573,[Kr] 4d10 5s2 5p1,1.78,144,80 (+3),193,558,-29,"1, 2, 3",solid,metallic,430,2345,7.31,metal,1863
50,Sn,Tin,118.710(7),668080,[Kr] 4d10 5s2 5p2,1.96,141,112 (+2),217,709,-107,"-4, 2, 4",solid,metallic,505,2875,7.31,metal,Ancient
51,Sb,Antimony,121.760(1),9E63B5,[Kr] 4d10 5s2 5p3,2.05,138,76 (+3),,834,-103,"-3, 3, 5",solid,metallic,904,1860,6.697,metalloid,Ancient
52,Te,Tellurium,127.60(3),D47A00,[Kr] 4d10 5s2 5p4,2.1,135,221 (-2),206,869,-190,"-2, 2, 4, 5, 6",solid,metallic,723,1261,6.24,metalloid,1782
53,I,Iodine,126.90447(3),940094,[Kr] 4d10 5s2 5p5,2.66,133,220 (-1),198,1008,-295,"-1, 1, 3, 5, 7",solid,covalent network,387,457,4.94,halogen,1811
54,Xe,Xenon,131.293(6),429EB0,[Kr] 4d10 5s2 5p6,,130,48 (+8),216,1170,0,"2, 4, 6, 8",gas,atomic,161,165,0.0059,noble gas,1898
55,Cs,Cesium,132.9054519(2),57178F,[Xe] 6s1,0.79,225,167 (+1),,376,-46,1,solid,metallic,302,944,1.879,alkali metal,1860
56,Ba,Barium,137.327(7),00C900,[Xe] 6s2,0.89,198,135 (+2),,503,-14,2,solid,metallic,1000,2143,3.51,alkaline earth metal,1808
57,La,Lanthanum,138.90547(7),70D4FF,[Xe] 5d1 6s2,1.1,169,103.2 (+3),,538,-48,"2, 3",solid,metallic,1193,3737,6.146,lanthanoid,1839
58,Ce,Cerium,140.116(1),FFFFC7,[Xe] 4f1 5d1 6s2,1.12,,102 (+3),,534,-50,"2, 3, 4",solid,metallic,1071,3633,6.689,lanthanoid,1803
59,Pr,Praseodymium,140.90765(2),D9FFC7,[Xe] 4f3 6s2,1.13,,99 (+3),,527,-50,"2, 3, 4",solid,metallic,1204,3563,6.64,lanthanoid,1885
60,Nd,Neodymium,144.242(3),C7FFC7,[Xe] 4f4 6s2,1.14,,129 (+2),,533,-50,"2, 3",solid,metallic,1294,3373,7.01,lanthanoid,1885
61,Pm,Promethium,[145],A3FFC7,[Xe] 4f5 6s2,1.13,,97 (+3),,540,-50,3,solid,metallic,1373,3273,7.264,lanthanoid,1947
62,Sm,Samarium,150.36(2),8FFFC7,[Xe] 4f6 6s2,1.17,,122 (+2),,545,-50,"2, 3",solid,metallic,1345,2076,7.353,lanthanoid,1853
63,Eu,Europium,151.964(1),61FFC7,[Xe] 4f7 6s2,1.2,,117 (+2),,547,-50,"2, 3",solid,metallic,1095,1800,5.244,lanthanoid,1901
64,Gd,Gadolinium,157.25(3),45FFC7,[Xe] 4f7 5d1 6s2,1.2,,93.8 (+3),,593,-50,"1, 2, 3",solid,metallic,1586,3523,7.901,lanthanoid,1880
65,Tb,Terbium,158.92535(2),30FFC7,[Xe] 4f9 6s2,1.2,,92.3 (+3),,566,-50,"1, 3, 4",solid,metallic,1629,3503,8.219,lanthanoid,1843
66,Dy,Dysprosium,162.500(1),1FFFC7,[Xe] 4f10 6s2,1.22,,107 (+2),,573,-50,"2, 3",solid,metallic,1685,2840,8.551,lanthanoid,1886
67,Ho,Holmium,164.93032(2),00FF9C,[Xe] 4f11 6s2,1.23,,90.1 (+3),,581,-50,3,solid,metallic,1747,2973,8.795,lanthanoid,1878
68,Er,Erbium,167.259(3),0.00E+00,[Xe] 4f12 6s2,1.24,,89 (+3),,589,-50,3,solid,metallic,1770,3141,9.066,lanthanoid,1842
69,Tm,Thulium,168.93421(2),00D452,[Xe] 4f13 6s2,1.25,,103 (+2),,597,-50,"2, 3",solid,metallic,1818,2223,9.321,lanthanoid,1879
70,Yb,Ytterbium,173.054(5),00BF38,[Xe] 4f14 6s2,1.1,,102 (+2),,603,-50,"2, 3",solid,metallic,1092,1469,6.57,lanthanoid,1878
71,Lu,Lutetium,174.9668(1),00AB24,[Xe] 4f14 5d1 6s2,1.27,160,86.1 (+3),,524,-50,3,solid,metallic,1936,3675,9.841,lanthanoid,1907
72,Hf,Hafnium,178.49(2),4DC2FF,[Xe] 4f14 5d2 6s2,1.3,150,71 (+4),,659,0,"2, 3, 4",solid,metallic,2506,4876,13.31,transition metal,1923
73,Ta,Tantalum,180.94788(2),4DA6FF,[Xe] 4f14 5d3 6s2,1.5,138,72 (+3),,761,-31,"-1, 2, 3, 4, 5",solid,metallic,3290,5731,16.65,transition metal,1802
74,W,Tungsten,183.84(1),2194D6,[Xe] 4f14 5d4 6s2,2.36,146,66 (+4),,770,-79,"-2, -1, 1, 2, 3, 4, 5, 6",solid,metallic,3695,5828,19.25,transition metal,1783
75,Re,Rhenium,186.207(1),267DAB,[Xe] 4f14 5d5 6s2,1.9,159,63 (+4),,760,-15,"-3, -1, 1, 2, 3, 4, 5, 6, 7",solid,metallic,3459,5869,21.02,transition metal,1925
76,Os,Osmium,190.23(3),266696,[Xe] 4f14 5d6 6s2,2.2,128,63 (+4),,840,-106,"-2, -1, 1, 2, 3, 4, 5, 6, 7, 8",solid,metallic,3306,5285,22.61,transition metal,1803
77,Ir,Iridium,192.217(3),175487,[Xe] 4f14 5d7 6s2,2.2,137,68 (+3),,880,-151,"-3, -1, 1, 2, 3, 4, 5, 6",solid,metallic,2739,4701,22.65,transition metal,1803
78,Pt,Platinum,195.084(9),D0D0E0,[Xe] 4f14 5d9 6s1,2.28,128,86 (+2),175,870,-205,"2, 4, 5, 6",solid,metallic,2041,4098,21.09,transition metal,Ancient
79,Au,Gold,196.966569(4),FFD123,[Xe] 4f14 5d10 6s1,2.54,144,137 (+1),166,890,-223,"-1, 1, 2, 3, 5",solid,metallic,1337,3129,19.3,transition metal,Ancient
80,Hg,Mercury,200.59(2),B8B8D0,[Xe] 4f14 5d10 6s2,2,149,119 (+1),155,1007,0,"1, 2, 4",liquid,metallic,234,630,13.534,transition metal,Ancient
81,Tl,Thallium,204.3833(2),A6544D,[Xe] 4f14 5d10 6s2 6p1,2.04,148,150 (+1),196,589,-19,"1, 3",solid,metallic,577,1746,11.85,metal,1861
82,Pb,Lead,207.2(1),575961,[Xe] 4f14 5d10 6s2 6p2,2.33,147,119 (+2),202,716,-35,"-4, 2, 4",solid,metallic,601,2022,11.34,metal,Ancient
83,Bi,Bismuth,208.98040(1),9E4FB5,[Xe] 4f14 5d10 6s2 6p3,2.02,146,103 (+3),,703,-91,"-3, 3, 5",solid,metallic,544,1837,9.78,metal,Ancient
84,Po,Polonium,[209],AB5C00,[Xe] 4f14 5d10 6s2 6p4,2,,94 (+4),,812,-183,"-2, 2, 4, 6",solid,metallic,527,1235,9.196,metalloid,1898
85,At,Astatine,[210],754F45,[Xe] 4f14 5d10 6s2 6p5,2.2,,62 (+7),,920,-270,"-1, 1, 3, 5",solid,covalent network,575,,,halogen,1940
86,Rn,Radon,[222],428296,[Xe] 4f14 5d10 6s2 6p6,,145,,,1037,,2,gas,atomic,202,211,0.00973,noble gas,1900
87,Fr,Francium,[223],420066,[Rn] 7s1,0.7,,180 (+1),,380,,1,solid,metallic,,,,alkali metal,1939
88,Ra,Radium,[226],007D00,[Rn] 7s2,0.9,,148 (+2),,509,,2,solid,metallic,973,2010,5,alkaline earth metal,1898
89,Ac,Actinium,[227],70ABFA,[Rn] 6d1 7s2,1.1,,112 (+3),,499,,3,solid,metallic,1323,3473,10.07,actinoid,1899
90,Th,Thorium,232.03806(2),00BAFF,[Rn] 6d2 7s2,1.3,,94 (+4),,587,,"2, 3, 4",solid,metallic,2023,5093,11.724,actinoid,1828
91,Pa,Protactinium,231.03588(2),00A1FF,[Rn] 5f2 6d1 7s2,1.5,,104 (+3),,568,,"3, 4, 5",solid,metallic,1845,4273,15.37,actinoid,1913
92,U,Uranium,238.02891(3),008FFF,[Rn] 5f3 6d1 7s2,1.38,,102.5 (+3),186,598,,"3, 4, 5, 6",solid,metallic,1408,4200,19.05,actinoid,1789
93,Np,Neptunium,[237],0080FF,[Rn] 5f4 6d1 7s2,1.36,,110 (+2),,605,,"3, 4, 5, 6, 7",solid,metallic,917,4273,20.45,actinoid,1940
94,Pu,Plutonium,[244],006BFF,[Rn] 5f6 7s2,1.28,,100 (+3),,585,,"3, 4, 5, 6, 7",solid,metallic,913,3503,19.816,actinoid,1940
95,Am,Americium,[243],545CF2,[Rn] 5f7 7s2,1.3,,126 (+2),,578,,"2, 3, 4, 5, 6",solid,metallic,1449,2284,,actinoid,1944
96,Cm,Curium,[247],785CE3,[Rn] 5f7 6d1 7s2,1.3,,97 (+3),,581,,"3, 4",solid,metallic,1618,3383,13.51,actinoid,1944
97,Bk,Berkelium,[247],8A4FE3,[Rn] 5f9 7s2,1.3,,96 (+3),,601,,"3, 4",solid,metallic,1323,,14.78,actinoid,1949
98,Cf,Californium,[251],A136D4,[Rn] 5f10 7s2,1.3,,95 (+3),,608,,"2, 3, 4",solid,metallic,1173,,15.1,actinoid,1950
99,Es,Einsteinium,[252],B31FD4,[Rn] 5f11 7s2,1.3,,,,619,,"2, 3",solid,,1133,,,actinoid,1952
100,Fm,Fermium,[257],B31FBA,[Rn] 5f12 7s2,1.3,,,,627,,"2, 3",,,1800,,,actinoid,1952
101,Md,Mendelevium,[258],B30DA6,[Rn] 5f13 7s2,1.3,,,,635,,"2, 3",,,1100,,,actinoid,1955
102,No,Nobelium,[259],BD0D87,[Rn] 5f14 7s2,1.3,,,,642,,"2, 3",,,1100,,,actinoid,1957
103,Lr,Lawrencium,[262],C70066,[Rn] 5f14 7s2 7p1,1.3,,,,,,3,,,1900,,,transition metal,1961
104,Rf,Rutherfordium,[267],CC0059,[Rn] 5f14 6d2 7s2,,,,,,,4,,,,,,transition metal,1969
105,Db,Dubnium,[268],D1004F,[Rn] 5f14 6d3 7s2,,,,,,,,,,,,,transition metal,1967
106,Sg,Seaborgium,[271],D90045,[Rn] 5f14 6d4 7s2,,,,,,,,,,,,,transition metal,1974
107,Bh,Bohrium,[272],E00038,[Rn] 5f14 6d5 7s2,,,,,,,,,,,,,transition metal,1976
108,Hs,Hassium,[270],E6002E,[Rn] 5f14 6d6 7s2,,,,,,,,,,,,,transition metal,1984
109,Mt,Meitnerium,[276],EB0026,[Rn] 5f14 6d7 7s2,,,,,,,,,,,,,transition metal,1982
110,Ds,Darmstadtium,[281],,[Rn] 5f14 6d9 7s1,,,,,,,,,,,,,transition metal,1994
111,Rg,Roentgenium,[280],,[Rn] 5f14 6d10 7s1,,,,,,,,,,,,,transition metal,1994
112,Cn,Copernicium,[285],,[Rn] 5f14 6d10 7s2,,,,,,,,,,,,,transition metal,1996
113,Nh,Nihonium,[284],,[Rn] 5f14 6d10 7s2 7p1,,,,,,,,,,,,,post-transition metal,2003
114,Fl,Flerovium,[289],,[Rn] 5f14 6d10 7s2 7p2,,,,,,,,,,,,,post-transition metal,1998
115,Mc,Moscovium,[288],,[Rn] 5f14 6d10 7s2 7p3,,,,,,,,,,,,,post-transition metal,2003
116,Lv,Livermorium,[293],,[Rn] 5f14 6d10 7s2 7p4,,,,,,,,,,,,,post-transition metal,2000
117,Ts,Tennessine,[294],,[Rn] 5f14 6d10 7s2 7p5,,,,,,,,,,,,,post-transition metal,2010
118,Og,Oganesson,[294],,[Rn] 5f14 6d10 7s2 7p6,,,,,,,,,,,,,,
atomicNumber,symbol,name,atomicMass,cpkHexColor,electronicConfiguration,electronegativity,atomicRadius,ionRadius,vanDelWaalsRadius,ionizationEnergy,electronAffinity,oxidationStates,standardState,bondingType,meltingPoint,boilingPoint,density,groupBlock,yearDiscovered
1,H,Hydrogen,1.00794(4),FFFFFF,1s1,2.2,37,,120,1312,-73,"-1, 1",gas,diatomic,14,20,0.0000899,nonmetal,1766
2,He,Helium,4.002602(2),D9FFFF,1s2,,32,,140,2372,0,,gas,atomic,,4,0.0001785,noble gas,1868
3,Li,Lithium,6.941(2),CC80FF,[He] 2s1,0.98,134,76 (+1),182,520,-60,1,solid,metallic,454,1615,0.535,alkali metal,1817
4,Be,Beryllium,9.012182(3),C2FF00,[He] 2s2,1.57,90,45 (+2),,900,0,2,solid,metallic,1560,2743,1.848,alkaline earth metal,1798
5,B,Boron,10.811(7),FFB5B5,[He] 2s2 2p1,2.04,82,27 (+3),,801,-27,"1, 2, 3",solid,covalent network,2348,4273,2.46,metalloid,1807
6,C,Carbon,12.0107(8),909090,[He] 2s2 2p2,2.55,77,16 (+4),170,1087,-154,"-4, -3, -2, -1, 1, 2, 3, 4",solid,covalent network,3823,4300,2.26,nonmetal,Ancient
7,N,Nitrogen,14.0067(2),3050F8,[He] 2s2 2p3,3.04,75,146 (-3),155,1402,-7,"-3, -2, -1, 1, 2, 3, 4, 5",gas,diatomic,63,77,0.001251,nonmetal,1772
8,O,Oxygen,15.9994(3),FF0D0D,[He] 2s2 2p4,3.44,73,140 (-2),152,1314,-141,"-2, -1, 1, 2",gas,diatomic,55,90,0.001429,nonmetal,1774
9,F,Fluorine,18.9984032(5),9.00E+51,[He] 2s2 2p5,3.98,71,133 (-1),147,1681,-328,-1,gas,atomic,54,85,0.001696,halogen,1670
10,Ne,Neon,20.1797(6),B3E3F5,[He] 2s2 2p6,,69,,154,2081,0,,gas,atomic,25,27,0.0009,noble gas,1898
11,Na,Sodium,22.98976928(2),AB5CF2,[Ne] 3s1,0.93,154,102 (+1),227,496,-53,"-1, 1",solid,metallic,371,1156,0.968,alkali metal,1807
12,Mg,Magnesium,24.3050(6),8AFF00,[Ne] 3s2,1.31,130,72 (+2),173,738,0,"1, 2",solid,metallic,923,1363,1.738,alkaline earth metal,1808
13,Al,Aluminum,26.9815386(8),BFA6A6,[Ne] 3s2 3p1,1.61,118,53.5 (+3),,578,-43,"1, 3",solid,metallic,933,2792,2.7,metal,Ancient
14,Si,Silicon,28.0855(3),F0C8A0,[Ne] 3s2 3p2,1.9,111,40 (+4),210,787,-134,"-4, -3, -2, -1, 1, 2, 3, 4",solid,metallic,1687,3173,2.33,metalloid,1854
15,P,Phosphorus,30.973762(2),FF8000,[Ne] 3s2 3p3,2.19,106,44 (+3),180,1012,-72,"-3, -2, -1, 1, 2, 3, 4, 5",solid,covalent network,317,554,1.823,nonmetal,1669
16,S,Sulfur,32.065(5),FFFF30,[Ne] 3s2 3p4,2.58,102,184 (-2),180,1000,-200,"-2, -1, 1, 2, 3, 4, 5, 6",solid,covalent network,388,718,1.96,nonmetal,Ancient
17,Cl,Chlorine,35.453(2),1FF01F,[Ne] 3s2 3p5,3.16,99,181 (-1),175,1251,-349,"-1, 1, 2, 3, 4, 5, 6, 7",gas,covalent network,172,239,0.003214,halogen,1774
18,Ar,Argon,39.948(1),80D1E3,[Ne] 3s2 3p6,,97,,188,1521,0,,gas,atomic,84,87,0.001784,noble gas,1894
19,K,Potassium,39.0983(1),8F40D4,[Ar] 4s1,0.82,196,138 (+1),275,419,-48,1,solid,metallic,337,1032,0.856,alkali metal,1807
20,Ca,Calcium,40.078(4),3DFF00,[Ar] 4s2,1,174,100 (+2),,590,-2,2,solid,metallic,1115,1757,1.55,alkaline earth metal,Ancient
21,Sc,Scandium,44.955912(6),E6E6E6,[Ar] 3d1 4s2,1.36,144,74.5 (+3),,633,-18,"1, 2, 3",solid,metallic,1814,3103,2.985,transition metal,1876
22,Ti,Titanium,47.867(1),BFC2C7,[Ar] 3d2 4s2,1.54,136,86 (+2),,659,-8,"-1, 2, 3, 4",solid,metallic,1941,3560,4.507,transition metal,1791
23,V,Vanadium,50.9415(1),A6A6AB,[Ar] 3d3 4s2,1.63,125,79 (+2),,651,-51,"-1, 2, 3, 4",solid,metallic,2183,3680,6.11,transition metal,1803
24,Cr,Chromium,51.9961(6),8A99C7,[Ar] 3d5 4s1,1.66,127,80 (+2*),,653,-64,"-2, -1, 1, 2, 3, 4, 5, 6",solid,metallic,2180,2944,7.14,transition metal,Ancient
25,Mn,Manganese,54.938045(5),9C7AC7,[Ar] 3d5 4s2,1.55,139,67 (+2),,717,0,"-3, -2, -1, 1, 2, 3, 4, 5, 6, 7",solid,metallic,1519,2334,7.47,transition metal,1774
26,Fe,Iron,55.845(2),E06633,[Ar] 3d6 4s2,1.83,125,78 (+2*),,763,-16,"-2, -1, 1, 2, 3, 4, 5, 6",solid,metallic,1811,3134,7.874,transition metal,Ancient
27,Co,Cobalt,58.933195(5),F090A0,[Ar] 3d7 4s2,1.88,126,74.5 (+2*),,760,-64,"-1, 1, 2, 3, 4, 5",solid,metallic,1768,3200,8.9,transition metal,Ancient
28,Ni,Nickel,58.6934(4),50D050,[Ar] 3d8 4s2,1.91,121,69 (+2),163,737,-112,"-1, 1, 2, 3, 4",solid,metallic,1728,3186,8.908,transition metal,1751
29,Cu,Copper,63.546(3),C88033,[Ar] 3d10 4s1,1.9,138,77 (+1),140,746,-118,"1, 2, 3, 4",solid,metallic,1358,3200,8.92,transition metal,Ancient
30,Zn,Zinc,65.38(2),7D80B0,[Ar] 3d10 4s2,1.65,131,74 (+2),139,906,0,2,solid,metallic,693,1180,7.14,transition metal,1746
31,Ga,Gallium,69.723(1),C28F8F,[Ar] 3d10 4s2 4p1,1.81,126,62 (+3),187,579,-29,"1, 2, 3",solid,metallic,303,2477,5.904,metal,1875
32,Ge,Germanium,72.64(1),668F8F,[Ar] 3d10 4s2 4p2,2.01,122,73 (+2),,762,-119,"-4, 1, 2, 3, 4",solid,metallic,1211,3093,5.323,metalloid,1886
33,As,Arsenic,74.92160(2),BD80E3,[Ar] 3d10 4s2 4p3,2.18,119,58 (+3),185,947,-78,"-3, 2, 3, 5",solid,metallic,1090,887,5.727,metalloid,Ancient
34,Se,Selenium,78.96(3),FFA100,[Ar] 3d10 4s2 4p4,2.55,116,198 (-2),190,941,-195,"-2, 2, 4, 6",solid,metallic,494,958,4.819,nonmetal,1817
35,Br,Bromine,79.904(1),A62929,[Ar] 3d10 4s2 4p5,2.96,114,196 (-1),185,1140,-325,"-1, 1, 3, 4, 5, 7",liquid,covalent network,266,332,3.12,halogen,1826
36,Kr,Krypton,83.798(2),5CB8D1,[Ar] 3d10 4s2 4p6,,110,,202,1351,0,2,gas,atomic,116,120,0.00375,noble gas,1898
37,Rb,Rubidium,85.4678(3),702EB0,[Kr] 5s1,0.82,211,152 (+1),,403,-47,1,solid,metallic,312,961,1.532,alkali metal,1861
38,Sr,Strontium,87.62(1),00FF00,[Kr] 5s2,0.95,192,118 (+2),,550,-5,2,solid,metallic,1050,1655,2.63,alkaline earth metal,1790
39,Y,Yttrium,88.90585(2),94FFFF,[Kr] 4d1 5s2,1.22,162,90 (+3),,600,-30,"1, 2, 3",solid,metallic,1799,3618,4.472,transition metal,1794
40,Zr,Zirconium,91.224(2),94E0E0,[Kr] 4d2 5s2,1.33,148,72 (+4),,640,-41,"1, 2, 3, 4",solid,metallic,2128,4682,6.511,transition metal,1789
41,Nb,Niobium,92.90638(2),73C2C9,[Kr] 4d4 5s1,1.6,137,72 (+3),,652,-86,"-1, 2, 3, 4, 5",solid,metallic,2750,5017,8.57,transition metal,1801
42,Mo,Molybdenum,95.96(2),54B5B5,[Kr] 4d5 5s1,2.16,145,69 (+3),,684,-72,"-2, -1, 1, 2, 3, 4, 5, 6",solid,metallic,2896,4912,10.28,transition metal,1778
43,Tc,Technetium,[98],3B9E9E,[Kr] 4d5 5s2,1.9,156,64.5 (+4),,702,-53,"-3, -1, 1, 2, 3, 4, 5, 6, 7",solid,metallic,2430,4538,11.5,transition metal,1937
44,Ru,Ruthenium,101.07(2),248F8F,[Kr] 4d7 5s1,2.2,126,68 (+3),,710,-101,"-2, 1, 2, 3, 4, 5, 6, 7, 8",solid,metallic,2607,4423,12.37,transition metal,1827
45,Rh,Rhodium,102.90550(2),0A7D8C,[Kr] 4d8 5s1,2.28,135,66.5 (+3),,720,-110,"-1, 1, 2, 3, 4, 5, 6",solid,metallic,2237,3968,12.45,transition metal,1803
46,Pd,Palladium,106.42(1),6985,[Kr] 4d10,2.2,131,59 (+1),163,804,-54,"2, 4",solid,metallic,1828,3236,12.023,transition metal,1803
47,Ag,Silver,107.8682(2),C0C0C0,[Kr] 4d10 5s1,1.93,153,115 (+1),172,731,-126,"1, 2, 3",solid,metallic,1235,2435,10.49,transition metal,Ancient
48,Cd,Cadmium,112.411(8),FFD98F,[Kr] 4d10 5s2,1.69,148,95 (+2),158,868,0,2,solid,metallic,594,1040,8.65,transition metal,1817
49,In,Indium,114.818(3),A67573,[Kr] 4d10 5s2 5p1,1.78,144,80 (+3),193,558,-29,"1, 2, 3",solid,metallic,430,2345,7.31,metal,1863
50,Sn,Tin,118.710(7),668080,[Kr] 4d10 5s2 5p2,1.96,141,112 (+2),217,709,-107,"-4, 2, 4",solid,metallic,505,2875,7.31,metal,Ancient
51,Sb,Antimony,121.760(1),9E63B5,[Kr] 4d10 5s2 5p3,2.05,138,76 (+3),,834,-103,"-3, 3, 5",solid,metallic,904,1860,6.697,metalloid,Ancient
52,Te,Tellurium,127.60(3),D47A00,[Kr] 4d10 5s2 5p4,2.1,135,221 (-2),206,869,-190,"-2, 2, 4, 5, 6",solid,metallic,723,1261,6.24,metalloid,1782
53,I,Iodine,126.90447(3),940094,[Kr] 4d10 5s2 5p5,2.66,133,220 (-1),198,1008,-295,"-1, 1, 3, 5, 7",solid,covalent network,387,457,4.94,halogen,1811
54,Xe,Xenon,131.293(6),429EB0,[Kr] 4d10 5s2 5p6,,130,48 (+8),216,1170,0,"2, 4, 6, 8",gas,atomic,161,165,0.0059,noble gas,1898
55,Cs,Cesium,132.9054519(2),57178F,[Xe] 6s1,0.79,225,167 (+1),,376,-46,1,solid,metallic,302,944,1.879,alkali metal,1860
56,Ba,Barium,137.327(7),00C900,[Xe] 6s2,0.89,198,135 (+2),,503,-14,2,solid,metallic,1000,2143,3.51,alkaline earth metal,1808
57,La,Lanthanum,138.90547(7),70D4FF,[Xe] 5d1 6s2,1.1,169,103.2 (+3),,538,-48,"2, 3",solid,metallic,1193,3737,6.146,lanthanoid,1839
58,Ce,Cerium,140.116(1),FFFFC7,[Xe] 4f1 5d1 6s2,1.12,,102 (+3),,534,-50,"2, 3, 4",solid,metallic,1071,3633,6.689,lanthanoid,1803
59,Pr,Praseodymium,140.90765(2),D9FFC7,[Xe] 4f3 6s2,1.13,,99 (+3),,527,-50,"2, 3, 4",solid,metallic,1204,3563,6.64,lanthanoid,1885
60,Nd,Neodymium,144.242(3),C7FFC7,[Xe] 4f4 6s2,1.14,,129 (+2),,533,-50,"2, 3",solid,metallic,1294,3373,7.01,lanthanoid,1885
61,Pm,Promethium,[145],A3FFC7,[Xe] 4f5 6s2,1.13,,97 (+3),,540,-50,3,solid,metallic,1373,3273,7.264,lanthanoid,1947
62,Sm,Samarium,150.36(2),8FFFC7,[Xe] 4f6 6s2,1.17,,122 (+2),,545,-50,"2, 3",solid,metallic,1345,2076,7.353,lanthanoid,1853
63,Eu,Europium,151.964(1),61FFC7,[Xe] 4f7 6s2,1.2,,117 (+2),,547,-50,"2, 3",solid,metallic,1095,1800,5.244,lanthanoid,1901
64,Gd,Gadolinium,157.25(3),45FFC7,[Xe] 4f7 5d1 6s2,1.2,,93.8 (+3),,593,-50,"1, 2, 3",solid,metallic,1586,3523,7.901,lanthanoid,1880
65,Tb,Terbium,158.92535(2),30FFC7,[Xe] 4f9 6s2,1.2,,92.3 (+3),,566,-50,"1, 3, 4",solid,metallic,1629,3503,8.219,lanthanoid,1843
66,Dy,Dysprosium,162.500(1),1FFFC7,[Xe] 4f10 6s2,1.22,,107 (+2),,573,-50,"2, 3",solid,metallic,1685,2840,8.551,lanthanoid,1886
67,Ho,Holmium,164.93032(2),00FF9C,[Xe] 4f11 6s2,1.23,,90.1 (+3),,581,-50,3,solid,metallic,1747,2973,8.795,lanthanoid,1878
68,Er,Erbium,167.259(3),0.00E+00,[Xe] 4f12 6s2,1.24,,89 (+3),,589,-50,3,solid,metallic,1770,3141,9.066,lanthanoid,1842
69,Tm,Thulium,168.93421(2),00D452,[Xe] 4f13 6s2,1.25,,103 (+2),,597,-50,"2, 3",solid,metallic,1818,2223,9.321,lanthanoid,1879
70,Yb,Ytterbium,173.054(5),00BF38,[Xe] 4f14 6s2,1.1,,102 (+2),,603,-50,"2, 3",solid,metallic,1092,1469,6.57,lanthanoid,1878
71,Lu,Lutetium,174.9668(1),00AB24,[Xe] 4f14 5d1 6s2,1.27,160,86.1 (+3),,524,-50,3,solid,metallic,1936,3675,9.841,lanthanoid,1907
72,Hf,Hafnium,178.49(2),4DC2FF,[Xe] 4f14 5d2 6s2,1.3,150,71 (+4),,659,0,"2, 3, 4",solid,metallic,2506,4876,13.31,transition metal,1923
73,Ta,Tantalum,180.94788(2),4DA6FF,[Xe] 4f14 5d3 6s2,1.5,138,72 (+3),,761,-31,"-1, 2, 3, 4, 5",solid,metallic,3290,5731,16.65,transition metal,1802
74,W,Tungsten,183.84(1),2194D6,[Xe] 4f14 5d4 6s2,2.36,146,66 (+4),,770,-79,"-2, -1, 1, 2, 3, 4, 5, 6",solid,metallic,3695,5828,19.25,transition metal,1783
75,Re,Rhenium,186.207(1),267DAB,[Xe] 4f14 5d5 6s2,1.9,159,63 (+4),,760,-15,"-3, -1, 1, 2, 3, 4, 5, 6, 7",solid,metallic,3459,5869,21.02,transition metal,1925
76,Os,Osmium,190.23(3),266696,[Xe] 4f14 5d6 6s2,2.2,128,63 (+4),,840,-106,"-2, -1, 1, 2, 3, 4, 5, 6, 7, 8",solid,metallic,3306,5285,22.61,transition metal,1803
77,Ir,Iridium,192.217(3),175487,[Xe] 4f14 5d7 6s2,2.2,137,68 (+3),,880,-151,"-3, -1, 1, 2, 3, 4, 5, 6",solid,metallic,2739,4701,22.65,transition metal,1803
78,Pt,Platinum,195.084(9),D0D0E0,[Xe] 4f14 5d9 6s1,2.28,128,86 (+2),175,870,-205,"2, 4, 5, 6",solid,metallic,2041,4098,21.09,transition metal,Ancient
79,Au,Gold,196.966569(4),FFD123,[Xe] 4f14 5d10 6s1,2.54,144,137 (+1),166,890,-223,"-1, 1, 2, 3, 5",solid,metallic,1337,3129,19.3,transition metal,Ancient
80,Hg,Mercury,200.59(2),B8B8D0,[Xe] 4f14 5d10 6s2,2,149,119 (+1),155,1007,0,"1, 2, 4",liquid,metallic,234,630,13.534,transition metal,Ancient
81,Tl,Thallium,204.3833(2),A6544D,[Xe] 4f14 5d10 6s2 6p1,2.04,148,150 (+1),196,589,-19,"1, 3",solid,metallic,577,1746,11.85,metal,1861
82,Pb,Lead,207.2(1),575961,[Xe] 4f14 5d10 6s2 6p2,2.33,147,119 (+2),202,716,-35,"-4, 2, 4",solid,metallic,601,2022,11.34,metal,Ancient
83,Bi,Bismuth,208.98040(1),9E4FB5,[Xe] 4f14 5d10 6s2 6p3,2.02,146,103 (+3),,703,-91,"-3, 3, 5",solid,metallic,544,1837,9.78,metal,Ancient
84,Po,Polonium,[209],AB5C00,[Xe] 4f14 5d10 6s2 6p4,2,,94 (+4),,812,-183,"-2, 2, 4, 6",solid,metallic,527,1235,9.196,metalloid,1898
85,At,Astatine,[210],754F45,[Xe] 4f14 5d10 6s2 6p5,2.2,,62 (+7),,920,-270,"-1, 1, 3, 5",solid,covalent network,575,,,halogen,1940
86,Rn,Radon,[222],428296,[Xe] 4f14 5d10 6s2 6p6,,145,,,1037,,2,gas,atomic,202,211,0.00973,noble gas,1900
87,Fr,Francium,[223],420066,[Rn] 7s1,0.7,,180 (+1),,380,,1,solid,metallic,,,,alkali metal,1939
88,Ra,Radium,[226],007D00,[Rn] 7s2,0.9,,148 (+2),,509,,2,solid,metallic,973,2010,5,alkaline earth metal,1898
89,Ac,Actinium,[227],70ABFA,[Rn] 6d1 7s2,1.1,,112 (+3),,499,,3,solid,metallic,1323,3473,10.07,actinoid,1899
90,Th,Thorium,232.03806(2),00BAFF,[Rn] 6d2 7s2,1.3,,94 (+4),,587,,"2, 3, 4",solid,metallic,2023,5093,11.724,actinoid,1828
91,Pa,Protactinium,231.03588(2),00A1FF,[Rn] 5f2 6d1 7s2,1.5,,104 (+3),,568,,"3, 4, 5",solid,metallic,1845,4273,15.37,actinoid,1913
92,U,Uranium,238.02891(3),008FFF,[Rn] 5f3 6d1 7s2,1.38,,102.5 (+3),186,598,,"3, 4, 5, 6",solid,metallic,1408,4200,19.05,actinoid,1789
93,Np,Neptunium,[237],0080FF,[Rn] 5f4 6d1 7s2,1.36,,110 (+2),,605,,"3, 4, 5, 6, 7",solid,metallic,917,4273,20.45,actinoid,1940
94,Pu,Plutonium,[244],006BFF,[Rn] 5f6 7s2,1.28,,100 (+3),,585,,"3, 4, 5, 6, 7",solid,metallic,913,3503,19.816,actinoid,1940
95,Am,Americium,[243],545CF2,[Rn] 5f7 7s2,1.3,,126 (+2),,578,,"2, 3, 4, 5, 6",solid,metallic,1449,2284,,actinoid,1944
96,Cm,Curium,[247],785CE3,[Rn] 5f7 6d1 7s2,1.3,,97 (+3),,581,,"3, 4",solid,metallic,1618,3383,13.51,actinoid,1944
97,Bk,Berkelium,[247],8A4FE3,[Rn] 5f9 7s2,1.3,,96 (+3),,601,,"3, 4",solid,metallic,1323,,14.78,actinoid,1949
98,Cf,Californium,[251],A136D4,[Rn] 5f10 7s2,1.3,,95 (+3),,608,,"2, 3, 4",solid,metallic,1173,,15.1,actinoid,1950
99,Es,Einsteinium,[252],B31FD4,[Rn] 5f11 7s2,1.3,,,,619,,"2, 3",solid,,1133,,,actinoid,1952
100,Fm,Fermium,[257],B31FBA,[Rn] 5f12 7s2,1.3,,,,627,,"2, 3",,,1800,,,actinoid,1952
101,Md,Mendelevium,[258],B30DA6,[Rn] 5f13 7s2,1.3,,,,635,,"2, 3",,,1100,,,actinoid,1955
102,No,Nobelium,[259],BD0D87,[Rn] 5f14 7s2,1.3,,,,642,,"2, 3",,,1100,,,actinoid,1957
103,Lr,Lawrencium,[262],C70066,[Rn] 5f14 7s2 7p1,1.3,,,,,,3,,,1900,,,transition metal,1961
104,Rf,Rutherfordium,[267],CC0059,[Rn] 5f14 6d2 7s2,,,,,,,4,,,,,,transition metal,1969
105,Db,Dubnium,[268],D1004F,[Rn] 5f14 6d3 7s2,,,,,,,,,,,,,transition metal,1967
106,Sg,Seaborgium,[271],D90045,[Rn] 5f14 6d4 7s2,,,,,,,,,,,,,transition metal,1974
107,Bh,Bohrium,[272],E00038,[Rn] 5f14 6d5 7s2,,,,,,,,,,,,,transition metal,1976
108,Hs,Hassium,[270],E6002E,[Rn] 5f14 6d6 7s2,,,,,,,,,,,,,transition metal,1984
109,Mt,Meitnerium,[276],EB0026,[Rn] 5f14 6d7 7s2,,,,,,,,,,,,,transition metal,1982
110,Ds,Darmstadtium,[281],,[Rn] 5f14 6d9 7s1,,,,,,,,,,,,,transition metal,1994
111,Rg,Roentgenium,[280],,[Rn] 5f14 6d10 7s1,,,,,,,,,,,,,transition metal,1994
112,Cn,Copernicium,[285],,[Rn] 5f14 6d10 7s2,,,,,,,,,,,,,transition metal,1996
113,Nh,Nihonium,[284],,[Rn] 5f14 6d10 7s2 7p1,,,,,,,,,,,,,post-transition metal,2003
114,Fl,Flerovium,[289],,[Rn] 5f14 6d10 7s2 7p2,,,,,,,,,,,,,post-transition metal,1998
115,Mc,Moscovium,[288],,[Rn] 5f14 6d10 7s2 7p3,,,,,,,,,,,,,post-transition metal,2003
116,Lv,Livermorium,[293],,[Rn] 5f14 6d10 7s2 7p4,,,,,,,,,,,,,post-transition metal,2000
117,Ts,Tennessine,[294],,[Rn] 5f14 6d10 7s2 7p5,,,,,,,,,,,,,post-transition metal,2010
118,Og,Oganesson,[294],,[Rn] 5f14 6d10 7s2 7p6,,,,,,,,,,,,,,

1 atomicNumber symbol name atomicMass cpkHexColor electronicConfiguration electronegativity atomicRadius ionRadius vanDelWaalsRadius ionizationEnergy electronAffinity oxidationStates standardState bondingType meltingPoint boilingPoint density groupBlock yearDiscovered
2 1 H Hydrogen 1.00794(4) FFFFFF 1s1 2.2 37 120 1312 -73 -1, 1 gas diatomic 14 20 0.0000899 nonmetal 1766
3 2 He Helium 4.002602(2) D9FFFF 1s2 32 140 2372 0 gas atomic 4 0.0001785 noble gas 1868
4 3 Li Lithium 6.941(2) CC80FF [He] 2s1 0.98 134 76 (+1) 182 520 -60 1 solid metallic 454 1615 0.535 alkali metal 1817
5 4 Be Beryllium 9.012182(3) C2FF00 [He] 2s2 1.57 90 45 (+2) 900 0 2 solid metallic 1560 2743 1.848 alkaline earth metal 1798
6 5 B Boron 10.811(7) FFB5B5 [He] 2s2 2p1 2.04 82 27 (+3) 801 -27 1, 2, 3 solid covalent network 2348 4273 2.46 metalloid 1807
7 6 C Carbon 12.0107(8) 909090 [He] 2s2 2p2 2.55 77 16 (+4) 170 1087 -154 -4, -3, -2, -1, 1, 2, 3, 4 solid covalent network 3823 4300 2.26 nonmetal Ancient
8 7 N Nitrogen 14.0067(2) 3050F8 [He] 2s2 2p3 3.04 75 146 (-3) 155 1402 -7 -3, -2, -1, 1, 2, 3, 4, 5 gas diatomic 63 77 0.001251 nonmetal 1772
9 8 O Oxygen 15.9994(3) FF0D0D [He] 2s2 2p4 3.44 73 140 (-2) 152 1314 -141 -2, -1, 1, 2 gas diatomic 55 90 0.001429 nonmetal 1774
10 9 F Fluorine 18.9984032(5) 9.00E+51 [He] 2s2 2p5 3.98 71 133 (-1) 147 1681 -328 -1 gas atomic 54 85 0.001696 halogen 1670
11 10 Ne Neon 20.1797(6) B3E3F5 [He] 2s2 2p6 69 154 2081 0 gas atomic 25 27 0.0009 noble gas 1898
12 11 Na Sodium 22.98976928(2) AB5CF2 [Ne] 3s1 0.93 154 102 (+1) 227 496 -53 -1, 1 solid metallic 371 1156 0.968 alkali metal 1807
13 12 Mg Magnesium 24.3050(6) 8AFF00 [Ne] 3s2 1.31 130 72 (+2) 173 738 0 1, 2 solid metallic 923 1363 1.738 alkaline earth metal 1808
14 13 Al Aluminum 26.9815386(8) BFA6A6 [Ne] 3s2 3p1 1.61 118 53.5 (+3) 578 -43 1, 3 solid metallic 933 2792 2.7 metal Ancient
15 14 Si Silicon 28.0855(3) F0C8A0 [Ne] 3s2 3p2 1.9 111 40 (+4) 210 787 -134 -4, -3, -2, -1, 1, 2, 3, 4 solid metallic 1687 3173 2.33 metalloid 1854
16 15 P Phosphorus 30.973762(2) FF8000 [Ne] 3s2 3p3 2.19 106 44 (+3) 180 1012 -72 -3, -2, -1, 1, 2, 3, 4, 5 solid covalent network 317 554 1.823 nonmetal 1669
17 16 S Sulfur 32.065(5) FFFF30 [Ne] 3s2 3p4 2.58 102 184 (-2) 180 1000 -200 -2, -1, 1, 2, 3, 4, 5, 6 solid covalent network 388 718 1.96 nonmetal Ancient
18 17 Cl Chlorine 35.453(2) 1FF01F [Ne] 3s2 3p5 3.16 99 181 (-1) 175 1251 -349 -1, 1, 2, 3, 4, 5, 6, 7 gas covalent network 172 239 0.003214 halogen 1774
19 18 Ar Argon 39.948(1) 80D1E3 [Ne] 3s2 3p6 97 188 1521 0 gas atomic 84 87 0.001784 noble gas 1894
20 19 K Potassium 39.0983(1) 8F40D4 [Ar] 4s1 0.82 196 138 (+1) 275 419 -48 1 solid metallic 337 1032 0.856 alkali metal 1807
21 20 Ca Calcium 40.078(4) 3DFF00 [Ar] 4s2 1 174 100 (+2) 590 -2 2 solid metallic 1115 1757 1.55 alkaline earth metal Ancient
22 21 Sc Scandium 44.955912(6) E6E6E6 [Ar] 3d1 4s2 1.36 144 74.5 (+3) 633 -18 1, 2, 3 solid metallic 1814 3103 2.985 transition metal 1876
23 22 Ti Titanium 47.867(1) BFC2C7 [Ar] 3d2 4s2 1.54 136 86 (+2) 659 -8 -1, 2, 3, 4 solid metallic 1941 3560 4.507 transition metal 1791
24 23 V Vanadium 50.9415(1) A6A6AB [Ar] 3d3 4s2 1.63 125 79 (+2) 651 -51 -1, 2, 3, 4 solid metallic 2183 3680 6.11 transition metal 1803
25 24 Cr Chromium 51.9961(6) 8A99C7 [Ar] 3d5 4s1 1.66 127 80 (+2*) 653 -64 -2, -1, 1, 2, 3, 4, 5, 6 solid metallic 2180 2944 7.14 transition metal Ancient
26 25 Mn Manganese 54.938045(5) 9C7AC7 [Ar] 3d5 4s2 1.55 139 67 (+2) 717 0 -3, -2, -1, 1, 2, 3, 4, 5, 6, 7 solid metallic 1519 2334 7.47 transition metal 1774
27 26 Fe Iron 55.845(2) E06633 [Ar] 3d6 4s2 1.83 125 78 (+2*) 763 -16 -2, -1, 1, 2, 3, 4, 5, 6 solid metallic 1811 3134 7.874 transition metal Ancient
28 27 Co Cobalt 58.933195(5) F090A0 [Ar] 3d7 4s2 1.88 126 74.5 (+2*) 760 -64 -1, 1, 2, 3, 4, 5 solid metallic 1768 3200 8.9 transition metal Ancient
29 28 Ni Nickel 58.6934(4) 50D050 [Ar] 3d8 4s2 1.91 121 69 (+2) 163 737 -112 -1, 1, 2, 3, 4 solid metallic 1728 3186 8.908 transition metal 1751
30 29 Cu Copper 63.546(3) C88033 [Ar] 3d10 4s1 1.9 138 77 (+1) 140 746 -118 1, 2, 3, 4 solid metallic 1358 3200 8.92 transition metal Ancient
31 30 Zn Zinc 65.38(2) 7D80B0 [Ar] 3d10 4s2 1.65 131 74 (+2) 139 906 0 2 solid metallic 693 1180 7.14 transition metal 1746
32 31 Ga Gallium 69.723(1) C28F8F [Ar] 3d10 4s2 4p1 1.81 126 62 (+3) 187 579 -29 1, 2, 3 solid metallic 303 2477 5.904 metal 1875
33 32 Ge Germanium 72.64(1) 668F8F [Ar] 3d10 4s2 4p2 2.01 122 73 (+2) 762 -119 -4, 1, 2, 3, 4 solid metallic 1211 3093 5.323 metalloid 1886
34 33 As Arsenic 74.92160(2) BD80E3 [Ar] 3d10 4s2 4p3 2.18 119 58 (+3) 185 947 -78 -3, 2, 3, 5 solid metallic 1090 887 5.727 metalloid Ancient
35 34 Se Selenium 78.96(3) FFA100 [Ar] 3d10 4s2 4p4 2.55 116 198 (-2) 190 941 -195 -2, 2, 4, 6 solid metallic 494 958 4.819 nonmetal 1817
36 35 Br Bromine 79.904(1) A62929 [Ar] 3d10 4s2 4p5 2.96 114 196 (-1) 185 1140 -325 -1, 1, 3, 4, 5, 7 liquid covalent network 266 332 3.12 halogen 1826
37 36 Kr Krypton 83.798(2) 5CB8D1 [Ar] 3d10 4s2 4p6 110 202 1351 0 2 gas atomic 116 120 0.00375 noble gas 1898
38 37 Rb Rubidium 85.4678(3) 702EB0 [Kr] 5s1 0.82 211 152 (+1) 403 -47 1 solid metallic 312 961 1.532 alkali metal 1861
39 38 Sr Strontium 87.62(1) 00FF00 [Kr] 5s2 0.95 192 118 (+2) 550 -5 2 solid metallic 1050 1655 2.63 alkaline earth metal 1790
40 39 Y Yttrium 88.90585(2) 94FFFF [Kr] 4d1 5s2 1.22 162 90 (+3) 600 -30 1, 2, 3 solid metallic 1799 3618 4.472 transition metal 1794
41 40 Zr Zirconium 91.224(2) 94E0E0 [Kr] 4d2 5s2 1.33 148 72 (+4) 640 -41 1, 2, 3, 4 solid metallic 2128 4682 6.511 transition metal 1789
42 41 Nb Niobium 92.90638(2) 73C2C9 [Kr] 4d4 5s1 1.6 137 72 (+3) 652 -86 -1, 2, 3, 4, 5 solid metallic 2750 5017 8.57 transition metal 1801
43 42 Mo Molybdenum 95.96(2) 54B5B5 [Kr] 4d5 5s1 2.16 145 69 (+3) 684 -72 -2, -1, 1, 2, 3, 4, 5, 6 solid metallic 2896 4912 10.28 transition metal 1778
44 43 Tc Technetium [98] 3B9E9E [Kr] 4d5 5s2 1.9 156 64.5 (+4) 702 -53 -3, -1, 1, 2, 3, 4, 5, 6, 7 solid metallic 2430 4538 11.5 transition metal 1937
45 44 Ru Ruthenium 101.07(2) 248F8F [Kr] 4d7 5s1 2.2 126 68 (+3) 710 -101 -2, 1, 2, 3, 4, 5, 6, 7, 8 solid metallic 2607 4423 12.37 transition metal 1827
46 45 Rh Rhodium 102.90550(2) 0A7D8C [Kr] 4d8 5s1 2.28 135 66.5 (+3) 720 -110 -1, 1, 2, 3, 4, 5, 6 solid metallic 2237 3968 12.45 transition metal 1803
47 46 Pd Palladium 106.42(1) 6985 [Kr] 4d10 2.2 131 59 (+1) 163 804 -54 2, 4 solid metallic 1828 3236 12.023 transition metal 1803
48 47 Ag Silver 107.8682(2) C0C0C0 [Kr] 4d10 5s1 1.93 153 115 (+1) 172 731 -126 1, 2, 3 solid metallic 1235 2435 10.49 transition metal Ancient
49 48 Cd Cadmium 112.411(8) FFD98F [Kr] 4d10 5s2 1.69 148 95 (+2) 158 868 0 2 solid metallic 594 1040 8.65 transition metal 1817
50 49 In Indium 114.818(3) A67573 [Kr] 4d10 5s2 5p1 1.78 144 80 (+3) 193 558 -29 1, 2, 3 solid metallic 430 2345 7.31 metal 1863
51 50 Sn Tin 118.710(7) 668080 [Kr] 4d10 5s2 5p2 1.96 141 112 (+2) 217 709 -107 -4, 2, 4 solid metallic 505 2875 7.31 metal Ancient
52 51 Sb Antimony 121.760(1) 9E63B5 [Kr] 4d10 5s2 5p3 2.05 138 76 (+3) 834 -103 -3, 3, 5 solid metallic 904 1860 6.697 metalloid Ancient
53 52 Te Tellurium 127.60(3) D47A00 [Kr] 4d10 5s2 5p4 2.1 135 221 (-2) 206 869 -190 -2, 2, 4, 5, 6 solid metallic 723 1261 6.24 metalloid 1782
54 53 I Iodine 126.90447(3) 940094 [Kr] 4d10 5s2 5p5 2.66 133 220 (-1) 198 1008 -295 -1, 1, 3, 5, 7 solid covalent network 387 457 4.94 halogen 1811
55 54 Xe Xenon 131.293(6) 429EB0 [Kr] 4d10 5s2 5p6 130 48 (+8) 216 1170 0 2, 4, 6, 8 gas atomic 161 165 0.0059 noble gas 1898
56 55 Cs Cesium 132.9054519(2) 57178F [Xe] 6s1 0.79 225 167 (+1) 376 -46 1 solid metallic 302 944 1.879 alkali metal 1860
57 56 Ba Barium 137.327(7) 00C900 [Xe] 6s2 0.89 198 135 (+2) 503 -14 2 solid metallic 1000 2143 3.51 alkaline earth metal 1808
58 57 La Lanthanum 138.90547(7) 70D4FF [Xe] 5d1 6s2 1.1 169 103.2 (+3) 538 -48 2, 3 solid metallic 1193 3737 6.146 lanthanoid 1839
59 58 Ce Cerium 140.116(1) FFFFC7 [Xe] 4f1 5d1 6s2 1.12 102 (+3) 534 -50 2, 3, 4 solid metallic 1071 3633 6.689 lanthanoid 1803
60 59 Pr Praseodymium 140.90765(2) D9FFC7 [Xe] 4f3 6s2 1.13 99 (+3) 527 -50 2, 3, 4 solid metallic 1204 3563 6.64 lanthanoid 1885
61 60 Nd Neodymium 144.242(3) C7FFC7 [Xe] 4f4 6s2 1.14 129 (+2) 533 -50 2, 3 solid metallic 1294 3373 7.01 lanthanoid 1885
62 61 Pm Promethium [145] A3FFC7 [Xe] 4f5 6s2 1.13 97 (+3) 540 -50 3 solid metallic 1373 3273 7.264 lanthanoid 1947
63 62 Sm Samarium 150.36(2) 8FFFC7 [Xe] 4f6 6s2 1.17 122 (+2) 545 -50 2, 3 solid metallic 1345 2076 7.353 lanthanoid 1853
64 63 Eu Europium 151.964(1) 61FFC7 [Xe] 4f7 6s2 1.2 117 (+2) 547 -50 2, 3 solid metallic 1095 1800 5.244 lanthanoid 1901
65 64 Gd Gadolinium 157.25(3) 45FFC7 [Xe] 4f7 5d1 6s2 1.2 93.8 (+3) 593 -50 1, 2, 3 solid metallic 1586 3523 7.901 lanthanoid 1880
66 65 Tb Terbium 158.92535(2) 30FFC7 [Xe] 4f9 6s2 1.2 92.3 (+3) 566 -50 1, 3, 4 solid metallic 1629 3503 8.219 lanthanoid 1843
67 66 Dy Dysprosium 162.500(1) 1FFFC7 [Xe] 4f10 6s2 1.22 107 (+2) 573 -50 2, 3 solid metallic 1685 2840 8.551 lanthanoid 1886
68 67 Ho Holmium 164.93032(2) 00FF9C [Xe] 4f11 6s2 1.23 90.1 (+3) 581 -50 3 solid metallic 1747 2973 8.795 lanthanoid 1878
69 68 Er Erbium 167.259(3) 0.00E+00 [Xe] 4f12 6s2 1.24 89 (+3) 589 -50 3 solid metallic 1770 3141 9.066 lanthanoid 1842
70 69 Tm Thulium 168.93421(2) 00D452 [Xe] 4f13 6s2 1.25 103 (+2) 597 -50 2, 3 solid metallic 1818 2223 9.321 lanthanoid 1879
71 70 Yb Ytterbium 173.054(5) 00BF38 [Xe] 4f14 6s2 1.1 102 (+2) 603 -50 2, 3 solid metallic 1092 1469 6.57 lanthanoid 1878
72 71 Lu Lutetium 174.9668(1) 00AB24 [Xe] 4f14 5d1 6s2 1.27 160 86.1 (+3) 524 -50 3 solid metallic 1936 3675 9.841 lanthanoid 1907
73 72 Hf Hafnium 178.49(2) 4DC2FF [Xe] 4f14 5d2 6s2 1.3 150 71 (+4) 659 0 2, 3, 4 solid metallic 2506 4876 13.31 transition metal 1923
74 73 Ta Tantalum 180.94788(2) 4DA6FF [Xe] 4f14 5d3 6s2 1.5 138 72 (+3) 761 -31 -1, 2, 3, 4, 5 solid metallic 3290 5731 16.65 transition metal 1802
75 74 W Tungsten 183.84(1) 2194D6 [Xe] 4f14 5d4 6s2 2.36 146 66 (+4) 770 -79 -2, -1, 1, 2, 3, 4, 5, 6 solid metallic 3695 5828 19.25 transition metal 1783
76 75 Re Rhenium 186.207(1) 267DAB [Xe] 4f14 5d5 6s2 1.9 159 63 (+4) 760 -15 -3, -1, 1, 2, 3, 4, 5, 6, 7 solid metallic 3459 5869 21.02 transition metal 1925
77 76 Os Osmium 190.23(3) 266696 [Xe] 4f14 5d6 6s2 2.2 128 63 (+4) 840 -106 -2, -1, 1, 2, 3, 4, 5, 6, 7, 8 solid metallic 3306 5285 22.61 transition metal 1803
78 77 Ir Iridium 192.217(3) 175487 [Xe] 4f14 5d7 6s2 2.2 137 68 (+3) 880 -151 -3, -1, 1, 2, 3, 4, 5, 6 solid metallic 2739 4701 22.65 transition metal 1803
79 78 Pt Platinum 195.084(9) D0D0E0 [Xe] 4f14 5d9 6s1 2.28 128 86 (+2) 175 870 -205 2, 4, 5, 6 solid metallic 2041 4098 21.09 transition metal Ancient
80 79 Au Gold 196.966569(4) FFD123 [Xe] 4f14 5d10 6s1 2.54 144 137 (+1) 166 890 -223 -1, 1, 2, 3, 5 solid metallic 1337 3129 19.3 transition metal Ancient
81 80 Hg Mercury 200.59(2) B8B8D0 [Xe] 4f14 5d10 6s2 2 149 119 (+1) 155 1007 0 1, 2, 4 liquid metallic 234 630 13.534 transition metal Ancient
82 81 Tl Thallium 204.3833(2) A6544D [Xe] 4f14 5d10 6s2 6p1 2.04 148 150 (+1) 196 589 -19 1, 3 solid metallic 577 1746 11.85 metal 1861
83 82 Pb Lead 207.2(1) 575961 [Xe] 4f14 5d10 6s2 6p2 2.33 147 119 (+2) 202 716 -35 -4, 2, 4 solid metallic 601 2022 11.34 metal Ancient
84 83 Bi Bismuth 208.98040(1) 9E4FB5 [Xe] 4f14 5d10 6s2 6p3 2.02 146 103 (+3) 703 -91 -3, 3, 5 solid metallic 544 1837 9.78 metal Ancient
85 84 Po Polonium [209] AB5C00 [Xe] 4f14 5d10 6s2 6p4 2 94 (+4) 812 -183 -2, 2, 4, 6 solid metallic 527 1235 9.196 metalloid 1898
86 85 At Astatine [210] 754F45 [Xe] 4f14 5d10 6s2 6p5 2.2 62 (+7) 920 -270 -1, 1, 3, 5 solid covalent network 575 halogen 1940
87 86 Rn Radon [222] 428296 [Xe] 4f14 5d10 6s2 6p6 145 1037 2 gas atomic 202 211 0.00973 noble gas 1900
88 87 Fr Francium [223] 420066 [Rn] 7s1 0.7 180 (+1) 380 1 solid metallic alkali metal 1939
89 88 Ra Radium [226] 007D00 [Rn] 7s2 0.9 148 (+2) 509 2 solid metallic 973 2010 5 alkaline earth metal 1898
90 89 Ac Actinium [227] 70ABFA [Rn] 6d1 7s2 1.1 112 (+3) 499 3 solid metallic 1323 3473 10.07 actinoid 1899
91 90 Th Thorium 232.03806(2) 00BAFF [Rn] 6d2 7s2 1.3 94 (+4) 587 2, 3, 4 solid metallic 2023 5093 11.724 actinoid 1828
92 91 Pa Protactinium 231.03588(2) 00A1FF [Rn] 5f2 6d1 7s2 1.5 104 (+3) 568 3, 4, 5 solid metallic 1845 4273 15.37 actinoid 1913
93 92 U Uranium 238.02891(3) 008FFF [Rn] 5f3 6d1 7s2 1.38 102.5 (+3) 186 598 3, 4, 5, 6 solid metallic 1408 4200 19.05 actinoid 1789
94 93 Np Neptunium [237] 0080FF [Rn] 5f4 6d1 7s2 1.36 110 (+2) 605 3, 4, 5, 6, 7 solid metallic 917 4273 20.45 actinoid 1940
95 94 Pu Plutonium [244] 006BFF [Rn] 5f6 7s2 1.28 100 (+3) 585 3, 4, 5, 6, 7 solid metallic 913 3503 19.816 actinoid 1940
96 95 Am Americium [243] 545CF2 [Rn] 5f7 7s2 1.3 126 (+2) 578 2, 3, 4, 5, 6 solid metallic 1449 2284 actinoid 1944
97 96 Cm Curium [247] 785CE3 [Rn] 5f7 6d1 7s2 1.3 97 (+3) 581 3, 4 solid metallic 1618 3383 13.51 actinoid 1944
98 97 Bk Berkelium [247] 8A4FE3 [Rn] 5f9 7s2 1.3 96 (+3) 601 3, 4 solid metallic 1323 14.78 actinoid 1949
99 98 Cf Californium [251] A136D4 [Rn] 5f10 7s2 1.3 95 (+3) 608 2, 3, 4 solid metallic 1173 15.1 actinoid 1950
100 99 Es Einsteinium [252] B31FD4 [Rn] 5f11 7s2 1.3 619 2, 3 solid 1133 actinoid 1952
101 100 Fm Fermium [257] B31FBA [Rn] 5f12 7s2 1.3 627 2, 3 1800 actinoid 1952
102 101 Md Mendelevium [258] B30DA6 [Rn] 5f13 7s2 1.3 635 2, 3 1100 actinoid 1955
103 102 No Nobelium [259] BD0D87 [Rn] 5f14 7s2 1.3 642 2, 3 1100 actinoid 1957
104 103 Lr Lawrencium [262] C70066 [Rn] 5f14 7s2 7p1 1.3 3 1900 transition metal 1961
105 104 Rf Rutherfordium [267] CC0059 [Rn] 5f14 6d2 7s2 4 transition metal 1969
106 105 Db Dubnium [268] D1004F [Rn] 5f14 6d3 7s2 transition metal 1967
107 106 Sg Seaborgium [271] D90045 [Rn] 5f14 6d4 7s2 transition metal 1974
108 107 Bh Bohrium [272] E00038 [Rn] 5f14 6d5 7s2 transition metal 1976
109 108 Hs Hassium [270] E6002E [Rn] 5f14 6d6 7s2 transition metal 1984
110 109 Mt Meitnerium [276] EB0026 [Rn] 5f14 6d7 7s2 transition metal 1982
111 110 Ds Darmstadtium [281] [Rn] 5f14 6d9 7s1 transition metal 1994
112 111 Rg Roentgenium [280] [Rn] 5f14 6d10 7s1 transition metal 1994
113 112 Cn Copernicium [285] [Rn] 5f14 6d10 7s2 transition metal 1996
114 113 Nh Nihonium [284] [Rn] 5f14 6d10 7s2 7p1 post-transition metal 2003
115 114 Fl Flerovium [289] [Rn] 5f14 6d10 7s2 7p2 post-transition metal 1998
116 115 Mc Moscovium [288] [Rn] 5f14 6d10 7s2 7p3 post-transition metal 2003
117 116 Lv Livermorium [293] [Rn] 5f14 6d10 7s2 7p4 post-transition metal 2000
118 117 Ts Tennessine [294] [Rn] 5f14 6d10 7s2 7p5 post-transition metal 2010
119 118 Og Oganesson [294] [Rn] 5f14 6d10 7s2 7p6

View File

@ -1,8 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TemplatesService">
<option name="TEMPLATE_FOLDERS">
<list>
<option value="$MODULE_DIR$/chatflow/node_modules/gifwrap/templates" />
</list>
</option>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TemplatesService">
<option name="TEMPLATE_FOLDERS">
<list>
<option value="$MODULE_DIR$/chatflow/node_modules/gifwrap/templates" />
</list>
</option>
</component>
</module>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="enabledOnReformat" value="true" />
<option name="enabledOnSave" value="true" />
<option name="sdkUUID" value="6dbc488c-e03a-4668-96c8-77b5e236011d" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="enabledOnReformat" value="true" />
<option name="enabledOnSave" value="true" />
<option name="sdkUUID" value="6dbc488c-e03a-4668-96c8-77b5e236011d" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
</project>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/WechatBot.iml" filepath="$PROJECT_DIR$/.idea/WechatBot.iml" />
</modules>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/WechatBot.iml" filepath="$PROJECT_DIR$/.idea/WechatBot.iml" />
</modules>
</component>
</project>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="PyDocumentationSettings">
<option name="format" value="PLAIN" />
<option name="myDocStringFormat" value="Plain" />
</component>
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="PyDocumentationSettings">
<option name="format" value="PLAIN" />
<option name="myDocStringFormat" value="Plain" />
</component>
</module>

0
WechatBot/chatflow/auto-windowns.bat Normal file → Executable file
View File

0
WechatBot/chatflow/download-install-and-run.bat Normal file → Executable file
View File

View File

@ -66,6 +66,7 @@
"wechaty-puppet-padlocal": "^1.11.13",
"wechaty-puppet-service": "^1.19.8",
"wechaty-puppet-wechat4u": "^1.13.15",
"wechaty-puppet-xp": "^1.12.7",
"xlsx": "^0.18.5"
},
"devDependencies": {

File diff suppressed because one or more lines are too long

0
WechatBot/chatflow/src/api/config.js Normal file → Executable file
View File

0
WechatBot/chatflow/src/api/contact.js Normal file → Executable file
View File

0
WechatBot/chatflow/src/api/room.js Normal file → Executable file
View File

0
WechatBot/chatflow/src/handlers/on-message.js Normal file → Executable file
View File

0
WechatBot/chatflow/src/handlers/on-scan.js Normal file → Executable file
View File

0
WechatBot/chatflow/src/plugins/excel.js Normal file → Executable file
View File

0
WechatBot/chatflow/src/plugins/index.js Normal file → Executable file
View File

0
WechatBot/chatflow/src/plugins/msg-format.js Normal file → Executable file
View File

0
WechatBot/chatflow/src/plugins/vue-im/.postcssrc.js Normal file → Executable file
View File

0
WechatBot/chatflow/src/plugins/vue-im/build/build.js Normal file → Executable file
View File

View File

0
WechatBot/chatflow/src/plugins/vue-im/build/utils.js Normal file → Executable file
View File

View File

Some files were not shown because too many files have changed in this diff Show More