{"text_format":"1","workbook":"xlsx","n_sheets":3,"sheets":["MAP","프로토콜","CRC16"],"not_rendered":{"charts":0,"images":1,"macros":1,"external_links":0,"defined_names":0,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"MAP","index":0,"n_rows":10,"n_cols":7,"rows_kept":10,"cut":false,"hidden":false,"merged":[[1,1,1,6],[3,1,3,2],[3,4,4,4],[3,5,4,5],[3,6,4,6]]}
[]
[null,"1. ADDRESS MAP"]
[]
[null,"Address",null,"Data Length","Type","Description","R/W"]
[null,"HEX","DEC","Short"]
[null,{"$f":"\"0x\"&(DEC2HEX(C6,4))","v":"0x0000"},0,1,"unsigned","ID","R/W"]
[null,{"$f":"\"0x\"&(DEC2HEX(C7,4))","v":"0x0001"},1,1,"unsigned","피부 온도 측정 모드(Raw Data)","R"]
[null,{"$f":"\"0x\"&(DEC2HEX(C8,4))","v":"0x0002"},2,1,"unsigned","피부 온도 보상 모드","R"]
[null,"0x0003",3,1,"unsigned","Reserved","R"]
[null,"0x0004",4,1,"unsigned","Sensor 온도","R"]

{"sheet":"프로토콜","index":1,"n_rows":30,"n_cols":17,"rows_kept":30,"cut":false,"hidden":false,"merged":[[15,3,16,3],[11,5,12,5],[13,5,14,5],[9,2,9,3],[10,2,10,3],[11,2,11,3],[12,2,12,3],[13,6,14,6],[6,2,6,5],[10,7,12,10],[8,2,8,3],[13,7,14,10],[13,2,13,3],[14,2,14,3],[19,2,19,5],[21,2,21,3],[22,2,22,3],[23,2,23,3],[24,2,24,3],[24,5,25,5],[25,2,25,3],[26,2,26,3],[26,5,27,5],[27,2,27,3],[28,3,29,3],[26,7,27,10],[26,6,27,6],[0,1,0,6],[6,13,6,16],[8,13,8,14],[9,13,9,14],[10,13,10,14],[15,13,15,14],[16,13,16,14],[17,13,17,14],[19,13,19,16],[11,13,11,14],[12,13,12,14],[13,13,13,14],[14,13,14,14],[21,13,21,14],[22,13,22,14],[23,13,23,14],[24,13,24,14],[24,16,25,16],[25,13,25,14],[22,7,23,10],[26,13,26,14],[26,16,27,16],[27,13,27,14],[28,14,29,14]]}
[null,"※ Sheet(\"MAP\")의 1. ADDRESS MAP과 같이 보시기 바랍니다. "]
[null,"※ 아래 사진과 같은 매크로 관련 보안 메시지가 뜬다면 꼭 허용해 주시기 바랍니다. CRC 연산/ 비트연산 매크로가 사용됐습니다."]
[]
[]
[]
[]
[null,null,"1. Data READ REQUEST(Funtion 03)",null,null,null,null,null,null,null,null,null,null,"1. Data READ RESPONSE"]
[]
[null,null,"Field Name",null,"HEX","DEC",null,null,null,null,null,null,null,"Field Name",null,"HEX","DEC"]
[null,0,"ID",null,{"$f":"IF((F10)<16,\"0\"&DEC2HEX(F10),DEC2HEX(F10))","v":"01"},1,null,null,null,null,null,null,0,"ID",null,{"$f":"IF((Q10)<16,\"0\"&DEC2HEX(Q10),DEC2HEX(Q10))","v":"01"},{"$f":"F10","v":1}]
[null,1,"Function",null,{"$f":"IF((F11)<16,\"0\"&DEC2HEX(F11),DEC2HEX(F11))","v":"03"},3,null,"              내부의 값을 수정하면 \nHEX값이 자동으로 바뀝니다.\n다른 부분은 절대 수정하지 마십시오",null,null,null,null,1,"Function",null,{"$f":"IF((Q11)<16,\"0\"&DEC2HEX(Q11),DEC2HEX(Q11))","v":"03"},{"$f":"F11","v":3}]
[null,2,"Register Address Hi",null,{"$f":"IF(TRUNC(F12/256)<16,\"0\"&DEC2HEX(TRUNC(F12/256)),DEC2HEX(TRUNC(F12/256)))","v":"00"},1,"◀◀◀◀",null,null,null,null,null,2,"Byte Count",null,{"$f":"IF((Q12)<16,\"0\"&DEC2HEX(Q12),DEC2HEX(Q12))","v":"08"},{"$f":"F14*2","v":8}]
[null,3,"Register Address Lo",null,{"$f":"IF(BITMASK(F12)<16,\"0\"&DEC2HEX(BITMASK(F12)),DEC2HEX(BITMASK(F12)))","v":"01"},null,null,null,null,null,null,null,3,"Register Value Hi"]
[null,4,"Register Value Hi",null,"00",4,{"$f":"IF( ((5-F12)>F14-1),IF(F14<>0,\"PASS\",\"ERROR\"),\"ERROR\")","v":"PASS"},"\"PASS\" : 설정값에 문제 없음.\n\"ERROR\" : 설정값에 문제 있음.",null,null,null,null,4,"Register Value Lo"]
[null,5,"Register Value Lo",null,{"$f":"IF((F14)<16,\"0\"&DEC2HEX(F14),DEC2HEX(F14))","v":"04"},null,null,null,null,null,null,null,"〯","〯",null,"〯"]
[null,6,"CRC",{"$f":"CRC(E10&E11&E12&E13&E14&E15)","v":"C915"},{"$f":"MID(D16,3,2)","v":"15"},"",null,null,null,null,null,null,"〯","〯",null,"〯"]
[null,7,"CRC",null,{"$f":"MID(D16,1,2)","v":"C9"},null,null,null,null,null,null,null,{"$f":"3+Q12","v":11},"CRC"]
[null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"4+Q12","v":12},"CRC"]
[]
[null,null,"2. Slave ID 변경 요청",null,null,null,null,null,null,null,null,null,null,"2. Slave ID 변경 응답"]
[]
[null,null,"Field Name",null,"HEX","DEC",null,null,null,null,null,null,null,"Field Name",null,"HEX","DEC"]
[null,0,"ID",null,{"$f":"IF((F23)<16,\"0\"&DEC2HEX(F23),DEC2HEX(F23))","v":"01"},1,"◀◀◀◀","굵은 테두리 안의 값만 수정 가능합니다.\nID는 1~200 까지만 가능합니다",null,null,null,null,0,"ID",null,{"$f":"IF((Q23)<16,\"0\"&DEC2HEX(Q23),DEC2HEX(Q23))","v":"01"},{"$f":"F23","v":1}]
[null,1,"Function",null,{"$f":"IF((F24)<16,\"0\"&DEC2HEX(F24),DEC2HEX(F24))","v":"06"},6,null,null,null,null,null,null,1,"Function",null,{"$f":"IF((Q24)<16,\"0\"&DEC2HEX(Q24),DEC2HEX(Q24))","v":"06"},6]
[null,2,"Register Address Hi",null,{"$f":"IF(TRUNC(F25/256)<16,\"0\"&DEC2HEX(TRUNC(F25/256)),DEC2HEX(TRUNC(F25/256)))","v":"00"},0,null,null,null,null,null,null,2,"Register Address Hi",null,{"$f":"IF(TRUNC(Q25/256)<16,\"0\"&DEC2HEX(TRUNC(Q25/256)),DEC2HEX(TRUNC(Q25/256)))","v":"00"},{"$f":"F25","v":0}]
[null,3,"Register Address Lo",null,{"$f":"IF(BITMASK(F25)<16,\"0\"&DEC2HEX(BITMASK(F25)),DEC2HEX(BITMASK(F25)))","v":"00"},null,null,null,null,null,null,null,3,"Register Address Lo",null,{"$f":"IF(BITMASK(Q25)<16,\"0\"&DEC2HEX(BITMASK(Q25)),DEC2HEX(BITMASK(Q25)))","v":"00"}]
[null,4,"Register Value Hi",null,"00",2,"◀◀◀◀","굵은 테두리 안의 값만 수정 가능합니다.\nID는 1~200 까지만 가능합니다",null,null,null,null,4,"Register Value Hi",null,"00",{"$f":"F27","v":2}]
[null,5,"Register Value Lo",null,{"$f":"IF((F27)<16,\"0\"&DEC2HEX(F27),DEC2HEX(F27))","v":"02"},null,null,null,null,null,null,null,5,"Register Value Lo",null,{"$f":"IF((Q27)<16,\"0\"&DEC2HEX(Q27),DEC2HEX(Q27))","v":"02"}]
[null,6,"CRC",{"$f":"CRC(E23&E24&E25&E26&E27&E28)","v":"0B08"},{"$f":"MID(D29,3,2)","v":"08"},null,null,null,null,null,null,null,6,"CRC",{"$f":"CRC(P23&P24&P25&P26&P27&P28)","v":"0B08"},{"$f":"MID(O29,3,2)","v":"08"}]
[null,7,"CRC",null,{"$f":"MID(D29,1,2)","v":"0B"},null,null,null,null,null,null,null,7,"CRC",null,{"$f":"MID(O29,1,2)","v":"0B"}]

{"sheet":"CRC16","index":2,"n_rows":168,"n_cols":28,"rows_kept":168,"cut":false,"hidden":false,"merged":[[1,2,1,17]]}
[null,null,"input hex string",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"#bytes",null,"crc"]
[null,null,"010300010004",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"LEN(C2)/2","v":6},null,{"$f":"VLOOKUP(U2,T17:W168,4)","v":"15C9"}]
[]
[null,null,null,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
[null,null,"xor constant",1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,null,null,null,"xor with this constant if the shifted bit was 1"]
[]
["byte#","Hex","Start with 16 trues",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
[1,{"$f":"MID(C$2,1,2)","v":"01"},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B8),16)","v":"0000000000000001"},{"$f":"IF(MID($C8,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]
[null,null,"xor the 2 lines above",{"$f":"IF(D7=D8,0,1)","v":1},1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,null,null,null,"xor means \"are they different?\""]
[null,null,"shift xor 1",{"$f":"IF($S9=1,IF(D$5=0,0,1),0)","v":0},{"$f":"IF($S9=1,IF(E$5=D9,0,1),D9)","v":1},1,1,1,1,1,1,1,1,1,1,1,1,1,1,null,null,null,null,"if the two input bits are different the result is 1 (true)."]
[null,null,"shift xor 2",1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,null,null,null,null,"if the two input bits are the same the result is 0 (false)."]
[null,null,"shift xor 3",0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1]
[null,null,"shift xor 4",1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,null,null,null,"shift xor:","shift all bits to the right one space. add a 0 at the far left."]
[null,null,"shift xor 5",0,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,null,null,null,null,"If bit16 was 1, xor the result with the xor constant."]
[null,null,"shift xor 6",1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0]
[null,null,"shift xor 7",0,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,null,null,null,null,null,null,null,{"$f":"IF(B8=\"\",\"\",TEXT(BIN2HEX(L17&M17&N17&O17&P17&Q17&R17&S17),\"00\"))","v":"7E"},{"$f":"IF(B8=\"\",\"\",TEXT(BIN2HEX(D17&E17&F17&G17&H17&I17&J17&K17),\"00\"))","v":"80"}]
[null,null,"shift xor 8",1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,{"$f":"A8","v":1},null,null,{"$f":"IF(B8=\"\",\"\",AA17&AB17)","v":"7E80"},{"$f":"\"crc for a \"&A8&\" byte string\"","v":"crc for a 1 byte string"},null,null,{"$f":"IF(B8=\"\",\"\",IF(AA16=\"A\",\"0A\",IF(AA16=\"B\",\"0B\",IF(AA16=\"C\",\"0C\",IF(AA16=\"D\",\"0D\",IF(AA16=\"E\",\"0E\",IF(AA16=\"F\",\"0F\",AA16)))))))","v":"7E"},{"$f":"IF(B8=\"\",\"\",IF(AB16=\"A\",\"0A\",IF(AB16=\"B\",\"0B\",IF(AB16=\"C\",\"0C\",IF(AB16=\"D\",\"0D\",IF(AB16=\"E\",\"0E\",IF(AB16=\"F\",\"0F\",AB16)))))))","v":"80"}]
[{"$f":"A8+1","v":2},{"$f":"MID(C$2,A18*2-1,2)","v":"03"},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B18),16)","v":"0000000000000011"},{"$f":"IF(MID($C18,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,1,1]
[null,null,"xor the 2 lines above",{"$f":"IF(D17=D18,0,1)","v":1},0,0,0,0,0,0,0,0,1,1,1,1,1,0,1]
[null,null,"shift xor 1",{"$f":"IF($S19=1,IF(D$5=0,0,1),0)","v":1},{"$f":"IF($S19=1,IF(E$5=D19,0,1),D19)","v":1},1,0,0,0,0,0,0,0,1,1,1,1,1,1]
[null,null,"shift xor 2",1,1,0,1,0,0,0,0,0,0,0,1,1,1,1,0]
[null,null,"shift xor 3",0,1,1,0,1,0,0,0,0,0,0,0,1,1,1,1]
[null,null,"shift xor 4",1,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0]
[null,null,"shift xor 5",0,1,0,0,1,0,1,0,0,0,0,0,0,0,1,1]
[null,null,"shift xor 6",1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0]
[null,null,"shift xor 7",0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,null,null,null,null,null,null,null,{"$f":"IF(B18=\"\",\"\",TEXT(BIN2HEX(L27&M27&N27&O27&P27&Q27&R27&S27),\"00\"))","v":"40"},{"$f":"IF(B18=\"\",\"\",TEXT(BIN2HEX(D27&E27&F27&G27&H27&I27&J27&K27),\"00\"))","v":"21"}]
[null,null,"shift xor 8",0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,{"$f":"A18","v":2},null,null,{"$f":"IF(B18=\"\",\"\",AA27&AB27)","v":"4021"},{"$f":"\"crc for a \"&A18&\" byte string\"","v":"crc for a 2 byte string"},null,null,{"$f":"IF(B18=\"\",\"\",IF(AA26=\"A\",\"0A\",IF(AA26=\"B\",\"0B\",IF(AA26=\"C\",\"0C\",IF(AA26=\"D\",\"0D\",IF(AA26=\"E\",\"0E\",IF(AA26=\"F\",\"0F\",AA26)))))))","v":"40"},{"$f":"IF(B18=\"\",\"\",IF(AB26=\"A\",\"0A\",IF(AB26=\"B\",\"0B\",IF(AB26=\"C\",\"0C\",IF(AB26=\"D\",\"0D\",IF(AB26=\"E\",\"0E\",IF(AB26=\"F\",\"0F\",AB26)))))))","v":"21"}]
[{"$f":"A18+1","v":3},{"$f":"MID(C$2,A28*2-1,2)","v":"00"},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B28),16)","v":"0000000000000000"},{"$f":"IF(MID($C28,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D27=D28,0,1)","v":0},0,1,0,0,0,0,1,0,1,0,0,0,0,0,0]
[null,null,"shift xor 1",{"$f":"IF($S29=1,IF(D$5=0,0,1),0)","v":0},{"$f":"IF($S29=1,IF(E$5=D29,0,1),D29)","v":0},0,1,0,0,0,0,1,0,1,0,0,0,0,0]
[null,null,"shift xor 2",0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0]
[null,null,"shift xor 3",0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0]
[null,null,"shift xor 4",0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0]
[null,null,"shift xor 5",0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0]
[null,null,"shift xor 6",0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1]
[null,null,"shift xor 7",1,0,1,0,0,0,0,0,0,1,0,0,0,0,1,1,null,null,null,null,null,null,null,{"$f":"IF(B28=\"\",\"\",TEXT(BIN2HEX(L37&M37&N37&O37&P37&Q37&R37&S37),\"00\"))","v":"20"},{"$f":"IF(B28=\"\",\"\",TEXT(BIN2HEX(D37&E37&F37&G37&H37&I37&J37&K37),\"00\"))","v":"F0"}]
[null,null,"shift xor 8",1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,{"$f":"A28","v":3},null,null,{"$f":"IF(B28=\"\",\"\",AA37&AB37)","v":"20F0"},{"$f":"\"crc for a \"&A28&\" byte string\"","v":"crc for a 3 byte string"},null,null,{"$f":"IF(B28=\"\",\"\",IF(AA36=\"A\",\"0A\",IF(AA36=\"B\",\"0B\",IF(AA36=\"C\",\"0C\",IF(AA36=\"D\",\"0D\",IF(AA36=\"E\",\"0E\",IF(AA36=\"F\",\"0F\",AA36)))))))","v":"20"},{"$f":"IF(B28=\"\",\"\",IF(AB36=\"A\",\"0A\",IF(AB36=\"B\",\"0B\",IF(AB36=\"C\",\"0C\",IF(AB36=\"D\",\"0D\",IF(AB36=\"E\",\"0E\",IF(AB36=\"F\",\"0F\",AB36)))))))","v":"F0"}]
[{"$f":"A28+1","v":4},{"$f":"MID(C$2,A38*2-1,2)","v":"01"},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B38),16)","v":"0000000000000001"},{"$f":"IF(MID($C38,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]
[null,null,"xor the 2 lines above",{"$f":"IF(D37=D38,0,1)","v":1},1,1,1,0,0,0,0,0,0,1,0,0,0,0,1]
[null,null,"shift xor 1",{"$f":"IF($S39=1,IF(D$5=0,0,1),0)","v":1},{"$f":"IF($S39=1,IF(E$5=D39,0,1),D39)","v":1},0,1,1,0,0,0,0,0,0,1,0,0,0,1]
[null,null,"shift xor 2",1,1,0,0,1,1,0,0,0,0,0,0,1,0,0,1]
[null,null,"shift xor 3",1,1,0,0,0,1,1,0,0,0,0,0,0,1,0,1]
[null,null,"shift xor 4",1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1]
[null,null,"shift xor 5",1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0]
[null,null,"shift xor 6",0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0]
[null,null,"shift xor 7",0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,null,null,null,null,null,null,null,{"$f":"IF(B38=\"\",\"\",TEXT(BIN2HEX(L47&M47&N47&O47&P47&Q47&R47&S47),\"00\"))","v":"30"},{"$f":"IF(B38=\"\",\"\",TEXT(BIN2HEX(D47&E47&F47&G47&H47&I47&J47&K47),\"00\"))","v":"18"}]
[null,null,"shift xor 8",0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,{"$f":"A38","v":4},null,null,{"$f":"IF(B38=\"\",\"\",AA47&AB47)","v":"3018"},{"$f":"\"crc for a \"&A38&\" byte string\"","v":"crc for a 4 byte string"},null,null,{"$f":"IF(B38=\"\",\"\",IF(AA46=\"A\",\"0A\",IF(AA46=\"B\",\"0B\",IF(AA46=\"C\",\"0C\",IF(AA46=\"D\",\"0D\",IF(AA46=\"E\",\"0E\",IF(AA46=\"F\",\"0F\",AA46)))))))","v":"30"},{"$f":"IF(B38=\"\",\"\",IF(AB46=\"A\",\"0A\",IF(AB46=\"B\",\"0B\",IF(AB46=\"C\",\"0C\",IF(AB46=\"D\",\"0D\",IF(AB46=\"E\",\"0E\",IF(AB46=\"F\",\"0F\",AB46)))))))","v":"18"}]
[{"$f":"A38+1","v":5},{"$f":"MID(C$2,A48*2-1,2)","v":"00"},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B48),16)","v":"0000000000000000"},{"$f":"IF(MID($C48,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D47=D48,0,1)","v":0},0,0,1,1,0,0,0,0,0,1,1,0,0,0,0]
[null,null,"shift xor 1",{"$f":"IF($S49=1,IF(D$5=0,0,1),0)","v":0},{"$f":"IF($S49=1,IF(E$5=D49,0,1),D49)","v":0},0,0,1,1,0,0,0,0,0,1,1,0,0,0]
[null,null,"shift xor 2",0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0]
[null,null,"shift xor 3",0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0]
[null,null,"shift xor 4",0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1]
[null,null,"shift xor 5",1,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0]
[null,null,"shift xor 6",0,1,0,1,0,0,0,0,0,1,1,0,0,0,0,0]
[null,null,"shift xor 7",0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,0,null,null,null,null,null,null,null,{"$f":"IF(B48=\"\",\"\",TEXT(BIN2HEX(L57&M57&N57&O57&P57&Q57&R57&S57),\"00\"))","v":"18"},{"$f":"IF(B48=\"\",\"\",TEXT(BIN2HEX(D57&E57&F57&G57&H57&I57&J57&K57),\"00\"))","v":"14"}]
[null,null,"shift xor 8",0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,{"$f":"A48","v":5},null,null,{"$f":"IF(B48=\"\",\"\",AA57&AB57)","v":"1814"},{"$f":"\"crc for a \"&A48&\" byte string\"","v":"crc for a 5 byte string"},null,null,{"$f":"IF(B48=\"\",\"\",IF(AA56=\"A\",\"0A\",IF(AA56=\"B\",\"0B\",IF(AA56=\"C\",\"0C\",IF(AA56=\"D\",\"0D\",IF(AA56=\"E\",\"0E\",IF(AA56=\"F\",\"0F\",AA56)))))))","v":"18"},{"$f":"IF(B48=\"\",\"\",IF(AB56=\"A\",\"0A\",IF(AB56=\"B\",\"0B\",IF(AB56=\"C\",\"0C\",IF(AB56=\"D\",\"0D\",IF(AB56=\"E\",\"0E\",IF(AB56=\"F\",\"0F\",AB56)))))))","v":"14"}]
[{"$f":"A48+1","v":6},{"$f":"MID(C$2,A58*2-1,2)","v":"04"},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B58),16)","v":"0000000000000100"},{"$f":"IF(MID($C58,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,1,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D57=D58,0,1)","v":0},0,0,1,0,1,0,0,0,0,0,1,1,1,0,0]
[null,null,"shift xor 1",{"$f":"IF($S59=1,IF(D$5=0,0,1),0)","v":0},{"$f":"IF($S59=1,IF(E$5=D59,0,1),D59)","v":0},0,0,1,0,1,0,0,0,0,0,1,1,1,0]
[null,null,"shift xor 2",0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1]
[null,null,"shift xor 3",1,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0]
[null,null,"shift xor 4",0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,1]
[null,null,"shift xor 5",1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1]
[null,null,"shift xor 6",1,1,1,0,0,1,0,0,0,1,0,1,0,0,0,1]
[null,null,"shift xor 7",1,1,0,1,0,0,1,0,0,0,1,0,1,0,0,1,null,null,null,null,null,null,null,{"$f":"IF(B58=\"\",\"\",TEXT(BIN2HEX(L67&M67&N67&O67&P67&Q67&R67&S67),\"00\"))","v":"15"},{"$f":"IF(B58=\"\",\"\",TEXT(BIN2HEX(D67&E67&F67&G67&H67&I67&J67&K67),\"00\"))","v":"C9"}]
[null,null,"shift xor 8",1,1,0,0,1,0,0,1,0,0,0,1,0,1,0,1,{"$f":"A58","v":6},null,null,{"$f":"IF(B58=\"\",\"\",AA67&AB67)","v":"15C9"},{"$f":"\"crc for a \"&A58&\" byte string\"","v":"crc for a 6 byte string"},null,null,{"$f":"IF(B58=\"\",\"\",IF(AA66=\"A\",\"0A\",IF(AA66=\"B\",\"0B\",IF(AA66=\"C\",\"0C\",IF(AA66=\"D\",\"0D\",IF(AA66=\"E\",\"0E\",IF(AA66=\"F\",\"0F\",AA66)))))))","v":"15"},{"$f":"IF(B58=\"\",\"\",IF(AB66=\"A\",\"0A\",IF(AB66=\"B\",\"0B\",IF(AB66=\"C\",\"0C\",IF(AB66=\"D\",\"0D\",IF(AB66=\"E\",\"0E\",IF(AB66=\"F\",\"0F\",AB66)))))))","v":"C9"}]
[{"$f":"A58+1","v":7},{"$f":"MID(C$2,A68*2-1,2)","v":""},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B68),16)","v":"0000000000000000"},{"$f":"IF(MID($C68,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D67=D68,0,1)","v":1},1,0,0,1,0,0,1,0,0,0,1,0,1,0,1]
[null,null,"shift xor 1",{"$f":"IF($S69=1,IF(D$5=0,0,1),0)","v":1},{"$f":"IF($S69=1,IF(E$5=D69,0,1),D69)","v":1},0,0,0,1,0,0,1,0,0,0,1,0,1,1]
[null,null,"shift xor 2",1,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0]
[null,null,"shift xor 3",0,1,1,0,0,0,0,1,0,0,1,0,0,0,1,0]
[null,null,"shift xor 4",0,0,1,1,0,0,0,0,1,0,0,1,0,0,0,1]
[null,null,"shift xor 5",1,0,1,1,1,0,0,0,0,1,0,0,1,0,0,1]
[null,null,"shift xor 6",1,1,1,1,1,1,0,0,0,0,1,0,0,1,0,1]
[null,null,"shift xor 7",1,1,0,1,1,1,1,0,0,0,0,1,0,0,1,1,null,null,null,null,null,null,null,{"$f":"IF(B68=\"\",\"\",TEXT(BIN2HEX(L77&M77&N77&O77&P77&Q77&R77&S77),\"00\"))","v":""},{"$f":"IF(B68=\"\",\"\",TEXT(BIN2HEX(D77&E77&F77&G77&H77&I77&J77&K77),\"00\"))","v":""}]
[null,null,"shift xor 8",1,1,0,0,1,1,1,1,0,0,0,0,1,0,0,0,{"$f":"A68","v":7},null,null,{"$f":"IF(B68=\"\",\"\",AA77&AB77)","v":""},{"$f":"\"crc for a \"&A68&\" byte string\"","v":"crc for a 7 byte string"},null,null,{"$f":"IF(B68=\"\",\"\",IF(AA76=\"A\",\"0A\",IF(AA76=\"B\",\"0B\",IF(AA76=\"C\",\"0C\",IF(AA76=\"D\",\"0D\",IF(AA76=\"E\",\"0E\",IF(AA76=\"F\",\"0F\",AA76)))))))","v":""},{"$f":"IF(B68=\"\",\"\",IF(AB76=\"A\",\"0A\",IF(AB76=\"B\",\"0B\",IF(AB76=\"C\",\"0C\",IF(AB76=\"D\",\"0D\",IF(AB76=\"E\",\"0E\",IF(AB76=\"F\",\"0F\",AB76)))))))","v":""}]
[{"$f":"A68+1","v":8},{"$f":"MID(C$2,A78*2-1,2)","v":""},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B78),16)","v":"0000000000000000"},{"$f":"IF(MID($C78,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D77=D78,0,1)","v":1},1,0,0,1,1,1,1,0,0,0,0,1,0,0,0]
[null,null,"shift xor 1",{"$f":"IF($S79=1,IF(D$5=0,0,1),0)","v":0},{"$f":"IF($S79=1,IF(E$5=D79,0,1),D79)","v":1},1,0,0,1,1,1,1,0,0,0,0,1,0,0]
[null,null,"shift xor 2",0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,0]
[null,null,"shift xor 3",0,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1]
[null,null,"shift xor 4",1,0,1,0,1,1,0,0,1,1,1,1,0,0,0,1]
[null,null,"shift xor 5",1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1]
[null,null,"shift xor 6",1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,1]
[null,null,"shift xor 7",1,1,0,0,1,1,0,1,1,0,0,1,1,1,1,1,null,null,null,null,null,null,null,{"$f":"IF(B78=\"\",\"\",TEXT(BIN2HEX(L87&M87&N87&O87&P87&Q87&R87&S87),\"00\"))","v":""},{"$f":"IF(B78=\"\",\"\",TEXT(BIN2HEX(D87&E87&F87&G87&H87&I87&J87&K87),\"00\"))","v":""}]
[null,null,"shift xor 8",1,1,0,0,0,1,1,0,1,1,0,0,1,1,1,0,{"$f":"A78","v":8},null,null,{"$f":"IF(B78=\"\",\"\",AA87&AB87)","v":""},{"$f":"\"crc for a \"&A78&\" byte string\"","v":"crc for a 8 byte string"},null,null,{"$f":"IF(B78=\"\",\"\",IF(AA86=\"A\",\"0A\",IF(AA86=\"B\",\"0B\",IF(AA86=\"C\",\"0C\",IF(AA86=\"D\",\"0D\",IF(AA86=\"E\",\"0E\",IF(AA86=\"F\",\"0F\",AA86)))))))","v":""},{"$f":"IF(B78=\"\",\"\",IF(AB86=\"A\",\"0A\",IF(AB86=\"B\",\"0B\",IF(AB86=\"C\",\"0C\",IF(AB86=\"D\",\"0D\",IF(AB86=\"E\",\"0E\",IF(AB86=\"F\",\"0F\",AB86)))))))","v":""}]
[{"$f":"A78+1","v":9},{"$f":"MID(C$2,A88*2-1,2)","v":""},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B88),16)","v":"0000000000000000"},{"$f":"IF(MID($C88,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D87=D88,0,1)","v":1},1,0,0,0,1,1,0,1,1,0,0,1,1,1,0]
[null,null,"shift xor 1",{"$f":"IF($S89=1,IF(D$5=0,0,1),0)","v":0},{"$f":"IF($S89=1,IF(E$5=D89,0,1),D89)","v":1},1,0,0,0,1,1,0,1,1,0,0,1,1,1]
[null,null,"shift xor 2",1,0,0,1,0,0,0,1,1,0,1,1,0,0,1,0]
[null,null,"shift xor 3",0,1,0,0,1,0,0,0,1,1,0,1,1,0,0,1]
[null,null,"shift xor 4",1,0,0,0,0,1,0,0,0,1,1,0,1,1,0,1]
[null,null,"shift xor 5",1,1,1,0,0,0,1,0,0,0,1,1,0,1,1,1]
[null,null,"shift xor 6",1,1,0,1,0,0,0,1,0,0,0,1,1,0,1,0]
[null,null,"shift xor 7",0,1,1,0,1,0,0,0,1,0,0,0,1,1,0,1,null,null,null,null,null,null,null,{"$f":"IF(B88=\"\",\"\",TEXT(BIN2HEX(L97&M97&N97&O97&P97&Q97&R97&S97),\"00\"))","v":""},{"$f":"IF(B88=\"\",\"\",TEXT(BIN2HEX(D97&E97&F97&G97&H97&I97&J97&K97),\"00\"))","v":""}]
[null,null,"shift xor 8",1,0,0,1,0,1,0,0,0,1,0,0,0,1,1,1,{"$f":"A88","v":9},null,null,{"$f":"IF(B88=\"\",\"\",AA97&AB97)","v":""},{"$f":"\"crc for a \"&A88&\" byte string\"","v":"crc for a 9 byte string"},null,null,{"$f":"IF(B88=\"\",\"\",IF(AA96=\"A\",\"0A\",IF(AA96=\"B\",\"0B\",IF(AA96=\"C\",\"0C\",IF(AA96=\"D\",\"0D\",IF(AA96=\"E\",\"0E\",IF(AA96=\"F\",\"0F\",AA96)))))))","v":""},{"$f":"IF(B88=\"\",\"\",IF(AB96=\"A\",\"0A\",IF(AB96=\"B\",\"0B\",IF(AB96=\"C\",\"0C\",IF(AB96=\"D\",\"0D\",IF(AB96=\"E\",\"0E\",IF(AB96=\"F\",\"0F\",AB96)))))))","v":""}]
[{"$f":"A88+1","v":10},{"$f":"MID(C$2,A98*2-1,2)","v":""},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B98),16)","v":"0000000000000000"},{"$f":"IF(MID($C98,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D97=D98,0,1)","v":1},0,0,1,0,1,0,0,0,1,0,0,0,1,1,1]
[null,null,"shift xor 1",{"$f":"IF($S99=1,IF(D$5=0,0,1),0)","v":1},{"$f":"IF($S99=1,IF(E$5=D99,0,1),D99)","v":1},1,0,1,0,1,0,0,0,1,0,0,0,1,0]
[null,null,"shift xor 2",0,1,1,1,0,1,0,1,0,0,0,1,0,0,0,1]
[null,null,"shift xor 3",1,0,0,1,1,0,1,0,1,0,0,0,1,0,0,1]
[null,null,"shift xor 4",1,1,1,0,1,1,0,1,0,1,0,0,0,1,0,1]
[null,null,"shift xor 5",1,1,0,1,0,1,1,0,1,0,1,0,0,0,1,1]
[null,null,"shift xor 6",1,1,0,0,1,0,1,1,0,1,0,1,0,0,0,0]
[null,null,"shift xor 7",0,1,1,0,0,1,0,1,1,0,1,0,1,0,0,0,null,null,null,null,null,null,null,{"$f":"IF(B98=\"\",\"\",TEXT(BIN2HEX(L107&M107&N107&O107&P107&Q107&R107&S107),\"00\"))","v":""},{"$f":"IF(B98=\"\",\"\",TEXT(BIN2HEX(D107&E107&F107&G107&H107&I107&J107&K107),\"00\"))","v":""}]
[null,null,"shift xor 8",0,0,1,1,0,0,1,0,1,1,0,1,0,1,0,0,{"$f":"A98","v":10},null,null,{"$f":"IF(B98=\"\",\"\",AA107&AB107)","v":""},{"$f":"\"crc for a \"&A98&\" byte string\"","v":"crc for a 10 byte string"},null,null,{"$f":"IF(B98=\"\",\"\",IF(AA106=\"A\",\"0A\",IF(AA106=\"B\",\"0B\",IF(AA106=\"C\",\"0C\",IF(AA106=\"D\",\"0D\",IF(AA106=\"E\",\"0E\",IF(AA106=\"F\",\"0F\",AA106)))))))","v":""},{"$f":"IF(B98=\"\",\"\",IF(AB106=\"A\",\"0A\",IF(AB106=\"B\",\"0B\",IF(AB106=\"C\",\"0C\",IF(AB106=\"D\",\"0D\",IF(AB106=\"E\",\"0E\",IF(AB106=\"F\",\"0F\",AB106)))))))","v":""}]
[{"$f":"A98+1","v":11},{"$f":"MID(C$2,A108*2-1,2)","v":""},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B108),16)","v":"0000000000000000"},{"$f":"IF(MID($C108,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D107=D108,0,1)","v":0},0,1,1,0,0,1,0,1,1,0,1,0,1,0,0]
[null,null,"shift xor 1",{"$f":"IF($S109=1,IF(D$5=0,0,1),0)","v":0},{"$f":"IF($S109=1,IF(E$5=D109,0,1),D109)","v":0},0,1,1,0,0,1,0,1,1,0,1,0,1,0]
[null,null,"shift xor 2",0,0,0,0,1,1,0,0,1,0,1,1,0,1,0,1]
[null,null,"shift xor 3",1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,1]
[null,null,"shift xor 4",1,1,1,1,0,0,1,1,0,0,1,0,1,1,0,0]
[null,null,"shift xor 5",0,1,1,1,1,0,0,1,1,0,0,1,0,1,1,0]
[null,null,"shift xor 6",0,0,1,1,1,1,0,0,1,1,0,0,1,0,1,1]
[null,null,"shift xor 7",1,0,1,1,1,1,1,0,0,1,1,0,0,1,0,0,null,null,null,null,null,null,null,{"$f":"IF(B108=\"\",\"\",TEXT(BIN2HEX(L117&M117&N117&O117&P117&Q117&R117&S117),\"00\"))","v":""},{"$f":"IF(B108=\"\",\"\",TEXT(BIN2HEX(D117&E117&F117&G117&H117&I117&J117&K117),\"00\"))","v":""}]
[null,null,"shift xor 8",0,1,0,1,1,1,1,1,0,0,1,1,0,0,1,0,{"$f":"A108","v":11},null,null,{"$f":"IF(B108=\"\",\"\",AA117&AB117)","v":""},{"$f":"\"crc for a \"&A108&\" byte string\"","v":"crc for a 11 byte string"},null,null,{"$f":"IF(B108=\"\",\"\",IF(AA116=\"A\",\"0A\",IF(AA116=\"B\",\"0B\",IF(AA116=\"C\",\"0C\",IF(AA116=\"D\",\"0D\",IF(AA116=\"E\",\"0E\",IF(AA116=\"F\",\"0F\",AA116)))))))","v":""},{"$f":"IF(B108=\"\",\"\",IF(AB116=\"A\",\"0A\",IF(AB116=\"B\",\"0B\",IF(AB116=\"C\",\"0C\",IF(AB116=\"D\",\"0D\",IF(AB116=\"E\",\"0E\",IF(AB116=\"F\",\"0F\",AB116)))))))","v":""}]
[{"$f":"A108+1","v":12},{"$f":"MID(C$2,A118*2-1,2)","v":""},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B118),16)","v":"0000000000000000"},{"$f":"IF(MID($C118,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D117=D118,0,1)","v":0},1,0,1,1,1,1,1,0,0,1,1,0,0,1,0]
[null,null,"shift xor 1",{"$f":"IF($S119=1,IF(D$5=0,0,1),0)","v":0},{"$f":"IF($S119=1,IF(E$5=D119,0,1),D119)","v":0},1,0,1,1,1,1,1,0,0,1,1,0,0,1]
[null,null,"shift xor 2",1,0,1,1,0,1,1,1,1,1,0,0,1,1,0,1]
[null,null,"shift xor 3",1,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1]
[null,null,"shift xor 4",1,1,0,1,1,1,0,1,1,1,1,1,0,0,1,0]
[null,null,"shift xor 5",0,1,1,0,1,1,1,0,1,1,1,1,1,0,0,1]
[null,null,"shift xor 6",1,0,0,1,0,1,1,1,0,1,1,1,1,1,0,1]
[null,null,"shift xor 7",1,1,1,0,1,0,1,1,1,0,1,1,1,1,1,1,null,null,null,null,null,null,null,{"$f":"IF(B118=\"\",\"\",TEXT(BIN2HEX(L127&M127&N127&O127&P127&Q127&R127&S127),\"00\"))","v":""},{"$f":"IF(B118=\"\",\"\",TEXT(BIN2HEX(D127&E127&F127&G127&H127&I127&J127&K127),\"00\"))","v":""}]
[null,null,"shift xor 8",1,1,0,1,0,1,0,1,1,1,0,1,1,1,1,0,{"$f":"A118","v":12},null,null,{"$f":"IF(B118=\"\",\"\",AA127&AB127)","v":""},{"$f":"\"crc for a \"&A118&\" byte string\"","v":"crc for a 12 byte string"},null,null,{"$f":"IF(B118=\"\",\"\",IF(AA126=\"A\",\"0A\",IF(AA126=\"B\",\"0B\",IF(AA126=\"C\",\"0C\",IF(AA126=\"D\",\"0D\",IF(AA126=\"E\",\"0E\",IF(AA126=\"F\",\"0F\",AA126)))))))","v":""},{"$f":"IF(B118=\"\",\"\",IF(AB126=\"A\",\"0A\",IF(AB126=\"B\",\"0B\",IF(AB126=\"C\",\"0C\",IF(AB126=\"D\",\"0D\",IF(AB126=\"E\",\"0E\",IF(AB126=\"F\",\"0F\",AB126)))))))","v":""}]
[{"$f":"A118+1","v":13},{"$f":"MID(C$2,A128*2-1,2)","v":""},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B128),16)","v":"0000000000000000"},{"$f":"IF(MID($C128,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D127=D128,0,1)","v":1},1,0,1,0,1,0,1,1,1,0,1,1,1,1,0]
[null,null,"shift xor 1",{"$f":"IF($S129=1,IF(D$5=0,0,1),0)","v":0},{"$f":"IF($S129=1,IF(E$5=D129,0,1),D129)","v":1},1,0,1,0,1,0,1,1,1,0,1,1,1,1]
[null,null,"shift xor 2",1,0,0,1,0,1,0,1,0,1,1,1,0,1,1,0]
[null,null,"shift xor 3",0,1,0,0,1,0,1,0,1,0,1,1,1,0,1,1]
[null,null,"shift xor 4",1,0,0,0,0,1,0,1,0,1,0,1,1,1,0,0]
[null,null,"shift xor 5",0,1,0,0,0,0,1,0,1,0,1,0,1,1,1,0]
[null,null,"shift xor 6",0,0,1,0,0,0,0,1,0,1,0,1,0,1,1,1]
[null,null,"shift xor 7",1,0,1,1,0,0,0,0,1,0,1,0,1,0,1,0,null,null,null,null,null,null,null,{"$f":"IF(B128=\"\",\"\",TEXT(BIN2HEX(L137&M137&N137&O137&P137&Q137&R137&S137),\"00\"))","v":""},{"$f":"IF(B128=\"\",\"\",TEXT(BIN2HEX(D137&E137&F137&G137&H137&I137&J137&K137),\"00\"))","v":""}]
[null,null,"shift xor 8",0,1,0,1,1,0,0,0,0,1,0,1,0,1,0,1,{"$f":"A128","v":13},null,null,{"$f":"IF(B128=\"\",\"\",AA137&AB137)","v":""},{"$f":"\"crc for a \"&A128&\" byte string\"","v":"crc for a 13 byte string"},null,null,{"$f":"IF(B128=\"\",\"\",IF(AA136=\"A\",\"0A\",IF(AA136=\"B\",\"0B\",IF(AA136=\"C\",\"0C\",IF(AA136=\"D\",\"0D\",IF(AA136=\"E\",\"0E\",IF(AA136=\"F\",\"0F\",AA136)))))))","v":""},{"$f":"IF(B128=\"\",\"\",IF(AB136=\"A\",\"0A\",IF(AB136=\"B\",\"0B\",IF(AB136=\"C\",\"0C\",IF(AB136=\"D\",\"0D\",IF(AB136=\"E\",\"0E\",IF(AB136=\"F\",\"0F\",AB136)))))))","v":""}]
[{"$f":"A128+1","v":14},{"$f":"MID(C$2,A138*2-1,2)","v":""},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B138),16)","v":"0000000000000000"},{"$f":"IF(MID($C138,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D137=D138,0,1)","v":0},1,0,1,1,0,0,0,0,1,0,1,0,1,0,1]
[null,null,"shift xor 1",{"$f":"IF($S139=1,IF(D$5=0,0,1),0)","v":1},{"$f":"IF($S139=1,IF(E$5=D139,0,1),D139)","v":0},0,0,1,1,0,0,0,0,1,0,1,0,1,1]
[null,null,"shift xor 2",1,1,1,0,0,1,1,0,0,0,0,1,0,1,0,0]
[null,null,"shift xor 3",0,1,1,1,0,0,1,1,0,0,0,0,1,0,1,0]
[null,null,"shift xor 4",0,0,1,1,1,0,0,1,1,0,0,0,0,1,0,1]
[null,null,"shift xor 5",1,0,1,1,1,1,0,0,1,1,0,0,0,0,1,1]
[null,null,"shift xor 6",1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0]
[null,null,"shift xor 7",0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,null,null,null,null,null,null,null,{"$f":"IF(B138=\"\",\"\",TEXT(BIN2HEX(L147&M147&N147&O147&P147&Q147&R147&S147),\"00\"))","v":""},{"$f":"IF(B138=\"\",\"\",TEXT(BIN2HEX(D147&E147&F147&G147&H147&I147&J147&K147),\"00\"))","v":""}]
[null,null,"shift xor 8",0,0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,{"$f":"A138","v":14},null,null,{"$f":"IF(B138=\"\",\"\",AA147&AB147)","v":""},{"$f":"\"crc for a \"&A138&\" byte string\"","v":"crc for a 14 byte string"},null,null,{"$f":"IF(B138=\"\",\"\",IF(AA146=\"A\",\"0A\",IF(AA146=\"B\",\"0B\",IF(AA146=\"C\",\"0C\",IF(AA146=\"D\",\"0D\",IF(AA146=\"E\",\"0E\",IF(AA146=\"F\",\"0F\",AA146)))))))","v":""},{"$f":"IF(B138=\"\",\"\",IF(AB146=\"A\",\"0A\",IF(AB146=\"B\",\"0B\",IF(AB146=\"C\",\"0C\",IF(AB146=\"D\",\"0D\",IF(AB146=\"E\",\"0E\",IF(AB146=\"F\",\"0F\",AB146)))))))","v":""}]
[{"$f":"A138+1","v":15},{"$f":"MID(C$2,A148*2-1,2)","v":""},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B148),16)","v":"0000000000000000"},{"$f":"IF(MID($C148,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D147=D148,0,1)","v":0},0,1,1,1,1,1,1,1,0,0,1,1,0,0,0]
[null,null,"shift xor 1",{"$f":"IF($S149=1,IF(D$5=0,0,1),0)","v":0},{"$f":"IF($S149=1,IF(E$5=D149,0,1),D149)","v":0},0,1,1,1,1,1,1,1,0,0,1,1,0,0]
[null,null,"shift xor 2",0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,0]
[null,null,"shift xor 3",0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1]
[null,null,"shift xor 4",1,0,1,0,0,0,1,1,1,1,1,1,1,0,0,0]
[null,null,"shift xor 5",0,1,0,1,0,0,0,1,1,1,1,1,1,1,0,0]
[null,null,"shift xor 6",0,0,1,0,1,0,0,0,1,1,1,1,1,1,1,0]
[null,null,"shift xor 7",0,0,0,1,0,1,0,0,0,1,1,1,1,1,1,1,null,null,null,null,null,null,null,{"$f":"IF(B148=\"\",\"\",TEXT(BIN2HEX(L157&M157&N157&O157&P157&Q157&R157&S157),\"00\"))","v":""},{"$f":"IF(B148=\"\",\"\",TEXT(BIN2HEX(D157&E157&F157&G157&H157&I157&J157&K157),\"00\"))","v":""}]
[null,null,"shift xor 8",1,0,1,0,1,0,1,0,0,0,1,1,1,1,1,0,{"$f":"A148","v":15},null,null,{"$f":"IF(B148=\"\",\"\",AA157&AB157)","v":""},{"$f":"\"crc for a \"&A148&\" byte string\"","v":"crc for a 15 byte string"},null,null,{"$f":"IF(B148=\"\",\"\",IF(AA156=\"A\",\"0A\",IF(AA156=\"B\",\"0B\",IF(AA156=\"C\",\"0C\",IF(AA156=\"D\",\"0D\",IF(AA156=\"E\",\"0E\",IF(AA156=\"F\",\"0F\",AA156)))))))","v":""},{"$f":"IF(B148=\"\",\"\",IF(AB156=\"A\",\"0A\",IF(AB156=\"B\",\"0B\",IF(AB156=\"C\",\"0C\",IF(AB156=\"D\",\"0D\",IF(AB156=\"E\",\"0E\",IF(AB156=\"F\",\"0F\",AB156)))))))","v":""}]
[{"$f":"A148+1","v":16},{"$f":"MID(C$2,A158*2-1,2)","v":""},{"$f":"RIGHT(\"0000000000000000\"&HEX2BIN(B158),16)","v":"0000000000000000"},{"$f":"IF(MID($C158,D$4,1)=\"1\",1,0)","v":0},0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[null,null,"xor the 2 lines above",{"$f":"IF(D157=D158,0,1)","v":1},0,1,0,1,0,1,0,0,0,1,1,1,1,1,0]
[null,null,"shift xor 1",{"$f":"IF($S159=1,IF(D$5=0,0,1),0)","v":0},{"$f":"IF($S159=1,IF(E$5=D159,0,1),D159)","v":1},0,1,0,1,0,1,0,0,0,1,1,1,1,1]
[null,null,"shift xor 2",1,0,0,0,1,0,1,0,1,0,0,0,1,1,1,0]
[null,null,"shift xor 3",0,1,0,0,0,1,0,1,0,1,0,0,0,1,1,1]
[null,null,"shift xor 4",1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0]
[null,null,"shift xor 5",0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1]
[null,null,"shift xor 6",1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,1]
[null,null,"shift xor 7",1,1,1,0,0,0,0,0,0,1,0,1,0,1,0,1,null,null,null,null,null,null,null,{"$f":"IF(B158=\"\",\"\",TEXT(BIN2HEX(L167&M167&N167&O167&P167&Q167&R167&S167),\"00\"))","v":""},{"$f":"IF(B158=\"\",\"\",TEXT(BIN2HEX(D167&E167&F167&G167&H167&I167&J167&K167),\"00\"))","v":""}]
[null,null,"shift xor 8",1,1,0,1,0,0,0,0,0,0,1,0,1,0,1,1,{"$f":"A158","v":16},null,null,{"$f":"IF(B158=\"\",\"\",AA167&AB167)","v":""},{"$f":"\"crc for a \"&A158&\" byte string\"","v":"crc for a 16 byte string"},null,null,{"$f":"IF(B158=\"\",\"\",IF(AA166=\"A\",\"0A\",IF(AA166=\"B\",\"0B\",IF(AA166=\"C\",\"0C\",IF(AA166=\"D\",\"0D\",IF(AA166=\"E\",\"0E\",IF(AA166=\"F\",\"0F\",AA166)))))))","v":""},{"$f":"IF(B158=\"\",\"\",IF(AB166=\"A\",\"0A\",IF(AB166=\"B\",\"0B\",IF(AB166=\"C\",\"0C\",IF(AB166=\"D\",\"0D\",IF(AB166=\"E\",\"0E\",IF(AB166=\"F\",\"0F\",AB166)))))))","v":""}]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17,null,null,"16 bytes max"]