a/project/sparkplug™_mqtt_edge_and_host-stack_b9741afd/function_blocks_8ad6e219/fb_payload_ad205903/fb_payloadtemplate_4bde8df5/4bde8df5707a4d48b450e85e4d74efb1.object b/project/sparkplug™_mqtt_edge_and_host-stack_b9741afd/function_blocks_8ad6e219/fb_payload_ad205903/fb_payloadtemplate_4bde8df5/4bde8df5707a4d48b450e85e4d74efb1.object
1
{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)4bde8df5-707a-4d48-b450-e85e4d74efb1","ParentGuid":"(Guid)00000000-0000-0000-0000-000000000000","Name":"(string)FB_PayloadTemplate","Properties":{"@Type":"2c41fa04:IDictionary","@Value":[{"@Key":"(Guid)829a18f2-c514-4f6e-9634-1df173429203","@Value":{"@Type":"829a18f2","@Value":{"ParentObjects":{"@Type":"fa2ee218:IDictionary","@Value":[{"@Key":"(Guid)21af5390-2942-461a-bf89-951aaf6999f1","@Value":"(Guid)ad205903-8508-4926-9d55-99ed8855a066"}]}}}}]},"TypeGuid":"(Guid)6f9dac99-8de1-4efc-8465-68ac443b7d08","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"6f9dac99","@Value":{"SpecialFunc":{"@Type":"0db3d7bb:Enum","@Value":"None"},"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2876","Tag":null,"Text":"(string)//This IF statement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2877","Tag":null,"Text":"(string)IF xDecode AND xEncode THEN //ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2878","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2879","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2880","Tag":null,"Text":"(string)    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2881","Tag":null,"Text":"(string)    eDecodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2882","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2883","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2884","Tag":null,"Text":"(string)    xEncodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2885","Tag":null,"Text":"(string)    eEncodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2886","Tag":null,"Text":"(string)ELSIF NOT xDecode AND NOT xEncode THEN //DO NOTHING, ALL OUTPUTS OFF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2887","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2888","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2889","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2890","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2891","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2892","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2893","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2894","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2895","Tag":null,"Text":"(string)ELSIF xDecode AND NOT xEncode THEN //Decode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2896","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2897","Tag":null,"Text":"(string)    xDecodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2898","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2899","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2900","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2901","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2902","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2903","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2904","Tag":null,"Text":"(string)ELSIF NOT xDecode AND xEncode THEN //Encode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2905","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2906","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2907","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2908","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2909","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2910","Tag":null,"Text":"(string)    xEncodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2911","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2912","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2913","Tag":null,"Text":"(string)END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2914","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2915","Tag":null,"Text":"(string)IF xDecodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2916","Tag":null,"Text":"(string)    InitializeStructure();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2917","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getlength;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2918","Tag":null,"Text":"(string)    //decode length"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2919","Tag":null,"Text":"(string)    dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2920","Tag":null,"Text":"(string)    lengthOfObject := dviTemp.int32;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2921","Tag":null,"Text":"(string)    finalByteIndex := ProtobufBlobIndex + lengthOfObject;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2922","Tag":null,"Text":"(string)    ProtobufBlobIndex := ProtobufBlobIndex + 1;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2923","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2924","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2925","Tag":null,"Text":"(string)    //for i to i + length - 1"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2926","Tag":null,"Text":"(string)    FOR ProtobufBlobIndex := ProtobufBlobIndex TO finalByteIndex DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2927","Tag":null,"Text":"(string)        CASE eDecodeState OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2928","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getmember:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2929","Tag":null,"Text":"(string)                CASE myProtobufBlob[ProtobufBlobIndex] OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2930","Tag":null,"Text":"(string)                    16#00: //end of data? padding byte? ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2931","Tag":null,"Text":"(string)                        xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2932","Tag":null,"Text":"(string)                        eDecodeError := ERROR.PayloadFound00;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2933","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2934","Tag":null,"Text":"(string)                    ProtobufedId.Template_version:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2935","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getversion;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2936","Tag":null,"Text":"(string)                    ProtobufedId.Template_metrics:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2937","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getmetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2938","Tag":null,"Text":"(string)                    ProtobufedId.Template_parameters:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2939","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getparameter;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2940","Tag":null,"Text":"(string)                    ProtobufedId.Template_template_ref:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2941","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_gettemplate_ref;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2942","Tag":null,"Text":"(string)                    ProtobufedId.Template_is_definition:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2943","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getis_definition;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2944","Tag":null,"Text":"(string)                ELSE //extension... error"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2945","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2946","Tag":null,"Text":"(string)                    eDecodeError := ERROR.PayloadFoundExtensions;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2947","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2948","Tag":null,"Text":"(string)                END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2949","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getversion:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2950","Tag":null,"Text":"(string)                wsTemp := OwnerPayload.DecodeNextString();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2951","Tag":null,"Text":"(string)                THIS^.SetVersion(Version := wsTemp);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2952","Tag":null,"Text":"(string)                eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2953","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getmetric:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2954","Tag":null,"Text":"(string)                recentlyClaimedMetric REF= AddMetricBlank(OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2955","Tag":null,"Text":"(string)                    eError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2956","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2957","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2958","Tag":null,"Text":"(string)                    //i starts off now pointing to the first byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2959","Tag":null,"Text":"(string)                    THIS^.recentlyClaimedMetric(xDecode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2960","Tag":null,"Text":"(string)                        xEncode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2961","Tag":null,"Text":"(string)                        protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2962","Tag":null,"Text":"(string)                        OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2963","Tag":null,"Text":"(string)                        ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2964","Tag":null,"Text":"(string)                        myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2965","Tag":null,"Text":"(string)                        xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2966","Tag":null,"Text":"(string)                        xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2967","Tag":null,"Text":"(string)                        xDecodeError => xDecodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2968","Tag":null,"Text":"(string)                        eDecodeError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2969","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2970","Tag":null,"Text":"(string)                    IF recentlyClaimedMetric.xDecodeDone THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2971","Tag":null,"Text":"(string)                        //SUCCESS! the latest object has now been decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2972","Tag":null,"Text":"(string)                        //i is now pointing to the very last byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2973","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2974","Tag":null,"Text":"(string)                    ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2975","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2976","Tag":null,"Text":"(string)                    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2977","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2978","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2979","Tag":null,"Text":"(string)                    //eDecodeError := ERROR.Can't Claim Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2980","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2981","Tag":null,"Text":"(string)                END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2982","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getparameter:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2983","Tag":null,"Text":"(string)                recentlyClaimedParamaeter REF= AddParameterBlank(OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2984","Tag":null,"Text":"(string)                    eError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2985","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2986","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2987","Tag":null,"Text":"(string)                    //i starts off now pointing to the first byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2988","Tag":null,"Text":"(string)                    THIS^.recentlyClaimedParamaeter(xDecode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2989","Tag":null,"Text":"(string)                        xEncode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2990","Tag":null,"Text":"(string)                        protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2991","Tag":null,"Text":"(string)                        OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2992","Tag":null,"Text":"(string)                        ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2993","Tag":null,"Text":"(string)                        myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2994","Tag":null,"Text":"(string)                        xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2995","Tag":null,"Text":"(string)                        xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2996","Tag":null,"Text":"(string)                        xDecodeError => xDecodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2997","Tag":null,"Text":"(string)                        eDecodeError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2998","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2999","Tag":null,"Text":"(string)                    IF recentlyClaimedParamaeter.xDecodeDone THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3000","Tag":null,"Text":"(string)                        //SUCCESS! the latest object has now been decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3001","Tag":null,"Text":"(string)                        //i is now pointing to the very last byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3002","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3003","Tag":null,"Text":"(string)                    ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3004","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3005","Tag":null,"Text":"(string)                    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3006","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3007","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3008","Tag":null,"Text":"(string)                    //eDecodeError := ERROR.Can't Claim Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3009","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3010","Tag":null,"Text":"(string)                END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3011","Tag":null,"Text":"(string)            PayloadDecodeStates.object_gettemplate_ref:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3012","Tag":null,"Text":"(string)                wsTemp := OwnerPayload.DecodeNextString();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3013","Tag":null,"Text":"(string)                THIS^.SetTemplateRef(Template_ref := wsTemp);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3014","Tag":null,"Text":"(string)                eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3015","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getis_definition:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3016","Tag":null,"Text":"(string)                dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3017","Tag":null,"Text":"(string)                THIS^.SetIsDefinition(Is_definition := dviTemp.Boolean);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3018","Tag":null,"Text":"(string)                eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3019","Tag":null,"Text":"(string)        END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3020","Tag":null,"Text":"(string)    END_FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3021","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3022","Tag":null,"Text":"(string)    IF NOT xDecodeError THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3023","Tag":null,"Text":"(string)        ProtobufBlobIndex := ProtobufBlobIndex - 1; //i is now final byte index.\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3024","Tag":null,"Text":"(string)    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3025","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3026","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.idle;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3027","Tag":null,"Text":"(string)    xDecodeDone := NOT xDecodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3028","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3029","Tag":null,"Text":"(string)END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3030","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3031","Tag":null,"Text":"(string)IF xEncodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3032","Tag":null,"Text":"(string)    //NOTE: BLOB Data will not be initialized to 00."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3033","Tag":null,"Text":"(string)    //But we will start with a 0 byte payload."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3034","Tag":null,"Text":"(string)    //store the starting byte, because we need it right at the end"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3035","Tag":null,"Text":"(string)    startingByteOfEncodedData := ProtobufBlobIndex;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3036","Tag":null,"Text":"(string)    //Encode Version"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3037","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR AND _HasVersion THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3038","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3039","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.EncodeNextString(ValueToEncode := _Version,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3040","Tag":null,"Text":"(string)            ProtobufFieldNumber := 1);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3041","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3042","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3043","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3044","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3045","Tag":null,"Text":"(string)    //Encode All Metrics"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3046","Tag":null,"Text":"(string)    _Metrics.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3047","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3048","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3049","Tag":null,"Text":"(string)        _Metrics.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3050","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3051","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3052","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3053","Tag":null,"Text":"(string)            nextMetricToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3054","Tag":null,"Text":"(string)            nextMetricToEncode^(xDecode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3055","Tag":null,"Text":"(string)                xEncode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3056","Tag":null,"Text":"(string)                protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3057","Tag":null,"Text":"(string)                OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3058","Tag":null,"Text":"(string)                ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3059","Tag":null,"Text":"(string)                myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3060","Tag":null,"Text":"(string)                xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3061","Tag":null,"Text":"(string)                xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3062","Tag":null,"Text":"(string)                xDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3063","Tag":null,"Text":"(string)                eDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3064","Tag":null,"Text":"(string)                xEncodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3065","Tag":null,"Text":"(string)                xEncodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3066","Tag":null,"Text":"(string)                xEncodeError => xEncodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3067","Tag":null,"Text":"(string)                eEncodeError => eEncodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3068","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3069","Tag":null,"Text":"(string)    END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3070","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3071","Tag":null,"Text":"(string)    //Encode All Parameters"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3072","Tag":null,"Text":"(string)    _Parameters.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3073","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3074","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3075","Tag":null,"Text":"(string)        _Parameters.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3076","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3077","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3078","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3079","Tag":null,"Text":"(string)            nextParameterToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3080","Tag":null,"Text":"(string)            nextParameterToEncode^(xDecode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3081","Tag":null,"Text":"(string)                xEncode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3082","Tag":null,"Text":"(string)                protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3083","Tag":null,"Text":"(string)                OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3084","Tag":null,"Text":"(string)                ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3085","Tag":null,"Text":"(string)                myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3086","Tag":null,"Text":"(string)                xEncodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3087","Tag":null,"Text":"(string)                xEncodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3088","Tag":null,"Text":"(string)                xEncodeError => xEncodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3089","Tag":null,"Text":"(string)                eEncodeError => eEncodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3090","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3091","Tag":null,"Text":"(string)    END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3092","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3093","Tag":null,"Text":"(string)    //Encode Template_ref"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3094","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR AND _HasTemplate_ref THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3095","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3096","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.EncodeNextString(ValueToEncode := _Template_ref,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3097","Tag":null,"Text":"(string)            ProtobufFieldNumber := 4);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3098","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3099","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3100","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3101","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3102","Tag":null,"Text":"(string)    //Enocde is_definition"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3103","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR AND _HasIs_definition THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3104","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3105","Tag":null,"Text":"(string)        dviTemp.Boolean := _Is_definition;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3106","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.EncodeNextVarInt(ValueToEncode := dviTemp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3107","Tag":null,"Text":"(string)            ProtobufFieldNumber := 5);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3108","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3109","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3110","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3111","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3112","Tag":null,"Text":"(string)    //Field number and length and we're done!"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3113","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3114","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3115","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.ReencodeLengthDelimited(ProtobufFieldNumber := 18,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3116","Tag":null,"Text":"(string)            startingByteOfEncodedData := startingByteOfEncodedData);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3117","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3118","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3119","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3120","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3121","Tag":null,"Text":"(string)    //DONE :)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3122","Tag":null,"Text":"(string)    xEncodeDone := NOT xEncodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3123","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)9","Tag":null,"Text":"(string)END_IF;"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2815","Tag":null,"Text":"(string){attribute 'hide'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2816","Tag":null,"Text":"(string)FUNCTION_BLOCK FB_PayloadTemplate IMPLEMENTS LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2817","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2818","Tag":null,"Text":"(string)    (*Trigers for conversion*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2819","Tag":null,"Text":"(string)    xDecode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2820","Tag":null,"Text":"(string)    xEncode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2821","Tag":null,"Text":"(string)    protobufBlobMaxIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2822","Tag":null,"Text":"(string)    PoolManager : IPoolManager;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2823","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2824","Tag":null,"Text":"(string)VAR_IN_OUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2825","Tag":null,"Text":"(string)    OwnerPayload : FB_Payload; //He manages the assigning of Pool Objects"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2826","Tag":null,"Text":"(string)    ProtobufBlobIndex : DINT; //For decoding, starts where the start of the Object is, ends on the last byte of the Object.  For Encoding, starts where the first byte the Object should be written to, ends on the next free byte after this object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2827","Tag":null,"Text":"(string)    myProtobufBlob : ARRAY[*] OF BYTE; //array of bytes containing the protobuf payload.  If the array is the whole"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2828","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2829","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2830","Tag":null,"Text":"(string)    xDecodeDone, xDecodeBusy, xDecodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2831","Tag":null,"Text":"(string)    eDecodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2832","Tag":null,"Text":"(string)    xEncodeDone, xEncodeBusy, xEncodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2833","Tag":null,"Text":"(string)    eEncodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2834","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2835","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2836","Tag":null,"Text":"(string)    (*Internal variables*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2837","Tag":null,"Text":"(string)    dviTemp : DecodedVarInt;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2838","Tag":null,"Text":"(string)    wsTemp : WSTRING(GC_Sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2839","Tag":null,"Text":"(string)    startingByteOfEncodedData : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2840","Tag":null,"Text":"(string)    eDecodeState : PayloadDecodeStates;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2841","Tag":null,"Text":"(string)    lengthOfObject : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2842","Tag":null,"Text":"(string)    finalByteIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2843","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.version"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2844","Tag":null,"Text":"(string)    _HasVersion : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2845","Tag":null,"Text":"(string)    _Version : WSTRING;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2846","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.metrics[].   //(RECURSIVE Metrics)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2847","Tag":null,"Text":"(string)    _Metrics : LinkedList.List; //of FB_PayloadMetric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2848","Tag":null,"Text":"(string)    recentlyClaimedMetric : REFERENCE TO FB_PayloadMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2849","Tag":null,"Text":"(string)    nextMetricToEncode : POINTER TO FB_PayloadMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2850","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].name"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2851","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].type"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2852","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].int_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2853","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].long_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2854","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].float_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2855","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].double_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2856","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].boolean_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2857","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].string_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2858","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].extension_value //none"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2859","Tag":null,"Text":"(string)    _Parameters : LinkedList.List; //of FB_PayloadParameter"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2860","Tag":null,"Text":"(string)    recentlyClaimedParamaeter : REFERENCE TO FB_PayloadParameter;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2861","Tag":null,"Text":"(string)    nextParameterToEncode : POINTER TO FB_PayloadParameter;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2862","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.template_ref"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2863","Tag":null,"Text":"(string)    _HasTemplate_ref : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2864","Tag":null,"Text":"(string)    _Template_ref : WSTRING;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2865","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.is_definition"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2866","Tag":null,"Text":"(string)    _HasIs_definition : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2867","Tag":null,"Text":"(string)    _Is_definition : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2868","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.extensions[]  //none"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2869","Tag":null,"Text":"(string)    _COL_HasNext : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2870","Tag":null,"Text":"(string)    _COL_Element : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2871","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2872","Tag":null,"Text":"(string)    // LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2873","Tag":null,"Text":"(string)    _itfPrev : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2874","Tag":null,"Text":"(string)    _itfNext : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2875","Tag":null,"Text":"(string)    _itfList : LinkedList.IList;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)104","Tag":null,"Text":"(string)END_VAR"}}]}}}}},"UniqueIdGenerator":"(string)3123","POULevel":{"@Type":"8e575c5b:Enum","@Value":"Standard"},"ChildObjectGuids":{"@Type":"ArrayList:IList","@Value":[]},"AddAttributeSubsequent":"(bool)False"}},"TypeInfos":{"0db3d7bb":"{0db3d7bb-cde0-4416-9a7b-ce49a0124323}","3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","6f9dac99":"{6f9dac99-8de1-4efc-8465-68ac443b7d08}","8e575c5b":"{8e575c5b-1d37-49c6-941b-5c0ec7874787}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","ArrayList":"System.Collections.ArrayList","bool":"System.Boolean","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}
1
{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)4bde8df5-707a-4d48-b450-e85e4d74efb1","ParentGuid":"(Guid)00000000-0000-0000-0000-000000000000","Name":"(string)FB_PayloadTemplate","Properties":{"@Type":"2c41fa04:IDictionary","@Value":[{"@Key":"(Guid)829a18f2-c514-4f6e-9634-1df173429203","@Value":{"@Type":"829a18f2","@Value":{"ParentObjects":{"@Type":"fa2ee218:IDictionary","@Value":[{"@Key":"(Guid)21af5390-2942-461a-bf89-951aaf6999f1","@Value":"(Guid)ad205903-8508-4926-9d55-99ed8855a066"}]}}}}]},"TypeGuid":"(Guid)6f9dac99-8de1-4efc-8465-68ac443b7d08","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"6f9dac99","@Value":{"SpecialFunc":{"@Type":"0db3d7bb:Enum","@Value":"None"},"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2876","Tag":null,"Text":"(string)//This IF statement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2877","Tag":null,"Text":"(string)IF xDecode AND xEncode THEN //ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2878","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2879","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2880","Tag":null,"Text":"(string)    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2881","Tag":null,"Text":"(string)    eDecodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2882","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2883","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2884","Tag":null,"Text":"(string)    xEncodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2885","Tag":null,"Text":"(string)    eEncodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2886","Tag":null,"Text":"(string)ELSIF NOT xDecode AND NOT xEncode THEN //DO NOTHING, ALL OUTPUTS OFF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2887","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2888","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2889","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2890","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2891","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2892","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2893","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2894","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2895","Tag":null,"Text":"(string)ELSIF xDecode AND NOT xEncode THEN //Decode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2896","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2897","Tag":null,"Text":"(string)    xDecodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2898","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2899","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2900","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2901","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2902","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2903","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2904","Tag":null,"Text":"(string)ELSIF NOT xDecode AND xEncode THEN //Encode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2905","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2906","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2907","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2908","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2909","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2910","Tag":null,"Text":"(string)    xEncodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2911","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2912","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2913","Tag":null,"Text":"(string)END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2914","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2915","Tag":null,"Text":"(string)IF xDecodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2916","Tag":null,"Text":"(string)    InitializeStructure();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2917","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getlength;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2918","Tag":null,"Text":"(string)    //decode length"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2919","Tag":null,"Text":"(string)    dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2920","Tag":null,"Text":"(string)    lengthOfObject := dviTemp.int32;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2921","Tag":null,"Text":"(string)    finalByteIndex := ProtobufBlobIndex + lengthOfObject;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2922","Tag":null,"Text":"(string)    ProtobufBlobIndex := ProtobufBlobIndex + 1;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2923","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2924","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2925","Tag":null,"Text":"(string)    //for i to i + length - 1"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2926","Tag":null,"Text":"(string)    FOR ProtobufBlobIndex := ProtobufBlobIndex TO finalByteIndex DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2927","Tag":null,"Text":"(string)        CASE eDecodeState OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2928","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getmember:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2929","Tag":null,"Text":"(string)                CASE myProtobufBlob[ProtobufBlobIndex] OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2930","Tag":null,"Text":"(string)                    16#00: //end of data? padding byte? ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2931","Tag":null,"Text":"(string)                        xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2932","Tag":null,"Text":"(string)                        eDecodeError := ERROR.PayloadFound00;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2933","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2934","Tag":null,"Text":"(string)                    ProtobufedId.Template_version:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2935","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getversion;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2936","Tag":null,"Text":"(string)                    ProtobufedId.Template_metrics:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2937","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getmetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2938","Tag":null,"Text":"(string)                    ProtobufedId.Template_parameters:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2939","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getparameter;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2940","Tag":null,"Text":"(string)                    ProtobufedId.Template_template_ref:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2941","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_gettemplate_ref;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2942","Tag":null,"Text":"(string)                    ProtobufedId.Template_is_definition:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2943","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getis_definition;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2944","Tag":null,"Text":"(string)                ELSE //extension... error"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2945","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2946","Tag":null,"Text":"(string)                    eDecodeError := ERROR.PayloadFoundExtensions;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2947","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2948","Tag":null,"Text":"(string)                END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2949","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getversion:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2950","Tag":null,"Text":"(string)                wsTemp := OwnerPayload.DecodeNextString();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2951","Tag":null,"Text":"(string)                THIS^.SetVersion(Version := wsTemp);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2952","Tag":null,"Text":"(string)                eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2953","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getmetric:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2954","Tag":null,"Text":"(string)                recentlyClaimedMetric REF= AddMetricBlank(OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2955","Tag":null,"Text":"(string)                    eError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2956","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2957","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2958","Tag":null,"Text":"(string)                    //i starts off now pointing to the first byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2959","Tag":null,"Text":"(string)                    THIS^.recentlyClaimedMetric(xDecode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2960","Tag":null,"Text":"(string)                        xEncode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2961","Tag":null,"Text":"(string)                        protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2962","Tag":null,"Text":"(string)                        OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2963","Tag":null,"Text":"(string)                        ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2964","Tag":null,"Text":"(string)                        myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2965","Tag":null,"Text":"(string)                        xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2966","Tag":null,"Text":"(string)                        xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2967","Tag":null,"Text":"(string)                        xDecodeError => xDecodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2968","Tag":null,"Text":"(string)                        eDecodeError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2969","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2970","Tag":null,"Text":"(string)                    IF recentlyClaimedMetric.xDecodeDone THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2971","Tag":null,"Text":"(string)                        //SUCCESS! the latest object has now been decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2972","Tag":null,"Text":"(string)                        //i is now pointing to the very last byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2973","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2974","Tag":null,"Text":"(string)                    ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2975","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2976","Tag":null,"Text":"(string)                    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2977","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2978","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2979","Tag":null,"Text":"(string)                    //eDecodeError := ERROR.Can't Claim Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2980","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2981","Tag":null,"Text":"(string)                END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2982","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getparameter:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2983","Tag":null,"Text":"(string)                recentlyClaimedParamaeter REF= AddParameterBlank(OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2984","Tag":null,"Text":"(string)                    eError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2985","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2986","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2987","Tag":null,"Text":"(string)                    //i starts off now pointing to the first byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2988","Tag":null,"Text":"(string)                    THIS^.recentlyClaimedParamaeter(xDecode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2989","Tag":null,"Text":"(string)                        xEncode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2990","Tag":null,"Text":"(string)                        protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2991","Tag":null,"Text":"(string)                        OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2992","Tag":null,"Text":"(string)                        ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2993","Tag":null,"Text":"(string)                        myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2994","Tag":null,"Text":"(string)                        xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2995","Tag":null,"Text":"(string)                        xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2996","Tag":null,"Text":"(string)                        xDecodeError => xDecodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2997","Tag":null,"Text":"(string)                        eDecodeError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2998","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2999","Tag":null,"Text":"(string)                    IF recentlyClaimedParamaeter.xDecodeDone THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3000","Tag":null,"Text":"(string)                        //SUCCESS! the latest object has now been decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3001","Tag":null,"Text":"(string)                        //i is now pointing to the very last byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3002","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3003","Tag":null,"Text":"(string)                    ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3004","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3005","Tag":null,"Text":"(string)                    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3006","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3007","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3008","Tag":null,"Text":"(string)                    //eDecodeError := ERROR.Can't Claim Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3009","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3010","Tag":null,"Text":"(string)                END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3011","Tag":null,"Text":"(string)            PayloadDecodeStates.object_gettemplate_ref:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3012","Tag":null,"Text":"(string)                wsTemp := OwnerPayload.DecodeNextString();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3013","Tag":null,"Text":"(string)                THIS^.SetTemplateRef(Template_ref := wsTemp);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3014","Tag":null,"Text":"(string)                eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3015","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getis_definition:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3016","Tag":null,"Text":"(string)                dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3017","Tag":null,"Text":"(string)                THIS^.SetIsDefinition(Is_definition := dviTemp.Boolean);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3018","Tag":null,"Text":"(string)                eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3019","Tag":null,"Text":"(string)        END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3020","Tag":null,"Text":"(string)    END_FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3021","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3022","Tag":null,"Text":"(string)    IF NOT xDecodeError THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3023","Tag":null,"Text":"(string)        ProtobufBlobIndex := ProtobufBlobIndex - 1; //i is now final byte index.\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3024","Tag":null,"Text":"(string)    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3025","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3026","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.idle;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3027","Tag":null,"Text":"(string)    xDecodeDone := NOT xDecodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3028","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3029","Tag":null,"Text":"(string)END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3030","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3031","Tag":null,"Text":"(string)IF xEncodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3032","Tag":null,"Text":"(string)    //NOTE: BLOB Data will not be initialized to 00."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3033","Tag":null,"Text":"(string)    //But we will start with a 0 byte payload."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3034","Tag":null,"Text":"(string)    //store the starting byte, because we need it right at the end"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3035","Tag":null,"Text":"(string)    startingByteOfEncodedData := ProtobufBlobIndex;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3036","Tag":null,"Text":"(string)    //Encode Version"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3037","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR AND _HasVersion THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3038","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3039","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.EncodeNextString(ValueToEncode := _Version,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3040","Tag":null,"Text":"(string)            ProtobufFieldNumber := 1);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3041","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3042","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3043","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3044","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3045","Tag":null,"Text":"(string)    //Encode All Metrics"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3046","Tag":null,"Text":"(string)    _Metrics.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3047","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3048","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3049","Tag":null,"Text":"(string)        _Metrics.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3050","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3051","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3052","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3053","Tag":null,"Text":"(string)            nextMetricToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3054","Tag":null,"Text":"(string)            nextMetricToEncode^(xDecode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3055","Tag":null,"Text":"(string)                xEncode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3056","Tag":null,"Text":"(string)                protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3057","Tag":null,"Text":"(string)                OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3058","Tag":null,"Text":"(string)                ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3059","Tag":null,"Text":"(string)                myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3060","Tag":null,"Text":"(string)                xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3061","Tag":null,"Text":"(string)                xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3062","Tag":null,"Text":"(string)                xDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3063","Tag":null,"Text":"(string)                eDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3064","Tag":null,"Text":"(string)                xEncodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3065","Tag":null,"Text":"(string)                xEncodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3066","Tag":null,"Text":"(string)                xEncodeError => xEncodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3067","Tag":null,"Text":"(string)                eEncodeError => eEncodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3068","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3069","Tag":null,"Text":"(string)    END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3070","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3071","Tag":null,"Text":"(string)    //Encode All Parameters"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3072","Tag":null,"Text":"(string)    _Parameters.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3073","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3074","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3075","Tag":null,"Text":"(string)        _Parameters.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3076","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3077","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3078","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3079","Tag":null,"Text":"(string)            nextParameterToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3080","Tag":null,"Text":"(string)            nextParameterToEncode^(xDecode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3081","Tag":null,"Text":"(string)                xEncode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3082","Tag":null,"Text":"(string)                protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3083","Tag":null,"Text":"(string)                OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3084","Tag":null,"Text":"(string)                ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3085","Tag":null,"Text":"(string)                myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3086","Tag":null,"Text":"(string)                xEncodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3087","Tag":null,"Text":"(string)                xEncodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3088","Tag":null,"Text":"(string)                xEncodeError => xEncodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3089","Tag":null,"Text":"(string)                eEncodeError => eEncodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3090","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3091","Tag":null,"Text":"(string)    END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3092","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3093","Tag":null,"Text":"(string)    //Encode Template_ref"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3094","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR AND _HasTemplate_ref THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3095","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3096","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.EncodeNextString(ValueToEncode := _Template_ref,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3097","Tag":null,"Text":"(string)            ProtobufFieldNumber := 4);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3098","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3099","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3100","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3101","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3102","Tag":null,"Text":"(string)    //Enocde is_definition"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3103","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR AND _HasIs_definition THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3104","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3105","Tag":null,"Text":"(string)        dviTemp.Boolean := _Is_definition;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3106","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.EncodeNextVarInt(ValueToEncode := dviTemp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3107","Tag":null,"Text":"(string)            ProtobufFieldNumber := 5);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3108","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3109","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3110","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3111","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3112","Tag":null,"Text":"(string)    //Field number and length and we're done!"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3113","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3114","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3115","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.ReencodeLengthDelimited(ProtobufFieldNumber := 18,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3116","Tag":null,"Text":"(string)            startingByteOfEncodedData := startingByteOfEncodedData);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3117","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3118","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3119","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3120","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3121","Tag":null,"Text":"(string)    //DONE :)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3122","Tag":null,"Text":"(string)    xEncodeDone := NOT xEncodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3123","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)9","Tag":null,"Text":"(string)END_IF;"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2815","Tag":null,"Text":"(string){attribute 'hide'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)3124","Tag":null,"Text":"(string){attribute 'no_assign'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2816","Tag":null,"Text":"(string)FUNCTION_BLOCK FB_PayloadTemplate IMPLEMENTS LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2817","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2818","Tag":null,"Text":"(string)    (*Trigers for conversion*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2819","Tag":null,"Text":"(string)    xDecode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2820","Tag":null,"Text":"(string)    xEncode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2821","Tag":null,"Text":"(string)    protobufBlobMaxIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2822","Tag":null,"Text":"(string)    PoolManager : IPoolManager;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2823","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2824","Tag":null,"Text":"(string)VAR_IN_OUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2825","Tag":null,"Text":"(string)    OwnerPayload : FB_Payload; //He manages the assigning of Pool Objects"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2826","Tag":null,"Text":"(string)    ProtobufBlobIndex : DINT; //For decoding, starts where the start of the Object is, ends on the last byte of the Object.  For Encoding, starts where the first byte the Object should be written to, ends on the next free byte after this object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2827","Tag":null,"Text":"(string)    myProtobufBlob : ARRAY[*] OF BYTE; //array of bytes containing the protobuf payload.  If the array is the whole"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2828","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2829","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2830","Tag":null,"Text":"(string)    xDecodeDone, xDecodeBusy, xDecodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2831","Tag":null,"Text":"(string)    eDecodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2832","Tag":null,"Text":"(string)    xEncodeDone, xEncodeBusy, xEncodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2833","Tag":null,"Text":"(string)    eEncodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2834","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2835","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2836","Tag":null,"Text":"(string)    (*Internal variables*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2837","Tag":null,"Text":"(string)    dviTemp : DecodedVarInt;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2838","Tag":null,"Text":"(string)    wsTemp : WSTRING(GC_Sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2839","Tag":null,"Text":"(string)    startingByteOfEncodedData : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2840","Tag":null,"Text":"(string)    eDecodeState : PayloadDecodeStates;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2841","Tag":null,"Text":"(string)    lengthOfObject : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2842","Tag":null,"Text":"(string)    finalByteIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2843","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.version"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2844","Tag":null,"Text":"(string)    _HasVersion : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2845","Tag":null,"Text":"(string)    _Version : WSTRING;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2846","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.metrics[].   //(RECURSIVE Metrics)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2847","Tag":null,"Text":"(string)    _Metrics : LinkedList.List; //of FB_PayloadMetric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2848","Tag":null,"Text":"(string)    recentlyClaimedMetric : REFERENCE TO FB_PayloadMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2849","Tag":null,"Text":"(string)    nextMetricToEncode : POINTER TO FB_PayloadMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2850","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].name"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2851","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].type"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2852","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].int_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2853","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].long_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2854","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].float_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2855","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].double_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2856","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].boolean_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2857","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].string_value"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2858","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.parameters[].extension_value //none"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2859","Tag":null,"Text":"(string)    _Parameters : LinkedList.List; //of FB_PayloadParameter"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2860","Tag":null,"Text":"(string)    recentlyClaimedParamaeter : REFERENCE TO FB_PayloadParameter;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2861","Tag":null,"Text":"(string)    nextParameterToEncode : POINTER TO FB_PayloadParameter;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2862","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.template_ref"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2863","Tag":null,"Text":"(string)    _HasTemplate_ref : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2864","Tag":null,"Text":"(string)    _Template_ref : WSTRING;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2865","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.is_definition"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2866","Tag":null,"Text":"(string)    _HasIs_definition : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2867","Tag":null,"Text":"(string)    _Is_definition : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2868","Tag":null,"Text":"(string)    // Payload.metrics[].template_value.extensions[]  //none"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2869","Tag":null,"Text":"(string)    _COL_HasNext : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2870","Tag":null,"Text":"(string)    _COL_Element : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2871","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2872","Tag":null,"Text":"(string)    // LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2873","Tag":null,"Text":"(string)    _itfPrev : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2874","Tag":null,"Text":"(string)    _itfNext : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2875","Tag":null,"Text":"(string)    _itfList : LinkedList.IList;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)104","Tag":null,"Text":"(string)END_VAR"}}]}}}}},"UniqueIdGenerator":"(string)3124","POULevel":{"@Type":"8e575c5b:Enum","@Value":"Standard"},"ChildObjectGuids":{"@Type":"ArrayList:IList","@Value":[]},"AddAttributeSubsequent":"(bool)False"}},"TypeInfos":{"0db3d7bb":"{0db3d7bb-cde0-4416-9a7b-ce49a0124323}","3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","6f9dac99":"{6f9dac99-8de1-4efc-8465-68ac443b7d08}","8e575c5b":"{8e575c5b-1d37-49c6-941b-5c0ec7874787}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","ArrayList":"System.Collections.ArrayList","bool":"System.Boolean","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}