hbaseuserd項目生成
01fe 車輛登陸
02fe 車輛實時
10fe 車輛版本號
報文:
實現
package hbaseuserd;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
/**
* hbaseuserd項目
* 生成01fe 02fe 10fe 報文
*/
public class testRealtime {
public static final String REDIS_STR = "47.93.89.152:26374,47.93.89.152:26375,47.93.89.152:26376";
public static final String REDIS_MASTER_NAME="mymaster";
public final static String FORMAT_DATE_YMDHMS = "yyyyMMdd";
public static void main(String[] args) {
// String format = "yyyy-MM-dd HH:mm:ss";
// SimpleDateFormat sdf = new SimpleDateFormat(format);
// System.out.println(sdf.format(new Date(Long.valueOf("1572450744000"))));
// int a = 70000/60000;
// System.out.println(a);
// long b = 1572450744000;
ByteBuf outBuf = Unpooled.buffer();
Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("zxtbmcd", (byte)24);
//System.out.println(outBuf.writeByte(Integer.parseInt(dataMap.get("zxtbmcd").toString())));
// System.out.println(outBuf.writeBytes((byte[])dataMap.get("zxtbmcd")));
// Ps: zxtbmcd 這個參數的類型應該是 Byte 不應該是Bytes
// getRealtimeByVin();
// getLoginOut();
getLoginIn();
getVehicleVersion();
getRealtimeByVin();
// System.out.println(getTodayLastTime());
// System.out.println(new Date().getTime());
// System.out.println(getTodayLastTime()-new Date().getTime());
// System.out.println(new Long(getTodayLastTime()-new Date().getTime()).intValue());
// String newPassword = "1qaz!QAZaaa";
// System.out.println(toStringHex1("3839383630324233303731353930323236383536"));
//明文的iccid轉化爲報文格式
System.out.println(vinToHex("898607B4071790280009"));
}
public static String toStringHex1(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(baKeyword, "utf-8");// UTF-16le:Not
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}
public static void test1(){
String b = "d";
String c = "abcd1234";
String a = "abcd1234";
System.out.println(a.substring(0, 3));
System.out.println(a.length()-2);
System.out.println(a.indexOf(b));
}
public static void test (){
// Map map = new HashMap();
// map.put("1", "a");
// map.put("2", "b");
// JSONObject json = new JSONObject(map);
// System.out.println(json.toString());
// System.out.println(json.toJSONString());
System.out.println(DateFormatUtils.format(new Date(), FORMAT_DATE_YMDHMS));
}
public static String getRealtimeByVin(){
String realtimeData = "232302fe4c48474a31313833334b383030303136380102b9140515110d350102030100000000b554008c27105a020f03b60000020101044a4e204e204c00462710050006cf7d6701d3528c060f3a0fb401010fa0182f4202034007000000000002000000000000000000000008180100a0271000040001040fa00fa00fa00fa00200a0271000040005040fa00fa00fa00fa00300a0271000040009040fa00fa00fa00fa00400a027100004000d040fa00fa00fa00fa00500a0271000040011040fa00fa00fa00fa00600a0271000040015040fa00fa00fa00fa00700a0271000040019040fa00fa00fa00fa00800a027100004001d040fa00fa00fa00fa00900a0271000040021040fa00fa00fa00fa00a00a0271000040025040fa00fa00fa00fa00b00a0271000040029040fa00fa00fa00fa00c00a027100004002d040fa00fa00fa00fa00d00a0271000040031040fa00fa00fa00fa00e00a0271000040035040fa00fa00fa00fa00f00a0271000040039040fa00fb40fa00fa01000a027100004003d040fa00fa00fa00fa01100a0271000040041040fa00fa00fa00fa01200a0271000040045040fa00fa00fa00fa01300a0271000040049040fa00fa00fa00fa01400a027100004004d040fa00fa00fa00fa01500a0271000040051040fa00fa00fa00fa01600a0271000040055040fa00fa00fa00fa01700a0271000040059040fa00fa00fa00fa01800a027100004005d040fa00fa00fa00fa009180100024141020002404003000240400400024040050002404006000240400700024040080002404009000240400a000240410b000240400c000240400d000240400e000240400f0002404010000240401100024040120002404013000240401400024040150002404016000240401700024040180002424180003601ffffffffffffffffffffffffffffffffffffff01450000ff02ffffffffff00ffffffffff00ff00ff01ff007eff5a0000630101020181";
String resultData = "";
String head = realtimeData.substring(0,8);
String vin = realtimeData.substring(8,42);
String flag = realtimeData.substring(42,44);
String dateString = getDate16();
// String datasize = realtimeData.substring(44,48);
String others = dateString+realtimeData.substring(60,realtimeData.length()-2);
String newDataSize = Integer.toHexString(others.length()/2);
if(newDataSize.length()<4){
int times = 4-newDataSize.length();
for(int i=0;i<times;i++){
newDataSize = "0"+newDataSize;
}
}
System.out.println("new dataseize = " + newDataSize);
// 輸出結果
resultData += head;
resultData += vinToHex("LHGJ11837K8000139");
resultData += flag;
resultData += newDataSize;
resultData += others;
resultData += "**";
HbaseUsed hbaseUsed = new HbaseUsed();
// checksum 校驗報文整體長度
Byte b = hbaseUsed.checkSum(resultData.substring(0, resultData.length()));
String checksum =Integer.toHexString(byteToInt(b));
// Byte b = hbaseUsed.checkSum(realtimeData.substring(0, realtimeData.length()));
// String checksum = realtimeData.substring(realtimeData.length()-2);
System.out.println(checksum);
resultData = resultData.replace("**", checksum);
System.out.println(resultData);
return resultData;
}
public static String getDate16(){
String newDataSize ="";
// 其日曆字段已由當前日期和時間初始化:
Calendar rightNow = Calendar.getInstance(); // 子類對象
// 獲取年
int year = rightNow.get(Calendar.YEAR) - 2000;
String yearz = String.format("%02x",year);
// 獲取月
int month = rightNow.get(Calendar.MONTH);
String monthz = String.format("%02x",month+1);
// 獲取日
int date = rightNow.get(Calendar.DATE);
String datez = String.format("%02x",date);
//獲取幾點
int hour=rightNow.get(Calendar.HOUR_OF_DAY);
String hourz = String.format("%02x",hour);
//獲取分
int minute=rightNow.get(Calendar.MINUTE);
String minutez = String.format("%02x",minute);
//獲取秒
int second=rightNow.get(Calendar.SECOND);
String secondz = String.format("%02x",second);
newDataSize = yearz + monthz + datez + hourz + minutez + secondz;
System.out.println("newDataSize = " + newDataSize);
return newDataSize;
}
// 車輛登出
public static String getLoginOut(){
String loginOut = "232304fe4c48474a31313833384b3830303031303301000813071d1021220004a6";
String result = "";
String head = loginOut.substring(0,8);
String vin = loginOut.substring(8,42);
String other = loginOut.substring(42,48);
String date = loginOut.substring(48,60);
String logoutNo = loginOut.substring(60,64);
// String checksum = loginOut.substring(64,66);
result += head;
result += vinToHex("TEST5VIN5007G0001");
// result += "4c48474a31313833384b38303030313033";
result += other;
result += getDate16();
result += logoutNo;
result += "**";
HbaseUsed hbaseUsed = new HbaseUsed();
Byte b = hbaseUsed.checkSum(result.substring(0, result.length()));
String checksum =Integer.toHexString(byteToInt(b));
System.out.println(checksum);
result = result.replace("**", checksum);
System.out.println(result);
return result;
}
//車輛登錄
public static String getLoginIn(){
//232301fe4c48474a31313833334b3830303031363801001e140515082a36000538393836303242333037313539303232363839391800d8
String loginIn = "232301fe4c48474a31313833334b3830303031363801001e140515082a36000538393836303242333037313539303232363839391800d8";
// String loginIn = "232301fe3230313430313033303030303030344e4501002b0f0c09003b29003d3839383630313137373530303434353934343536010d32303137303332343132333435f3";
String result = "";
String head = loginIn.substring(0,8);
String vin = loginIn.substring(8,42);
String other = loginIn.substring(42,48);
String date = getDate16();//loginIn.substring(48,60);
String logInNo = loginIn.substring(60,64);
String iccid = loginIn.substring(64,104);
System.out.println("iccid="+iccid);
String zxt1 = loginIn.substring(104,106);
String zxt2 = loginIn.substring(106,108);
// String checksum = loginIn.substring(64,66);
result += head;
result += vinToHex("LHGJ11837K8000139");
// result += "4c48474a31313833394c38303030303934";
result += other;
result += date;
result += logInNo;
// result += iccid;
result += vinToHex("898607B4071790280009");
// System.out.println(vinToHex("898607B4071790280153"));
// result += "010d32303137303332343132333435";
result += zxt1;
result += zxt2;
result += "**";
HbaseUsed hbaseUsed = new HbaseUsed();
Byte b = hbaseUsed.checkSum(result.substring(0, result.length()));
// String checksum =Integer.toHexString(byteToInt(b));
String checksum =String.format("%02x",byteToInt(b));
System.out.println(checksum);
result = result.replace("**", checksum);
System.out.println(result);
return result;
}
//車輛版本號
public static String getVehicleVersion(){
String loginIn = "232310fe4c48474a31313833334b383030303136380100101405150c330c3130303039303330333588";
String result = "";
String head = loginIn.substring(0,8);
String vin = loginIn.substring(8,42);
String other = loginIn.substring(42,48);
String date = getDate16();
String softVersion = loginIn.substring(60, 70);
String hardVersion = loginIn.substring(70, 80);
// String checksum = loginIn.substring(64,66);
result += head;
result += vinToHex("LHGJ11837K8000139");
// result += "4c48474a31313833394c38303030303934";
result += other;
result += date;
result += softVersion;
result += hardVersion;
result += "**";
HbaseUsed hbaseUsed = new HbaseUsed();
Byte b = hbaseUsed.checkSum(result.substring(0, result.length()));
String checksum =Integer.toHexString(byteToInt(b));
System.out.println(checksum);
result = result.replace("**", checksum);
System.out.println(result);
return result;
}
public static String vinToHex(String vin){
String cc ="";
byte[] vinBytes;
try {
vinBytes = vin.getBytes("gbk");
for(int i=0 ;i<vinBytes.length;i++){
// System.out.println(vinBytes[i]+",");
cc =cc+Integer.toHexString(byteToInt(vinBytes[i]));
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// System.out.println("vin = " + cc);
return cc;
}
public static int byteToInt(byte b) {
//Java ���ǰ� byte �����з��?���ǿ���ͨ����� 0xFF ���ж�������õ������ֵ
return b & 0xFF;
}
private static boolean longTime() {
String s = "59DAFF16";
String s1 = Integer.toString(Integer.parseInt(s, 16));
long time = Long.parseLong(s, 16)*1000;// ȡ4λlongֵ����Ǿ�ȷ�������Ҫ����1000��ɺ���
SimpleDateFormat format = new SimpleDateFormat("yyMMddHHmmss");
Date date = new Date(time);
String dateStr = format.format(date);
byte[] sendTime = new byte[6];
for (int i = 0; i < dateStr.length(); i++) {
if (i % 2 == 0) {// ת����170306105011��ʽ
Byte value = Byte.parseByte(dateStr.substring(i, i + 2));//
sendTime[i / 2] = value;// ���뵽sendTime��
}
}
return true;
}
public static String bit2String(String bString){
return String.valueOf(Integer.parseInt(bString,2));
}
public static List<String> sendMesage(String lonLats){
List<String> addrs = new ArrayList<String>();
try {
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair("app_key", "f251e157-14b6-48ae-b82c-4825738def97"));
formparams.add(new BasicNameValuePair("app_secret", "kqHiwV3yljC9aB8KkJBI"));
formparams.add(new BasicNameValuePair("method", "cmcc.sms.coupletSmsSendItf"));
formparams.add(new BasicNameValuePair("v", "1"));
formparams.add(new BasicNameValuePair("scCode", "X93oG3S1b4aUhs7s0E2VZta4C2OYwBuR"));
formparams.add(new BasicNameValuePair("mobiles", "1064835116815"));
formparams.add(new BasicNameValuePair("tempId", "77"));
formparams.add(new BasicNameValuePair("name", "test"));
//String json = HttpClientProxy.post("http://111.26.9.37/ServiceOpenFrame/gate?scCode=X93oG3S1b4aUhs7s0E2VZta4C2OYwBuR&mobiles=1064835116815&tempId=77&name=test", formparams);
String json = HttpClientProxy.post("http://111.26.9.37/ServiceOpenFrame/gate", formparams);
JSONObject data = JSONObject.parseObject(json,JSONObject.class);
System.out.println("address===================="+data.getString("result"));
System.out.println("address===================="+data.getString("resultInfo"));
if(data.getIntValue("status") == 1){
JSONArray arr = data.getJSONArray("regeocodes");
for(Object obj : arr){
System.out.println("address===================="+obj.toString());
JSONObject addr = (JSONObject)obj;
addrs.add(addr.getString("formatted_address"));
}
}
} catch (Exception e) {
e.printStackTrace();
//logger.error("��ַ�����ӿ��쳣"+e.getMessage());
}
return addrs;
}
public static byte[] getUTF8BytesFromGBKString(String str) {
int[] ints = new int[str.length() / 2];
for (int i = 0; i < str.length(); i++) {
if (i % 2 == 0) {
ints[i / 2] = Integer.parseInt(str.substring(i, i + 2), 16);
}
}
byte[] aaa = new byte[ints.length];
for (int i = 0; i < ints.length; i++) {
aaa[i] = (byte) ints[i];
}
return aaa;
}
public static byte[] IntToByteArray(int n) {
byte[] b = new byte[4];
b[0] = (byte) (n & 0xff);
b[1] = (byte) (n >> 8 & 0xff);
b[2] = (byte) (n >> 16 & 0xff);
b[3] = (byte) (n >> 24 & 0xff);
return b;
}
public static String convertHexToString(String hex){
StringBuilder sb = new StringBuilder();
StringBuilder temp = new StringBuilder();
for( int i=0; i<hex.length()-1; i+=2 ){
String output = hex.substring(i, (i + 2));
int decimal = Integer.parseInt(output, 16);
sb.append((char)decimal);
temp.append(decimal);
}
return sb.toString();
}
private static String toBinary(int a){
String sr="";
String sc="";
int count=0; //�����Ƴ���
int b=Math.abs(a);
while(b!=0){
sr=(b%2)+sr;
b=b/2;
count++;
}
if(a==0){
for(int i=0;i<16-count;i++){ //16λ�Ķ�����
sc+="0";
}
return sc;
}
if(a>0){
for(int i=0;i<16-count;i++){ //16λ�Ķ�����
sc+="0";
}
return sc+sr;
}
else{
for(int i=0;i<16-count;i++){ //16λ�Ķ�����
sc+="1";
}
for(int i=0;i<sr.length();i++){ //ȡ��
if(sr.charAt(i)=='1'){
sc+='0';
}
else
sc+='1';
}
//��һ
int m=sc.length(); //��¼ԭSC�ij���
for(int i=sc.length()-1;i>=0;i--){
if(sc.charAt(i)=='1'){
sc=sc.substring(0,i);
for(int j=0;j<m-i;j++)
sc+='0';
}
else{
sc=sc.substring(0,i);
sc+='1';
for(int j=0;j<m-i-1;j++)
sc+='0';
break;
}
}
return sc;
}
}
public static int byteArrayToInt(byte[] b) {
return b[3] & 0xFF |
(b[2] & 0xFF) << 8 |
(b[1] & 0xFF) << 16 |
(b[0] & 0xFF) << 24;
}
public static long getTodayLastTime(){
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.set(Calendar.HOUR_OF_DAY, 24);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
Date start = calendar.getTime();
return start.getTime();
}
}
輸出:
"C:\Program Files (x86)\Java\jdk1.8.0_73\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.3\lib\idea_rt.jar=54354:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.3\bin" -Dfile.encoding=UTF-8 -classpath "D:\ChromeCoreDownloads\hbaseuserd\bin;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\charsets.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\deploy.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\access-bridge-32.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\cldrdata.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\dnsns.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\jaccess.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\jfxrt.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\localedata.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\nashorn.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\sunec.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\sunjce_provider.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\sunmscapi.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\sunpkcs11.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext\zipfs.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\javaws.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\jce.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\jfr.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\jfxswt.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\jsse.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\management-agent.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\plugin.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\resources.jar;C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\rt.jar;F:\maven\localhost\repository5\org\apache\hadoop\hadoop-core\2.6.0-mr1-cdh5.4.1\hadoop-core-2.6.0-mr1-cdh5.4.1.jar;F:\maven\localhost\repository5\org\apache\hadoop\hadoop-common\2.6.0\hadoop-common-2.6.0.jar;F:\maven\localhost\repository5\org\apache\hbase\hbase-hadoop-compat\1.0.0\hbase-hadoop-compat-1.0.0.jar;F:\maven\localhost\repository5\org\apache\hbase\hbase-common\1.1.2\hbase-common-1.1.2.jar;F:\maven\localhost\repository5\org\apache\hbase\hbase-client\1.1.2\hbase-client-1.1.2.jar;F:\maven\localhost\repository5\com\kora\kora-component-dbc\0.0.1-SNAPSHOT\kora-component-dbc-0.0.1-SNAPSHOT.jar;F:\maven\localhost\repository5\io\netty\netty-codec\4.0.30.Final\netty-codec-4.0.30.Final.jar;F:\maven\localhost\repository5\io\netty\netty-transport\4.0.30.Final\netty-transport-4.0.30.Final.jar;F:\maven\localhost\repository5\mysql\mysql-connector-java\5.1.38\mysql-connector-java-5.1.38.jar;F:\maven\localhost\repository5\org\apache\commons\commons-lang3\3.4\commons-lang3-3.4.jar;F:\maven\localhost\repository5\redis\clients\jedis\2.8.0\jedis-2.8.0.jar;D:\ChromeCoreDownloads\hbaseuserd\lib\taobao-sdk-1.0.jar;D:\ChromeCoreDownloads\hbaseuserd\lib\commons-lang3-3.7.jar;F:\maven\localhost\repository5\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;D:\ChromeCoreDownloads\hbaseuserd\lib\ganymed-ssh2-build210.jar;F:\maven\localhost\repository5\com\google\guava\guava\14.0.1\guava-14.0.1.jar;F:\maven\localhost\repository5\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;F:\maven\localhost\repository5\com\google\protobuf\protobuf-java\3.2.0\protobuf-java-3.2.0.jar;F:\maven\localhost\repository5\commons-configuration\commons-configuration\1.6\commons-configuration-1.6.jar;F:\maven\localhost\repository5\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;F:\maven\localhost\repository5\org\apache\hadoop\hadoop-auth\2.6.0\hadoop-auth-2.6.0.jar;F:\maven\localhost\repository5\org\apache\httpcomponents\httpclient\4.5.3\httpclient-4.5.3.jar;F:\maven\localhost\repository5\org\apache\httpcomponents\httpcore\4.4.6\httpcore-4.4.6.jar;F:\maven\localhost\repository5\com\alibaba\fastjson\1.2.11\fastjson-1.2.11.jar;F:\maven\localhost\repository5\com\google\code\gson\gson\2.5\gson-2.5.jar;F:\maven\localhost\repository5\com\fasterxml\jackson\core\jackson-databind\2.8.5\jackson-databind-2.8.5.jar;F:\maven\localhost\repository5\com\fasterxml\jackson\core\jackson-annotations\2.8.0\jackson-annotations-2.8.0.jar;F:\maven\localhost\repository5\com\fasterxml\jackson\core\jackson-core\2.8.5\jackson-core-2.8.5.jar" hbaseuserd.testRealtime
newDataSize = 14051d0d390b
iccid=3839383630324233303731353930323236383939
f6
232301fe4c48474a31313833374b3830303031333901001e14051d0d390b000538393836303742343037313739303238303030391800f6
newDataSize = 14051d0d390b
8c
232310fe4c48474a31313833374b3830303031333901001014051d0d390b313030303930333033358c
newDataSize = 14051d0d390b
new dataseize = 02b9
9f
232302fe4c48474a31313833374b383030303133390102b914051d0d390b0102030100000000b554008c27105a020f03b60000020101044a4e204e204c00462710050006cf7d6701d3528c060f3a0fb401010fa0182f4202034007000000000002000000000000000000000008180100a0271000040001040fa00fa00fa00fa00200a0271000040005040fa00fa00fa00fa00300a0271000040009040fa00fa00fa00fa00400a027100004000d040fa00fa00fa00fa00500a0271000040011040fa00fa00fa00fa00600a0271000040015040fa00fa00fa00fa00700a0271000040019040fa00fa00fa00fa00800a027100004001d040fa00fa00fa00fa00900a0271000040021040fa00fa00fa00fa00a00a0271000040025040fa00fa00fa00fa00b00a0271000040029040fa00fa00fa00fa00c00a027100004002d040fa00fa00fa00fa00d00a0271000040031040fa00fa00fa00fa00e00a0271000040035040fa00fa00fa00fa00f00a0271000040039040fa00fb40fa00fa01000a027100004003d040fa00fa00fa00fa01100a0271000040041040fa00fa00fa00fa01200a0271000040045040fa00fa00fa00fa01300a0271000040049040fa00fa00fa00fa01400a027100004004d040fa00fa00fa00fa01500a0271000040051040fa00fa00fa00fa01600a0271000040055040fa00fa00fa00fa01700a0271000040059040fa00fa00fa00fa01800a027100004005d040fa00fa00fa00fa009180100024141020002404003000240400400024040050002404006000240400700024040080002404009000240400a000240410b000240400c000240400d000240400e000240400f0002404010000240401100024040120002404013000240401400024040150002404016000240401700024040180002424180003601ffffffffffffffffffffffffffffffffffffff01450000ff02ffffffffff00ffffffffff00ff00ff01ff007eff5a000063010102019f
3839383630374234303731373930323830303039
Process finished with exit code 0