diff --git a/function_test/OER_EncDec/ISOIEC-8825-7-2015-AnnexA-PersonnelRecord.script b/function_test/OER_EncDec/ISOIEC-8825-7-2015-AnnexA-PersonnelRecord.script
deleted file mode 100644
index f55b47beebb7278c87485c86aba8c7bb12bd3f60..0000000000000000000000000000000000000000
--- a/function_test/OER_EncDec/ISOIEC-8825-7-2015-AnnexA-PersonnelRecord.script
+++ /dev/null
@@ -1,233 +0,0 @@
-.******************************************************************************
-.* Copyright (c) 2000-2019 Ericsson Telecom AB
-.* All rights reserved. This program and the accompanying materials
-.* are made available under the terms of the Eclipse Public License v2.0
-.* which accompanies this distribution, and is available at
-.* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
-.*
-.* Contributors:
-.*   Balasko, Jeno
-.*   Beres, Szabolcs
-.*   Delic, Adam
-.*   Kovacs, Ferenc
-.*   Szabados, Kristof
-.*   Tarasov, Victor
-.*
-.******************************************************************************/
-:text.
-:lang eng.
-.*
-:docname.Test Description
-:docno.8/152 91-CRL 113 200/5 Uen
-:rev.C
-:date.2015-04-27
-.*
-:prep.ETH/XZR Kristof Szabados (+36 1 437 7256)
-:appr.ETH/XZ (Roland Gecse)
-:checked.ETHBAAT
-.*
-:title.Test Description - OER coder
-:contents level=3.
-.*---------------------------------------------------------------------*
-:h1.PREREQUISITES AND PREPARATIONS
-.*---------------------------------------------------------------------*
-.*---------------------------------------------------------------------*
-:h2.Scope of the Test Object
-.*---------------------------------------------------------------------*
-:xmp tab=1 nokeep.
-
-This TD contains unified test case related to TTCN3 Executor's OER coder function.
-Test case implement the OER codings example from specification ISO/IEC 8825-7:2015 
-(https://www.itu.int/rec/T-REC-X.696-201508-I)
-:exmp.
-
-:p.:us.Revision Information:eus.
-
-:xmp nokeep.
-:us.History:eus.
-
-REV   DATE         PREPARED   CHANGE
-===   ==========   ========   ======
-A     2003-10-31   ETHEKR     New document
-B     2007-03-06   EDMDELI    Implicit message encoding
-C     2007-03-21   EJNOSZA    Bugfix in a testcase for implicit msg. enc.
-D     2008-10-01   EFERKOV    Big integers
-E     2010-01-18   EKRISZA    Updated for TITAN R8C
-F     2011-06-18   EKRISZA    Added tests for errors
-A     2011-12-12   EKRISZA     Updated for release
-PB1   2011-01-30   ETHBAAT    Editorial changes
-A
-
-:exmp.
-
-
-.*---------------------------------------------------------------------*
-:h2.Test Tools
-.*---------------------------------------------------------------------*
-:p.:us.Software Tools:eus.
-:xmp tab=2 nokeep.
-
-	SAtester
-
-:exmp.
-:np.
-.*---------------------------------------------------------------------*
-:h1.REQUIREMENT-BASED TESTS
-.*---------------------------------------------------------------------*
-.*---------------------------------------------------------------------*
-:h2.Testing OER encodings
-.*---------------------------------------------------------------------*
-.*---------------------------------------------------------------------*
-:h3. Example of OER encodings from ISO/IEC 8825-7:2015 Annex A
-.*---------------------------------------------------------------------*
-:xmp tab=0.
-
-<TC - ISO/IEC 8825-7:2015 Annex A – Example of OER encodings>
-
-<STATIC:ASN>
-
-TempA
-
-DEFINITIONS ::=
-
-BEGIN
-
-  IMPORTS;
-
-  Date ::= [APPLICATION 3] IMPLICIT VisibleString -- YYYYMMDD
-  EmployeeNumber ::= [APPLICATION 2] IMPLICIT INTEGER
-  Name ::= [APPLICATION 1] IMPLICIT SEQUENCE   {
-	givenName VisibleString,
-	initial VisibleString,
-	familyName VisibleString }
-  ChildInformation ::= SET {
-	name Name,
-	dateOfBirth [0] Date}
-  Record ::= [APPLICATION 0] IMPLICIT SET {
-	name Name,
-	title [0] VisibleString,
-	number EmployeeNumber,
-	dateOfHire [1] Date,
-	nameOfSpouse [2] Name,
-	children [3] IMPLICIT SEQUENCE OF ChildInformation DEFAULT {} }
-END
-
-<STATIC>
-
-
-type component Test_CT {}
-
-<TTCN_TC:PURE_EXEC>
-
-import from TempA all;
-
-external function enc_OER_Date(in Date pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Date(in octetstring stream) return Date with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_EmployeeNumber(in EmployeeNumber pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_EmployeeNumber(in octetstring stream) return EmployeeNumber with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_Name(in Name pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Name(in octetstring stream) return Name with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_ChildInformation(in ChildInformation pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_ChildInformation(in octetstring stream) return ChildInformation with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_Record(in Record pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Record(in octetstring stream) return Record with { extension "prototype(convert) decode(OER)" }
-
-//*********************************************
-// TESTCASES
-//*********************************************
-
-testcase tc_OER_encoding_of_Date() runs on Test_CT {
-  const Date date :=  "19710917"
-  const octetstring raw_encoded := '083139373130393137'O; 
-
-  if (enc_OER_Date(date) == raw_encoded) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Date(raw_encoded) == date) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_encoding_of_EmployeeNumber() runs on Test_CT {
-  const EmployeeNumber empl_num :=  51
-  if (enc_OER_EmployeeNumber(empl_num) == '0133'O) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_encoding_of_Name() runs on Test_CT {
-  const Name name :=  {
-	givenName := "John",
-	initial := "P",
-	familyName := "Smith"
-  }
-  const octetstring raw_encoded := '044A6F686E015005536D697468'O; 
-
-  if (enc_OER_Name(name) == raw_encoded) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Name(raw_encoded) == name) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_ChildInformation() runs on Test_CT {
-  const ChildInformation child := {
-	name := {
-		givenName := "Ralph",
-		initial := "T",
-		familyName := "Smith"
-	},
-	dateOfBirth := "19571111"
-  }
-  const octetstring raw_encoded := '0552616C7068015405536D697468083139353731313131'O;
-
-  if (enc_OER_ChildInformation(child) == raw_encoded) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_ChildInformation(raw_encoded) == child) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Record() runs on Test_CT {
-  const octetstring raw_encoded := 
-	'80044A6F686E015005536D6974680133084469726563746F72083139373130393137044D617279015405536D69746801020552616C7068015405536D69746808313935373131313105537573616E0142054A6F6E6573083139353930373137'O;
-  const Record rec := {
-	name := {
-		givenName := "John",
-		initial := "P",
-		familyName := "Smith"},
-	title := "Director",
-	number := 51,
-	dateOfHire := "19710917",
-	nameOfSpouse := {
-		givenName := "Mary",
-		initial := "T",
-		familyName := "Smith"},
-	children := {
-		{ name := {
-			givenName := "Ralph",
-			initial := "T",
-			familyName := "Smith"},
-		dateOfBirth := "19571111" },
-		{ name := {
-			givenName := "Susan",
-			initial := "B",
-			familyName := "Jones"},
-		dateOfBirth := "19590717"}
-	}
-  }
-
-  if (enc_OER_Record(rec) == raw_encoded) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Record(raw_encoded) == rec) {setverdict(pass);} else {setverdict(fail);}
-}
-
-//*********************************************
-// CONTROL PART
-//*********************************************
-
-control {
-  execute(tc_OER_encoding_of_Date());
-  execute(tc_OER_encoding_of_EmployeeNumber());
-  execute(tc_OER_encoding_of_Name());
-  execute(tc_OER_ChildInformation());
-  execute(tc_OER_Record());
-}
-
-<RESULT>
-
-Overall verdict: pass
-
-<END_TC>
-
diff --git a/function_test/OER_EncDec/OER_EncDec_ITSPKI.script b/function_test/OER_EncDec/OER_EncDec_ITSPKI.script
deleted file mode 100644
index b22dfe16fe8d52eccedc5d41752f522963ee7384..0000000000000000000000000000000000000000
--- a/function_test/OER_EncDec/OER_EncDec_ITSPKI.script
+++ /dev/null
@@ -1,810 +0,0 @@
-.******************************************************************************
-.* Copyright (c) 2000-2019 Ericsson Telecom AB
-.* All rights reserved. This program and the accompanying materials
-.* are made available under the terms of the Eclipse Public License v2.0
-.* which accompanies this distribution, and is available at
-.* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
-.*
-.* Contributors:
-.*   Balasko, Jeno
-.*   Beres, Szabolcs
-.*   Delic, Adam
-.*   Kovacs, Ferenc
-.*   Szabados, Kristof
-.*   Tarasov, Victor
-.*
-.******************************************************************************/
-:text.
-:lang eng.
-.*
-:docname.Test Description
-:docno.8/152 91-CRL 113 200/5 Uen
-:rev.C
-:date.2015-04-27
-.*
-:prep.ETH/XZR Kristof Szabados (+36 1 437 7256)
-:appr.ETH/XZ (Roland Gecse)
-:checked.ETHBAAT
-.*
-:title.Test Description - OER coder
-:contents level=3.
-.*---------------------------------------------------------------------*
-:h1.PREREQUISITES AND PREPARATIONS
-.*---------------------------------------------------------------------*
-.*---------------------------------------------------------------------*
-:h2.Scope of the Test Object
-.*---------------------------------------------------------------------*
-:xmp tab=1 nokeep.
-
-This TD contains unified test cases related to TTCN3 Executor's OER coder function.
-
-The target of these test cases are the basic data types from specification
-'ISO/IEC 8825-7:2015 -- Information technology – ASN.1 encoding rules:
-Specification of Octet Encoding Rules'
-
-The target data types are used in the following technical specification:
- 'ETSI TS 103 097 V1.3.1 (2017-10)'
-Intelligent Transport Systems (ITS); Security;
-Security header and certificate formats and certificate formats 
-
- 'IEEE Std 1609.2-2016 IEEE Standard'
-Wireless Access in Vehicular Environments—Security Services for
-Applications and Management Messages
-
-:exmp.
-
-:p.:us.Revision Information:eus.
-
-:xmp nokeep.
-:us.History:eus.
-
-REV   DATE         PREPARED   CHANGE
-===   ==========   ========   ======
-A     2003-10-31   ETHEKR     New document
-B     2007-03-06   EDMDELI    Implicit message encoding
-C     2007-03-21   EJNOSZA    Bugfix in a testcase for implicit msg. enc.
-D     2008-10-01   EFERKOV    Big integers
-E     2010-01-18   EKRISZA    Updated for TITAN R8C
-F     2011-06-18   EKRISZA    Added tests for errors
-A     2011-12-12   EKRISZA     Updated for release
-PB1   2011-01-30   ETHBAAT    Editorial changes
-
-:exmp.
-
-
-.*---------------------------------------------------------------------*
-:h2.Test Tools
-.*---------------------------------------------------------------------*
-:p.:us.Software Tools:eus.
-:xmp tab=2 nokeep.
-
-	SAtester
-
-:exmp.
-:np.
-.*---------------------------------------------------------------------*
-:h1.REQUIREMENT-BASED TESTS
-.*---------------------------------------------------------------------*
-.*---------------------------------------------------------------------*
-:h2.Testing OER encoding of the basic types
-.*---------------------------------------------------------------------*
-.*---------------------------------------------------------------------*
-:h3. OER encoding
-.*---------------------------------------------------------------------*
-:xmp tab=0.
-
-<TC - OER encoding (unified tests)>
-
-<STATIC:ASN>
-
-TempA
-
-DEFINITIONS ::=
-
-BEGIN
-
-  IMPORTS;
-
-  Null ::= NULL
-
-  Bool ::= BOOLEAN
-
-  Uint   ::= INTEGER (0..MAX)
-  Uint8  ::= INTEGER (0..255)
-  Uint16 ::= INTEGER (0..65535) 
-  Uint32 ::= INTEGER (0..4294967295)
-  Uint64 ::= INTEGER (0..18446744073709551615)
-
-  Int    ::= INTEGER
-  Sint8  ::= INTEGER (-128..127)
-  Sint16 ::= INTEGER (-32768..32767)
-  Sint32 ::= INTEGER (-2147483648..2147483647)
-  Sint64 ::= INTEGER (-9223372036854775808..9223372036854775807)
-
-  Enum ::= ENUMERATED {zero(0), one(1), two(2)}
-  EnumM ::= ENUMERATED {zero(0), one(1), two(2), numM(18)}
-  EnumP ::= ENUMERATED {zero(0), one(1), two(2), numP(1234)}
-  EnumB ::= ENUMERATED {zero(0), one(1), two(2), numB(65261)}
-  EnumNM ::= ENUMERATED {zero(0), one(1), two(2), numNM(-275)}
-  EnumNB ::= ENUMERATED {zero(0), one(1), two(2), numNB(-64302)}
-
-  BitStr ::= BIT STRING
-  BitStrEmpty ::= BIT STRING (SIZE(0))
-  BitStrRandom ::= BIT STRING (SIZE(54))
-  BitStrAligned ::= BIT STRING (SIZE(48))
-
-  OctetStr ::= OCTET STRING
-  OctetStrEmpty ::= OCTET STRING (SIZE(0))
-  OctetStrRandom ::= OCTET STRING (SIZE(6))
-
-  SequenceEmpty ::= SEQUENCE {}
-  SequenceEmptyExtendable ::= SEQUENCE {
-    ... 
-  }
-  SequenceSimple ::= SEQUENCE {
-    f1 OCTET STRING (SIZE (2)),
-    f2 OCTET STRING (SIZE (2)),
-    f3 OCTET STRING (SIZE (2))
-  }
-  SequenceSimpleExtendable ::= SEQUENCE {
-    f1 OCTET STRING (SIZE (2)),
-    f2 OCTET STRING (SIZE (2)),
-    f3 OCTET STRING (SIZE (2)),
-    ...
-  }
-  SequenceSimpleExtended ::= SEQUENCE {
-    f1 OCTET STRING (SIZE (2)),
-    f2 OCTET STRING (SIZE (2)),
-    f3 OCTET STRING (SIZE (2)),
-    ...,
-    e1 OCTET STRING (SIZE (2)),
-    e2 OCTET STRING (SIZE (2)),
-    e3 OCTET STRING (SIZE (2))
-
-  }
-  SequenceSomeOptional ::= SEQUENCE {
-    f1 OCTET STRING (SIZE (2)),
-    f2 [2] OCTET STRING (SIZE (2)) OPTIONAL,
-    f3 [3] OCTET STRING (SIZE (2)) OPTIONAL
-  }
-  SequenceAllOptional ::= SEQUENCE {
-    f1 OCTET STRING (SIZE (2)) OPTIONAL,
-    f2 [2] OCTET STRING (SIZE (2)) OPTIONAL,
-    f3 [3] OCTET STRING (SIZE (2)) OPTIONAL
-  }
-  SequenceOptionalExtendable ::= SEQUENCE {
-    f1 OCTET STRING (SIZE (2)) OPTIONAL,
-    f2 [2] OCTET STRING (SIZE (2)),
-    f3 [3] OCTET STRING (SIZE (2)) OPTIONAL,
-    ...
-  }
-  SequenceLongOptionalExtendable ::= SEQUENCE {
-    f1 OCTET STRING (SIZE (2)) OPTIONAL,
-    f2 [2] OCTET STRING (SIZE (2)) OPTIONAL,
-    f3 [3] OCTET STRING (SIZE (2)) OPTIONAL,
-    f4 [4] OCTET STRING (SIZE (2)) OPTIONAL,
-    f5 [5] OCTET STRING (SIZE (2)) OPTIONAL,
-    f6 [6] OCTET STRING (SIZE (2)) OPTIONAL,
-    f7 [7] OCTET STRING (SIZE (2)) OPTIONAL,
-    f8 [8] OCTET STRING (SIZE (2)) OPTIONAL,
-    f9 [9] OCTET STRING (SIZE (2)) OPTIONAL,
-    f10 [10] OCTET STRING (SIZE (2)) OPTIONAL,
-    ...
-  }
-  SequenceOptionalExtended ::= SEQUENCE {
-    f1 OCTET STRING (SIZE (2)) OPTIONAL,
-    f2 [2] OCTET STRING (SIZE (2)),
-    f3 [3] OCTET STRING (SIZE (2)) OPTIONAL,
-    ...,
-    e1 [4] OCTET STRING (SIZE (2)) OPTIONAL,
-    e2 [5] OCTET STRING (SIZE (2)),
-    e3 [6] OCTET STRING (SIZE (2)) OPTIONAL
-  }
-  SequenceLongOptionalExtended ::= SEQUENCE {
-    f1 OCTET STRING (SIZE (2)) OPTIONAL,
-    f2 [2] OCTET STRING (SIZE (2)),
-    f3 [3] OCTET STRING (SIZE (2)) OPTIONAL,
-    ...,
-    e1 [4] OCTET STRING (SIZE (2)) OPTIONAL,
-    e2 [5] OCTET STRING (SIZE (2)),
-    e3 [6] OCTET STRING (SIZE (2)) OPTIONAL,
-    e4 [7] OCTET STRING (SIZE (2)) OPTIONAL,
-    e5 [8] OCTET STRING (SIZE (2)),
-    e6 [9] OCTET STRING (SIZE (2)) OPTIONAL,
-    e7 [10] OCTET STRING (SIZE (2)) OPTIONAL,
-    e8 [11] OCTET STRING (SIZE (2)),
-    e9 [12] OCTET STRING (SIZE (2)) OPTIONAL
-  }
-  SequenceUnknownExtended ::= SEQUENCE {
-    f1 OCTET STRING (SIZE (2)) OPTIONAL,
-    f2 [2] OCTET STRING (SIZE (2)),
-    f3 [3] OCTET STRING (SIZE (2)) OPTIONAL,
-    ...,
-    e1 [4] OCTET STRING (SIZE (2)) OPTIONAL,
-    e2 [5] OCTET STRING (SIZE (2)),
-    e3 [6] OCTET STRING (SIZE (2)) OPTIONAL,
-    e4 [7] OCTET STRING (SIZE (2)) OPTIONAL
-  }
-
-  SequenceOfOctetString ::= SEQUENCE OF OCTET STRING (SIZE (2))
-
-  Choice ::= CHOICE {
-    f [0] OCTET STRING (SIZE (2)),
-    s [1] NULL
-  }
-  ChoiceBis ::= CHOICE {
-    f [42] OCTET STRING (SIZE (2)),
-    s [99] NULL
-  }
-  ChoiceTer ::= CHOICE {
-    f [123456] OCTET STRING (SIZE (2)),
-    s [999999] NULL
-  }
-  ChoiceQuatro ::= CHOICE {
-    f [0] NULL,
-    ...,
-    s [42] OCTET STRING (SIZE (2)),
-    t [99] NULL
-  }
-
-  Utf8 ::= UTF8String
-
-END
-
-<STATIC>
-
-
-type component Test_CT {}
-
-<TTCN_TC:PURE_EXEC>
-
-import from TempA all;
-
-external function enc_OER_Null(in Null pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Null(in octetstring stream) return Null with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_Bool(in Bool pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Bool(in octetstring stream) return Bool with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_Uint(in Uint pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Uint(in octetstring stream) return Uint with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_Uint8(in Uint8 pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Uint8(in octetstring stream) return Uint8 with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_Uint16(in Uint16 pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Uint16(in octetstring stream) return Uint16 with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_Uint32(in Uint32 pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Uint32(in octetstring stream) return Uint32 with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_Uint64(in Uint64 pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Uint64(in octetstring stream) return Uint64 with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_Int(in Int pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Int(in octetstring stream) return Int with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_Sint8(in Sint8 pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Sint8(in octetstring stream) return Sint8 with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_Sint16(in Sint16 pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Sint16(in octetstring stream) return Sint16 with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_Sint32(in Sint32 pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Sint32(in octetstring stream) return Sint32 with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_Sint64(in Sint64 pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Sint64(in octetstring stream) return Sint64 with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_Enum(in Enum pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Enum(in octetstring stream) return Enum with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_EnumM(in EnumM pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_EnumM(in octetstring stream) return EnumM with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_EnumP(in EnumP pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_EnumP(in octetstring stream) return EnumP with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_EnumB(in EnumB pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_EnumB(in octetstring stream) return EnumB with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_EnumNM(in EnumNM pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_EnumNM(in octetstring stream) return EnumNM with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_EnumNB(in EnumNB pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_EnumNB(in octetstring stream) return EnumNB with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_BitStr(in BitStr pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_BitStr(in octetstring pdu) return BitStr with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_BitStrEmpty(in BitStrEmpty pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_BitStrEmpty(in octetstring pdu) return BitStrEmpty with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_BitStrRandom(in BitStrRandom pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_BitStrRandom(in octetstring pdu) return BitStrRandom with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_BitStrAligned(in BitStrAligned pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_BitStrAligned(in octetstring pdu) return BitStrAligned with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_OctetStr(in OctetStr pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_OctetStr(in octetstring pdu) return OctetStr with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_OctetStrEmpty(in OctetStrEmpty pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_OctetStrEmpty(in octetstring pdu) return OctetStrEmpty with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_OctetStrRandom(in OctetStrRandom pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_OctetStrRandom(in octetstring pdu) return OctetStrRandom with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_SequenceEmpty(in SequenceEmpty pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceEmpty(in octetstring stream) return SequenceEmpty with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_SequenceEmptyExtendable(in SequenceEmptyExtendable pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceEmptyExtendable(in octetstring stream) return SequenceEmptyExtendable with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_SequenceSimple(in SequenceSimple pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceSimple(in octetstring stream) return SequenceSimple with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_SequenceSimpleExtendable(in SequenceSimpleExtendable pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceSimpleExtendable(in octetstring stream) return SequenceSimpleExtendable with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_SequenceSimpleExtended(in SequenceSimpleExtended pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceSimpleExtended(in octetstring stream) return SequenceSimpleExtended with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_SequenceSomeOptional(in SequenceSomeOptional pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceSomeOptional(in octetstring stream) return SequenceSomeOptional with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_SequenceAllOptional(in SequenceAllOptional pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceAllOptional(in octetstring stream) return SequenceAllOptional with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_SequenceOptionalExtendable(in SequenceOptionalExtendable pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceOptionalExtendable(in octetstring stream) return SequenceOptionalExtendable with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_SequenceLongOptionalExtendable(in SequenceLongOptionalExtendable pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceLongOptionalExtendable(in octetstring stream) return SequenceLongOptionalExtendable with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_SequenceOptionalExtended(in SequenceOptionalExtended pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceOptionalExtended(in octetstring stream) return SequenceOptionalExtended with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_SequenceLongOptionalExtended(in SequenceLongOptionalExtended pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceLongOptionalExtended(in octetstring stream) return SequenceLongOptionalExtended with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_SequenceOfOctetString(in SequenceOfOctetString pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_SequenceOfOctetString(in octetstring stream) return SequenceOfOctetString with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_Choice(in Choice pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Choice(in octetstring stream) return Choice with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_ChoiceBis(in ChoiceBis pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_ChoiceBis(in octetstring stream) return ChoiceBis with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_ChoiceTer(in ChoiceTer pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_ChoiceTer(in octetstring stream) return ChoiceTer with { extension "prototype(convert) decode(OER)" }
-external function enc_OER_ChoiceQuatro(in ChoiceQuatro pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_ChoiceQuatro(in octetstring stream) return ChoiceQuatro with { extension "prototype(convert) decode(OER)" }
-
-external function enc_OER_Utf8(in Utf8 pdu) return octetstring with { extension "prototype(convert) encode(OER)" }
-external function dec_OER_Utf8(in octetstring stream) return Utf8 with { extension "prototype(convert) decode(OER)" }
-
-//*********************************************
-// TESTCASES
-//*********************************************
-
-testcase tc_OER_Null() runs on Test_CT {
-  const Null nn := NULL
-  
-  if (enc_OER_Null(nn) == ''O) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Null(''O) == nn) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Bool() runs on Test_CT {
-  const Bool b1 := true
-  const Bool b2 := false  
-
-  if (enc_OER_Bool(b1) == 'FF'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Bool(b2) == '00'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Bool('FF'O) == b1){setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Bool('42'O) == b1){setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Bool('00'O) == b2){setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Uint() runs on Test_CT {
-  const Uint u0 := 0
-  const Uint u1 := 1
-  const Uint u254 := 254
-  const Uint uR := 8234104123542484900769178205574010627627573691361805720124810878238590820080
-  const octetstring oR := '20123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0'O
-  const Uint uB := 115307965754428812535861235258289182183752994114051557942764040435498874699501
-  const octetstring oB := '20FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O
-  const octetstring oBB := '280000000000000000FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O
-
-  if (enc_OER_Uint(u0) == '0100'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint(u1) == '0101'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint(u254) == '01FE'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint(uR) == oR) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint(uB) == oB) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Uint('0100'O) == u0) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint('0101'O) == u1) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint('01FE'O) == u254) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint(oR) == uR) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint(oB) == uB) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint(oBB) == uB) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Uint8() runs on Test_CT {
-  const Uint8 u0 := 0
-  const Uint8 u1 := 1  
-  const Uint8 u18 := 18 
-  const Uint8 u254 := 254 
-
-  if (enc_OER_Uint8(u0) == '00'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint8(u1) == '01'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint8(u18) == '12'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint8(u254) == 'FE'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Uint8('00'O) == u0) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint8('01'O) == u1) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint8('12'O) == u18) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint8('FE'O) == u254) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Uint16() runs on Test_CT {
-  const Uint16 u0 := 0
-  const Uint16 u1 := 1
-  const Uint16 u4660 := 4660  
-  const Uint16 u65261 := 65261 
-
-  if (enc_OER_Uint16(u0) == '0000'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint16(u1) == '0001'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint16(u4660) == '1234'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint16(u65261) == 'FEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Uint16('0000'O) == u0) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint16('0001'O) == u1) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint16('1234'O) == u4660) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint16('FEED'O) == u65261) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Uint32() runs on Test_CT {
-  const Uint32 u0 := 0
-  const Uint32 u1 := 1
-  const Uint32 uR := 305419896
-  const Uint32 uB := 4277010157
-
-  if (enc_OER_Uint32(u0) == '00000000'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint32(u1) == '00000001'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint32(uR) == '12345678'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint32(uB) == 'FEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Uint32('00000000'O) == u0) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint32('00000001'O) == u1) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint32('12345678'O) == uR) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint32('FEEDFEED'O) == uB) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Uint64() runs on Test_CT {
-  const Uint64 u0 := 0
-  const Uint64 u1 := 1
-  const Uint64 uR := 1311768467463790320
-  const Uint64 uB := 18369618753251835629
-
-  if (enc_OER_Uint64(u0) == '0000000000000000'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint64(u1) == '0000000000000001'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint64(uR) == '123456789ABCDEF0'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Uint64(uB) == 'FEEDFEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Uint64('0000000000000000'O) == u0) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint64('0000000000000001'O) == u1) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint64('123456789ABCDEF0'O) == uR) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Uint64('FEEDFEEDFEEDFEED'O) == uB) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Int() runs on Test_CT {
-  const Int i0 := 0
-  const Int i1 := 1
-  const Int i254 := 254
-  const Int iR := 8234104123542484900769178205574010627627573691361805720124810878238590820080
-  const octetstring oR := '20123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0'O
-  const Int iB := 115307965754428812535861235258289182183752994114051557942764040435498874699501
-  const octetstring oB := '2100FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O
-  const octetstring oBB := '280000000000000000FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O
-  const Int iBn := -484123482887382887709749750398725669516990551589006096693543572414254940435
-  const octetstring oBn := '20FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O
-  const Int iBBn := -107557985113773710522801806803113897225642410974278758319332773129674538819856
-  const octetstring oBBn := '21FF123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0'O
-  const octetstring oBBnn := '28FFFFFFFFFFFFFFFF123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0'O
-
-  if (enc_OER_Int(i0) == '0100'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Int(i1) == '0101'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Int(i254) == '0200FE'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Int(iR) == oR) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Int(iB) == oB) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Int(iBn) == oBn) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Int(iBBn) == oBBn) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Int('0100'O) == i0) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Int('0101'O) == i1) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Int('0200FE'O) == i254) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Int(oR) == iR) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Int(oB) == iB) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Int(oBB) == iB) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Int(oBBn) == iBBn) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Int(oBBnn) == iBBn) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Sint8() runs on Test_CT {
-  const Sint8 s0 := 0
-  const Sint8 s18 := 18
-  const Sint8 sn2 := -2  
-
-  if (enc_OER_Sint8(s0) == '00'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Sint8(s18) == '12'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Sint8(sn2) == 'FE'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Sint8('00'O) == s0) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Sint8('12'O) == s18) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Sint8('FE'O) == sn2) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Sint16() runs on Test_CT {
-  const Sint16 s0 := 0
-  const Sint16 s4660 := 4660
-  const Sint16 sn275 := -275  
-
-  if (enc_OER_Sint16(s0) == '0000'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Sint16(s4660) == '1234'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Sint16(sn275) == 'FEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Sint16('0000'O) == s0) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Sint16('1234'O) == s4660) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Sint16('FEED'O) == sn275) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Sint32() runs on Test_CT {
-  const Sint32 s0 := 0
-  const Sint32 sB := 305419896
-  const Sint32 sN := -17957139
-
-  if (enc_OER_Sint32(s0) == '00000000'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Sint32(sB) == '12345678'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Sint32(sN) == 'FEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Sint32('00000000'O) == s0) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Sint32('12345678'O) == sB) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Sint32('FEEDFEED'O) == sN) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Sint64() runs on Test_CT {
-  const Sint64 s0 := 0
-  const Sint64 sB := 1311768467463790320
-  const Sint64 sN := -77125320457715987
-
-  if (enc_OER_Sint64(s0) == '0000000000000000'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Sint64(sB) == '123456789ABCDEF0'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Sint64(sN) == 'FEEDFEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Sint64('0000000000000000'O) == s0) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Sint64('123456789ABCDEF0'O) == sB) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Sint64('FEEDFEEDFEEDFEED'O) == sN) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Enum() runs on Test_CT {
-  const Enum enum_zero := zero
-  const EnumM enumm_numM := numM
-  const EnumP enumm_numP := numP
-  const EnumB enumm_numB := numB
-  const EnumNM enumm_numNM := numNM
-  const EnumNB enumm_numNB := numNB
-
-  if (enc_OER_Enum(enum_zero) == '00'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_EnumM(enumm_numM) == '12'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_EnumP(enumm_numP) == '8204D2'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_EnumB(enumm_numB) == '8300FEED'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_EnumNM(enumm_numNM) == '82FEED'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_EnumNB(enumm_numNB) == '83FF04D2'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Enum('00'O) == enum_zero) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_EnumM('12'O) == enumm_numM) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_EnumP('8204D2'O) == enumm_numP) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_EnumB('8300FEED'O) == enumm_numB) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_EnumB('840000FEED'O) == enumm_numB) {setverdict(pass);} else {setverdict(fail);}
-  // if (dec_OER_EnumB('85000000FEED'O) == enumm_numB) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_EnumNM('82FEED'O) == enumm_numNM) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_EnumNB('83FF04D2'O) == enumm_numNB) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_EnumNB('84FFFF04D2'O) == enumm_numNB) {setverdict(pass);} else {setverdict(fail);}
-  // if (dec_OER_EnumNB('85FFFFFF04D2'O) == enumm_numNB) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_BitStr() runs on Test_CT {
-  const BitStrEmpty empty := ''B
-  const BitStrRandom random :=   '111111101110110111111110111011011111111011101101111110'B
-  const BitStrAligned aligned := '111111101110110111111110111011011111111011101101'B
-
-  if (enc_OER_BitStrEmpty(empty) == ''O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_BitStrRandom(random) == 'FEEDFEEDFEEDF8'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_BitStrAligned(aligned) == 'FEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (enc_OER_BitStr(empty) == '0100'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_BitStr(random) == '0802FEEDFEEDFEEDF8'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_BitStr(aligned) == '0700FEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_BitStrEmpty(''O) == empty) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_BitStrRandom('FEEDFEEDFEEDF8'O) == random) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_BitStrAligned('FEEDFEEDFEED'O) == aligned) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_BitStr('0100'O) == empty) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_BitStr('0802FEEDFEEDFEEDF8'O) == random) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_BitStr('0700FEEDFEEDFEED'O) == aligned) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_OctetStr() runs on Test_CT {
-  const OctetStrEmpty empty := ''O
-  const OctetStrRandom random :=   'FEEDFEEDFEED'O
-
-  if (enc_OER_OctetStrEmpty(empty) == ''O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_OctetStrRandom(random) == 'FEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (enc_OER_OctetStr(empty) == '00'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_OctetStr(random) == '06FEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-  
-  if (dec_OER_OctetStrEmpty(''O) == empty) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_OctetStrRandom('FEEDFEEDFEED'O) == random) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_OctetStr('00'O) == empty) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_OctetStr('06FEEDFEEDFEED'O) == random) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_SequenceEmpty() runs on Test_CT {
-  const SequenceEmpty empty := {}
-  const SequenceEmptyExtendable empty_extendable := {}
-
-  if (enc_OER_SequenceEmpty(empty) == ''O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceEmptyExtendable(empty_extendable) == '00'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_SequenceEmpty(''O) == empty) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_SequenceSimple() runs on Test_CT {
-  const SequenceSimple s := {f1 := 'AAAA'O,f2 := 'BBBB'O,f3 := 'CCCC'O}
-  const SequenceSimpleExtendable s_ee := {f1:='AAAA'O,f2:='BBBB'O,f3:='CCCC'O}
-  const SequenceSimpleExtended s_ed := {f1:='AAAA'O,f2:='BBBB'O,f3:='CCCC'O,e1:='9999'O,e2:='8888'O,e3:='7777'O}
-  const SequenceSimpleExtended s_ed100 := {f1:='AAAA'O,f2:='BBBB'O,f3:='CCCC'O,e1:='9999'O}
-  const SequenceSimpleExtended s_ed010 := {f1:='AAAA'O,f2:='BBBB'O,f3:='CCCC'O,e2:='8888'O}
-
-  if (enc_OER_SequenceSimple(s) == 'AAAABBBBCCCC'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceSimpleExtendable(s_ee) == '00AAAABBBBCCCC'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceSimpleExtended(s_ed) == '80AAAABBBBCCCC0205E0029999028888027777'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceSimpleExtended(s_ed100) == '80AAAABBBBCCCC020580029999'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceSimpleExtended(s_ed010) == '80AAAABBBBCCCC020540028888'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_SequenceSimple('AAAABBBBCCCC'O) == s) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_SequenceSimpleExtendable('00AAAABBBBCCCC'O) == s_ee) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_SequenceSimpleExtended('80AAAABBBBCCCC0205E0029999028888027777'O) == s_ed) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_SequenceSimpleExtended('80AAAABBBBCCCC020540028888'O).e2 == '8888'O) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_SequenceSomeOptional() runs on Test_CT {
-  const SequenceSomeOptional seqSO111 := {f1 := 'AAAA'O,f2 := 'BBBB'O,f3 := 'CCCC'O}
-  const SequenceSomeOptional seqSO110 := {f1 := 'AAAA'O,f2 := 'BBBB'O,f3 := omit}
-  const SequenceSomeOptional seqSO101 := {f1 := 'AAAA'O,f2 := omit,   f3 := 'CCCC'O}
-  const SequenceSomeOptional seqSO100 := {f1 := 'AAAA'O,f2 := omit,   f3 := omit}
-
-  if (enc_OER_SequenceSomeOptional(seqSO111) == 'C0AAAABBBBCCCC'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceSomeOptional(seqSO110) == '80AAAABBBB'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceSomeOptional(seqSO101) == '40AAAACCCC'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceSomeOptional(seqSO100) == '00AAAA'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_SequenceSomeOptional('C0AAAABBBBCCCC'O) == seqSO111) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_SequenceSomeOptional('80AAAABBBB'O)     == seqSO110) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_SequenceSomeOptional('00AAAA'O)         == seqSO100) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_SequenceAllOptional() runs on Test_CT {
-  const SequenceAllOptional seqSAO000 := {f1:=omit,f2:=omit,f3:=omit}
-  
-  if (enc_OER_SequenceAllOptional(seqSAO000) == '00'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_SequenceAllOptional('00'O) == seqSAO000) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_SequenceOptionalExtendable() runs on Test_CT {
-  const SequenceOptionalExtendable seqSOE110 := {f1:='FEED'O,f2:='FEED'O,f3:=omit}
-  const SequenceOptionalExtendable seqSOE011 := {f1:=omit,f2:='FEED'O,f3:='FEED'O}
-  
-  if (enc_OER_SequenceOptionalExtendable(seqSOE110) == '40FEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceOptionalExtendable(seqSOE011) == '20FEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_SequenceOptionalExtendable('40FEEDFEED'O) == seqSOE110) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_SequenceOptionalExtendable('20FEEDFEED'O) == seqSOE011) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_SequenceLongOptionalExtendable() runs on Test_CT {
-  const SequenceLongOptionalExtendable seq01 := {
-    f1:='FEED'O,f2:='FEED'O,f3:='FEED'O,f4:='FEED'O,f5:='FEED'O,f6:='FEED'O,f7:='FEED'O,f8:='FEED'O,f9:='FEED'O,f10:='FEED'O
-  }
-  const SequenceLongOptionalExtendable seq02 := {
-    f1:='FEED'O,f2:=omit,f3:='FEED'O,f4:=omit,f5:='FEED'O,f6:=omit,f7:='FEED'O,f8:=omit,f9:='FEED'O,f10:=omit
-  }
-  
-  if (enc_OER_SequenceLongOptionalExtendable(seq01) == '7FE0FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceLongOptionalExtendable(seq02) == '5540FEEDFEEDFEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_SequenceLongOptionalExtendable('7FE0FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O) == seq01) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_SequenceLongOptionalExtendable('5540FEEDFEEDFEEDFEEDFEED'O) == seq02) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_SequenceOptionalExtended() runs on Test_CT {
-  const SequenceOptionalExtended seq01_enc := {f1:='FEED'O,f2:='FEED'O,e1:='FEED'O,e2:='FEED'O}
-  const SequenceOptionalExtended seq01_dec := {f1:='FEED'O,f2:='FEED'O,f3:=omit,e1:='FEED'O,e2:='FEED'O,e3:=omit}
-  const SequenceOptionalExtended seq02_enc := {f2:='FEED'O,f3:='FEED'O,e2:='FEED'O,e3:='FEED'O}
-  const SequenceOptionalExtended seq02_dec := {f1:=omit,f2:='FEED'O,f3:='FEED'O,e1:=omit,e2:='FEED'O,e3:='FEED'O}
-  
-  if (enc_OER_SequenceOptionalExtended(seq01_enc) == 'C0FEEDFEED0205C002FEED02FEED'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceOptionalExtended(seq02_enc) == 'A0FEEDFEED02056002FEED02FEED'O) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_SequenceOptionalExtended('C0FEEDFEED0205C002FEED02FEED'O) == seq01_dec) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_SequenceOptionalExtended('A0FEEDFEED02056002FEED02FEED'O) == seq02_dec) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_SequenceLongOptionalExtended() runs on Test_CT {
-  const SequenceLongOptionalExtended seq01_enc := {
-    f1:='FEED'O,f2:='FEED'O,e1:='FEED'O,e2:='FEED'O,e4:='FEED'O,e5:='FEED'O,e7:='FEED'O,e8:='FEED'O
-  }
-  const SequenceLongOptionalExtended seq01_dec := {
-    f1:='FEED'O,f2:='FEED'O,f3:=omit,e1:='FEED'O,e2:='FEED'O,e3:=omit,e4:='FEED'O,e5:='FEED'O,e6:=omit,e7:='FEED'O,e8:='FEED'O,e9:=omit
-  }
-  
-  if (enc_OER_SequenceLongOptionalExtended(seq01_enc) == 'C0FEEDFEED0307DB0002FEED02FEED02FEED02FEED02FEED02FEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_SequenceLongOptionalExtended('C0FEEDFEED0307DB0002FEED02FEED02FEED02FEED02FEED02FEED'O) == seq01_dec) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_SequenceOfOctetString() runs on Test_CT {
-  const SequenceOfOctetString seqOfEmpty := {}
-  const SequenceOfOctetString seqOf := {'FEED'O,'FEED'O,'FEED'O,'FEED'O,'FEED'O,'FEED'O}
-
-  if (enc_OER_SequenceOfOctetString(seqOfEmpty) == '0100'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_SequenceOfOctetString(seqOf) == '0106FEEDFEEDFEEDFEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_SequenceOfOctetString('0100'O) == seqOfEmpty) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_SequenceOfOctetString('0106FEEDFEEDFEEDFEEDFEEDFEED'O) == seqOf) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_SequenceOfOctetString('03000006FEEDFEEDFEEDFEEDFEEDFEED'O) == seqOf) {setverdict(pass);} else {setverdict(fail);}
-}
-
-testcase tc_OER_Choice() runs on Test_CT {
-  const Choice choice := {f:='FEED'O}
-  const ChoiceBis choice_bis := {f:='FEED'O}
-  const ChoiceTer choice_ter := {f:='FEED'O}
-  const ChoiceQuatro choice_quatro := {s:='FEED'O}
-
-  if (enc_OER_Choice(choice) == '80FEED'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_ChoiceBis(choice_bis) == 'AAFEED'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_ChoiceTer(choice_ter) == 'BF87C440FEED'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_ChoiceQuatro(choice_quatro) == 'AA02FEED'O) {setverdict(pass);} else {setverdict(fail);}
-  
-  if (dec_OER_Choice('80FEED'O) == choice) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_ChoiceBis('AAFEED'O) == choice_bis) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_ChoiceTer('BF87C440FEED'O) == choice_ter) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_ChoiceQuatro('AA02FEED'O) == choice_quatro) {setverdict(pass);} else {setverdict(fail);}
-
-}
-
-testcase tc_OER_Utf8() runs on Test_CT {
-  const Utf8 str_empty := "" 
-  const Utf8 str := "May the force be with you." 
-  
-  if (enc_OER_Utf8(str_empty) == '00'O) {setverdict(pass);} else {setverdict(fail);}
-  if (enc_OER_Utf8(str) == '1A4D61792074686520666F726365206265207769746820796F752E'O) {setverdict(pass);} else {setverdict(fail);}
-
-  if (dec_OER_Utf8('00'O) == str_empty) {setverdict(pass);} else {setverdict(fail);}
-  if (dec_OER_Utf8('1A4D61792074686520666F726365206265207769746820796F752E'O) == str) {setverdict(pass);} else {setverdict(fail);}
-}
-
-//*********************************************
-// CONTROL PART
-//*********************************************
-
-control {
-  execute(tc_OER_Null());
-  execute(tc_OER_Bool());
-  execute(tc_OER_Uint());
-  execute(tc_OER_Uint8());
-  execute(tc_OER_Uint16());
-  execute(tc_OER_Uint32());
-  execute(tc_OER_Uint64());
-  execute(tc_OER_Int());
-  execute(tc_OER_Sint8());
-  execute(tc_OER_Sint16());
-  execute(tc_OER_Sint32());
-  execute(tc_OER_Sint64());
-  execute(tc_OER_Enum());
-  execute(tc_OER_BitStr());
-  execute(tc_OER_OctetStr());
-  execute(tc_OER_SequenceEmpty());
-  execute(tc_OER_SequenceSimple());
-  execute(tc_OER_SequenceSomeOptional());
-  execute(tc_OER_SequenceAllOptional());
-  execute(tc_OER_SequenceOptionalExtendable());
-  execute(tc_OER_SequenceLongOptionalExtendable());
-  execute(tc_OER_SequenceOptionalExtended());
-  execute(tc_OER_SequenceLongOptionalExtended());
-  execute(tc_OER_SequenceOfOctetString());
-  execute(tc_OER_Choice());
-  execute(tc_OER_Utf8());
-}
-
-<RESULT>
-
-Overall verdict: pass
-
-<END_TC>
-
diff --git a/function_test/OER_EncDec/Temp.cfg b/function_test/OER_EncDec/Temp.cfg
deleted file mode 100644
index d67bc4e4dd1639cb5484c3a1a8f0c15517438ae9..0000000000000000000000000000000000000000
--- a/function_test/OER_EncDec/Temp.cfg
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000-2019 Ericsson Telecom AB
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
-#
-# Contributors:
-#   Balasko, Jeno
-#   Hanko, Matyas
-#
-###############################################################################
-[MODULE_PARAMETERS]
-[LOGGING]
-LogSourceInfo := Yes
-Logfile := "Temp.log"
-FileMask := LOG_ALL
-ConsoleMask := TTCN_WARNING | TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS | DEBUG_ENCDEC
-[EXECUTE]
-Temp
diff --git a/function_test/OER_EncDec/run_test_itspki b/function_test/OER_EncDec/run_test_itspki
deleted file mode 100755
index 07fe41591b02952dfd85db1da8123890bec0f176..0000000000000000000000000000000000000000
--- a/function_test/OER_EncDec/run_test_itspki
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Script parameters are coming from ../Makefile.
-../Tools/SAtester $* ./OER_EncDec_ITSPKI.script
-rm Temp.ttcn
-rm TempA.asn
diff --git a/function_test/OER_EncDec/run_test_personnel_record b/function_test/OER_EncDec/run_test_personnel_record
deleted file mode 100755
index 464f1a76f210156eaec32d8fc1eedb571d1b9a2d..0000000000000000000000000000000000000000
--- a/function_test/OER_EncDec/run_test_personnel_record
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Script parameters are coming from ../Makefile.
-../Tools/SAtester $* ./ISOIEC-8825-7-2015-AnnexA-PersonnelRecord.script
-rm Temp.ttcn
-rm TempA.asn