Cisco IOS Software Command Security Bypass (cisco-sa-20120328-pai)

2012-04-02T00:00:00
ID CISCO-SA-20120328-PAI.NASL
Type nessus
Reporter This script is Copyright (C) 2012-2018 Tenable Network Security, Inc.
Modified 2012-04-02T00:00:00

Description

According to its self-reported version and configuration, the Cisco IOS software running on the remote device is affected by a security bypass vulnerability in the Authentication, Authorization, and Accounting (AAA) feature. An authenticated, remote attacker can exploit this, via an HTTP or HTTPS session, to bypass access restrictions and execute any IOS command that is configured for the authorization level. This vulnerability requires that the HTTP or HTTPS server is enabled on the Cisco IOS device.

                                        
                                            #TRUSTED 6a170b7c6b3abce99d83bcf7bcb3b36bf0fc041f54b3b6cb0e9ec2b47b2cbd357d1c482dc28a95bffb24337b2b96469c44f780758f228106e09d47184982ac0e22b41e5d84de684d96daf36392033f2ec76eaaeac7e5427f5bb88636f1031e01304c527bbf8f04b06b11ba19ceee9cd0cc882587ddda0dc3d44396be62842bddf7bc569eac43f05eaedc6029a8f8047941c6b0923b15ed0c1d19fe9d47133bb5ebec44a1a6b24103fa56b1b80aa559fb29ba9380b3b58991e7bca095d0e5a2ba1c084a3d230308a2126c1c149934e45b75859f1096ead496066fa12e518f0432039cfd49d73f233636741605ded02f1b34aaa469c682a07813fb91dda71082dee09e15deb81dec985a32b45f85bc597a3693ad6af852677fdb4830eb9a1031acc8ff0ab7075d73685b4b4d2419c958b53558dbcecc3186acaf0c66989fffec854fe81447f4c85a8e628b92d7160c7dfceb5f43adadf7abdd6f5a330ebf2eb2d6389304a9ffd6d24c6acaecd91965ed729555182cc1dc6f2b1e079ed4c22a09875b47cc9c253d94dbaa6c9f188591a884b804ad0b3381f9535ec65930dafc8b8196269e6046bde218831893195004b91d4f4ae09e1fe593d1014c1e522b12636d029eb9416658126b0564121c543276a4f58c458e921b0c2a61db83f478d46cbd4cdf3666b3846970ffc8161887ece0214ab896bb1f7a1ee4ba84059da9e9a395
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Cisco Security Advisory cisco-sa-20120328-pai.
# The text itself is copyright (C) Cisco
#

include("compat.inc");

if (description)
{
  script_id(58570);
  script_version("1.15");
  script_set_attribute(attribute:"plugin_modification_date", value:"2018/11/15");

  script_cve_id("CVE-2012-0384");
  script_bugtraq_id(52755);
  script_xref(name:"CISCO-BUG-ID", value:"CSCtr91106");
  script_xref(name:"CISCO-SA", value:"cisco-sa-20120328-pai");

  script_name(english:"Cisco IOS Software Command Security Bypass (cisco-sa-20120328-pai)");
  script_summary(english:"Checks the IOS version.");

  script_set_attribute(attribute:"synopsis", value:
"The remote device is missing a vendor-supplied security patch.");
  script_set_attribute(attribute:"description", value:
"According to its self-reported version and configuration, the Cisco
IOS software running on the remote device is affected by a security
bypass vulnerability in the Authentication, Authorization, and
Accounting (AAA) feature. An authenticated, remote attacker can
exploit this, via an HTTP or HTTPS session, to bypass access
restrictions and execute any IOS command that is configured for the
authorization level. This vulnerability requires that the HTTP or
HTTPS server is enabled on the Cisco IOS device.");
  # https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20120328-pai
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?1e254f1e");
  script_set_attribute(attribute:"solution", value:
"Apply the relevant patch referenced in Cisco Security Advisory
cisco-sa-20120328-pai. Alternatively, the HTTP server may be disabled
as a workaround.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:S/C:C/I:C/A:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"vuln_publication_date", value:"2012/03/28");
  script_set_attribute(attribute:"patch_publication_date", value:"2012/03/28");
  script_set_attribute(attribute:"plugin_publication_date", value:"2012/04/02");

  script_set_attribute(attribute:"plugin_type", value:"combined");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:cisco:ios");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"CISCO");

  script_copyright(english:"This script is Copyright (C) 2012-2018 Tenable Network Security, Inc.");

  script_dependencies("cisco_ios_version.nasl");
  script_require_keys("Host/Cisco/IOS/Version");

  exit(0);
}

include("audit.inc");
include("cisco_func.inc");
include("cisco_kb_cmd_func.inc");

flag = 0;
override = 0;

version = get_kb_item_or_exit("Host/Cisco/IOS/Version");
if ( version == '12.2(13)ZF' ) flag++;
if ( version == '12.2(13)ZF1' ) flag++;
if ( version == '12.2(13)ZF2' ) flag++;
if ( version == '12.2(13)ZH' ) flag++;
if ( version == '12.2(13)ZH1' ) flag++;
if ( version == '12.2(13)ZH10' ) flag++;
if ( version == '12.2(13)ZH2' ) flag++;
if ( version == '12.2(13)ZH3' ) flag++;
if ( version == '12.2(13)ZH4' ) flag++;
if ( version == '12.2(13)ZH5' ) flag++;
if ( version == '12.2(13)ZH6' ) flag++;
if ( version == '12.2(13)ZH7' ) flag++;
if ( version == '12.2(13)ZH8' ) flag++;
if ( version == '12.2(13)ZH9' ) flag++;
if ( version == '12.2(15)ZL' ) flag++;
if ( version == '12.2(15)ZL1' ) flag++;
if ( version == '12.2(15)ZN' ) flag++;
if ( version == '12.2(25)EW' ) flag++;
if ( version == '12.2(25)EWA' ) flag++;
if ( version == '12.2(25)EWA1' ) flag++;
if ( version == '12.2(25)EWA10' ) flag++;
if ( version == '12.2(25)EWA11' ) flag++;
if ( version == '12.2(25)EWA12' ) flag++;
if ( version == '12.2(25)EWA13' ) flag++;
if ( version == '12.2(25)EWA14' ) flag++;
if ( version == '12.2(25)EWA2' ) flag++;
if ( version == '12.2(25)EWA3' ) flag++;
if ( version == '12.2(25)EWA4' ) flag++;
if ( version == '12.2(25)EWA5' ) flag++;
if ( version == '12.2(25)EWA6' ) flag++;
if ( version == '12.2(25)EWA7' ) flag++;
if ( version == '12.2(25)EWA8' ) flag++;
if ( version == '12.2(25)EWA9' ) flag++;
if ( version == '12.2(25)EY' ) flag++;
if ( version == '12.2(25)EY1' ) flag++;
if ( version == '12.2(25)EY2' ) flag++;
if ( version == '12.2(25)EY3' ) flag++;
if ( version == '12.2(25)EY4' ) flag++;
if ( version == '12.2(25)EZ' ) flag++;
if ( version == '12.2(25)EZ1' ) flag++;
if ( version == '12.2(25)FX' ) flag++;
if ( version == '12.2(25)FY' ) flag++;
if ( version == '12.2(25)FZ' ) flag++;
if ( version == '12.2(25)SE' ) flag++;
if ( version == '12.2(25)SE2' ) flag++;
if ( version == '12.2(25)SE3' ) flag++;
if ( version == '12.2(25)SEA' ) flag++;
if ( version == '12.2(25)SEB' ) flag++;
if ( version == '12.2(25)SEB1' ) flag++;
if ( version == '12.2(25)SEB2' ) flag++;
if ( version == '12.2(25)SEB3' ) flag++;
if ( version == '12.2(25)SEB4' ) flag++;
if ( version == '12.2(25)SEC' ) flag++;
if ( version == '12.2(25)SEC1' ) flag++;
if ( version == '12.2(25)SEC2' ) flag++;
if ( version == '12.2(25)SED' ) flag++;
if ( version == '12.2(25)SED1' ) flag++;
if ( version == '12.2(25)SEE' ) flag++;
if ( version == '12.2(25)SEE1' ) flag++;
if ( version == '12.2(25)SEE2' ) flag++;
if ( version == '12.2(25)SEE3' ) flag++;
if ( version == '12.2(25)SEE4' ) flag++;
if ( version == '12.2(25)SEF' ) flag++;
if ( version == '12.2(25)SEF1' ) flag++;
if ( version == '12.2(25)SEF2' ) flag++;
if ( version == '12.2(25)SEF3' ) flag++;
if ( version == '12.2(25)SEG' ) flag++;
if ( version == '12.2(25)SEG1' ) flag++;
if ( version == '12.2(25)SEG2' ) flag++;
if ( version == '12.2(25)SEG3' ) flag++;
if ( version == '12.2(25)SEG4' ) flag++;
if ( version == '12.2(25)SEG5' ) flag++;
if ( version == '12.2(25)SEG6' ) flag++;
if ( version == '12.2(25)SG' ) flag++;
if ( version == '12.2(25)SG1' ) flag++;
if ( version == '12.2(25)SG2' ) flag++;
if ( version == '12.2(25)SG3' ) flag++;
if ( version == '12.2(25)SG4' ) flag++;
if ( version == '12.2(31)SB' ) flag++;
if ( version == '12.2(31)SB1' ) flag++;
if ( version == '12.2(31)SB10' ) flag++;
if ( version == '12.2(31)SB10a' ) flag++;
if ( version == '12.2(31)SB10b' ) flag++;
if ( version == '12.2(31)SB10c' ) flag++;
if ( version == '12.2(31)SB10d' ) flag++;
if ( version == '12.2(31)SB10e' ) flag++;
if ( version == '12.2(31)SB11' ) flag++;
if ( version == '12.2(31)SB11a' ) flag++;
if ( version == '12.2(31)SB11b' ) flag++;
if ( version == '12.2(31)SB12' ) flag++;
if ( version == '12.2(31)SB12a' ) flag++;
if ( version == '12.2(31)SB13' ) flag++;
if ( version == '12.2(31)SB14' ) flag++;
if ( version == '12.2(31)SB15' ) flag++;
if ( version == '12.2(31)SB16' ) flag++;
if ( version == '12.2(31)SB17' ) flag++;
if ( version == '12.2(31)SB18' ) flag++;
if ( version == '12.2(31)SB19' ) flag++;
if ( version == '12.2(31)SB1a' ) flag++;
if ( version == '12.2(31)SB1b' ) flag++;
if ( version == '12.2(31)SB1c' ) flag++;
if ( version == '12.2(31)SB1d' ) flag++;
if ( version == '12.2(31)SB1e' ) flag++;
if ( version == '12.2(31)SB1f' ) flag++;
if ( version == '12.2(31)SB1g' ) flag++;
if ( version == '12.2(31)SB2' ) flag++;
if ( version == '12.2(31)SB20' ) flag++;
if ( version == '12.2(31)SB21' ) flag++;
if ( version == '12.2(31)SB2a' ) flag++;
if ( version == '12.2(31)SB3' ) flag++;
if ( version == '12.2(31)SB3a' ) flag++;
if ( version == '12.2(31)SB3b' ) flag++;
if ( version == '12.2(31)SB3c' ) flag++;
if ( version == '12.2(31)SB3x' ) flag++;
if ( version == '12.2(31)SB4' ) flag++;
if ( version == '12.2(31)SB4a' ) flag++;
if ( version == '12.2(31)SB5' ) flag++;
if ( version == '12.2(31)SB5a' ) flag++;
if ( version == '12.2(31)SB6' ) flag++;
if ( version == '12.2(31)SB7' ) flag++;
if ( version == '12.2(31)SB8' ) flag++;
if ( version == '12.2(31)SB8a' ) flag++;
if ( version == '12.2(31)SB9' ) flag++;
if ( version == '12.2(31)SB9a' ) flag++;
if ( version == '12.2(31)SB9b' ) flag++;
if ( version == '12.2(31)SG' ) flag++;
if ( version == '12.2(31)SG1' ) flag++;
if ( version == '12.2(31)SG2' ) flag++;
if ( version == '12.2(31)SG3' ) flag++;
if ( version == '12.2(31)SGA' ) flag++;
if ( version == '12.2(31)SGA1' ) flag++;
if ( version == '12.2(31)SGA10' ) flag++;
if ( version == '12.2(31)SGA11' ) flag++;
if ( version == '12.2(31)SGA2' ) flag++;
if ( version == '12.2(31)SGA3' ) flag++;
if ( version == '12.2(31)SGA4' ) flag++;
if ( version == '12.2(31)SGA5' ) flag++;
if ( version == '12.2(31)SGA6' ) flag++;
if ( version == '12.2(31)SGA7' ) flag++;
if ( version == '12.2(31)SGA8' ) flag++;
if ( version == '12.2(31)SGA9' ) flag++;
if ( version == '12.2(31)XN' ) flag++;
if ( version == '12.2(31)XN1' ) flag++;
if ( version == '12.2(31)XN2' ) flag++;
if ( version == '12.2(31)XN3' ) flag++;
if ( version == '12.2(31)ZV' ) flag++;
if ( version == '12.2(31)ZV0a' ) flag++;
if ( version == '12.2(31)ZV0b' ) flag++;
if ( version == '12.2(31)ZV0c' ) flag++;
if ( version == '12.2(31)ZV0d' ) flag++;
if ( version == '12.2(31)ZV0e' ) flag++;
if ( version == '12.2(31)ZV0f' ) flag++;
if ( version == '12.2(31)ZV0g' ) flag++;
if ( version == '12.2(31)ZV0h' ) flag++;
if ( version == '12.2(31)ZV0i' ) flag++;
if ( version == '12.2(31)ZV0j' ) flag++;
if ( version == '12.2(31)ZV1a' ) flag++;
if ( version == '12.2(31)ZV1b' ) flag++;
if ( version == '12.2(31)ZV1c' ) flag++;
if ( version == '12.2(31)ZV2' ) flag++;
if ( version == '12.2(31)ZV2a' ) flag++;
if ( version == '12.2(31)ZV2d' ) flag++;
if ( version == '12.2(31a)XN2' ) flag++;
if ( version == '12.2(31a)XN3' ) flag++;
if ( version == '12.2(31b)XN2' ) flag++;
if ( version == '12.2(31b)XN3' ) flag++;
if ( version == '12.2(31c)XN2' ) flag++;
if ( version == '12.2(31c)XN3' ) flag++;
if ( version == '12.2(33)IRA' ) flag++;
if ( version == '12.2(33)IRB' ) flag++;
if ( version == '12.2(33)IRC' ) flag++;
if ( version == '12.2(33)IRD' ) flag++;
if ( version == '12.2(33)IRE' ) flag++;
if ( version == '12.2(33)IRE1' ) flag++;
if ( version == '12.2(33)IRE2' ) flag++;
if ( version == '12.2(33)IRF' ) flag++;
if ( version == '12.2(33)IRG' ) flag++;
if ( version == '12.2(33)IRG1' ) flag++;
if ( version == '12.2(33)IRH' ) flag++;
if ( version == '12.2(33)MRA' ) flag++;
if ( version == '12.2(33)MRB' ) flag++;
if ( version == '12.2(33)MRB1' ) flag++;
if ( version == '12.2(33)MRB2' ) flag++;
if ( version == '12.2(33)MRB3' ) flag++;
if ( version == '12.2(33)MRB4' ) flag++;
if ( version == '12.2(33)MRB5' ) flag++;
if ( version == '12.2(33)MRB6' ) flag++;
if ( version == '12.2(33)SB' ) flag++;
if ( version == '12.2(33)SB1' ) flag++;
if ( version == '12.2(33)SB10' ) flag++;
if ( version == '12.2(33)SB11' ) flag++;
if ( version == '12.2(33)SB1a' ) flag++;
if ( version == '12.2(33)SB1b' ) flag++;
if ( version == '12.2(33)SB2' ) flag++;
if ( version == '12.2(33)SB3' ) flag++;
if ( version == '12.2(33)SB4' ) flag++;
if ( version == '12.2(33)SB5' ) flag++;
if ( version == '12.2(33)SB6' ) flag++;
if ( version == '12.2(33)SB6a' ) flag++;
if ( version == '12.2(33)SB6aa' ) flag++;
if ( version == '12.2(33)SB6b' ) flag++;
if ( version == '12.2(33)SB7' ) flag++;
if ( version == '12.2(33)SB8' ) flag++;
if ( version == '12.2(33)SB8b' ) flag++;
if ( version == '12.2(33)SB8c' ) flag++;
if ( version == '12.2(33)SB8d' ) flag++;
if ( version == '12.2(33)SB8e' ) flag++;
if ( version == '12.2(33)SB8f' ) flag++;
if ( version == '12.2(33)SB9' ) flag++;
if ( version == '12.2(33)SCA' ) flag++;
if ( version == '12.2(33)SCA1' ) flag++;
if ( version == '12.2(33)SCA2' ) flag++;
if ( version == '12.2(33)SCB' ) flag++;
if ( version == '12.2(33)SCB1' ) flag++;
if ( version == '12.2(33)SCB10' ) flag++;
if ( version == '12.2(33)SCB11' ) flag++;
if ( version == '12.2(33)SCB2' ) flag++;
if ( version == '12.2(33)SCB3' ) flag++;
if ( version == '12.2(33)SCB4' ) flag++;
if ( version == '12.2(33)SCB5' ) flag++;
if ( version == '12.2(33)SCB6' ) flag++;
if ( version == '12.2(33)SCB7' ) flag++;
if ( version == '12.2(33)SCB8' ) flag++;
if ( version == '12.2(33)SCB9' ) flag++;
if ( version == '12.2(33)SCC' ) flag++;
if ( version == '12.2(33)SCC1' ) flag++;
if ( version == '12.2(33)SCC2' ) flag++;
if ( version == '12.2(33)SCC3' ) flag++;
if ( version == '12.2(33)SCC4' ) flag++;
if ( version == '12.2(33)SCC5' ) flag++;
if ( version == '12.2(33)SCC6' ) flag++;
if ( version == '12.2(33)SCC7' ) flag++;
if ( version == '12.2(33)SCD' ) flag++;
if ( version == '12.2(33)SCD1' ) flag++;
if ( version == '12.2(33)SCD2' ) flag++;
if ( version == '12.2(33)SCD3' ) flag++;
if ( version == '12.2(33)SCD4' ) flag++;
if ( version == '12.2(33)SCD5' ) flag++;
if ( version == '12.2(33)SCD6' ) flag++;
if ( version == '12.2(33)SCD7' ) flag++;
if ( version == '12.2(33)SCD8' ) flag++;
if ( version == '12.2(33)SCE' ) flag++;
if ( version == '12.2(33)SCE1' ) flag++;
if ( version == '12.2(33)SCE2' ) flag++;
if ( version == '12.2(33)SCE3' ) flag++;
if ( version == '12.2(33)SCE4' ) flag++;
if ( version == '12.2(33)SCF' ) flag++;
if ( version == '12.2(33)SCF1' ) flag++;
if ( version == '12.2(33)SRA' ) flag++;
if ( version == '12.2(33)SRA1' ) flag++;
if ( version == '12.2(33)SRA2' ) flag++;
if ( version == '12.2(33)SRA3' ) flag++;
if ( version == '12.2(33)SRA4' ) flag++;
if ( version == '12.2(33)SRA5' ) flag++;
if ( version == '12.2(33)SRA6' ) flag++;
if ( version == '12.2(33)SRA7' ) flag++;
if ( version == '12.2(33)SRB' ) flag++;
if ( version == '12.2(33)SRB1' ) flag++;
if ( version == '12.2(33)SRB2' ) flag++;
if ( version == '12.2(33)SRB3' ) flag++;
if ( version == '12.2(33)SRB4' ) flag++;
if ( version == '12.2(33)SRB5' ) flag++;
if ( version == '12.2(33)SRB5a' ) flag++;
if ( version == '12.2(33)SRB6' ) flag++;
if ( version == '12.2(33)SRB7' ) flag++;
if ( version == '12.2(33)SRC' ) flag++;
if ( version == '12.2(33)SRC1' ) flag++;
if ( version == '12.2(33)SRC2' ) flag++;
if ( version == '12.2(33)SRC3' ) flag++;
if ( version == '12.2(33)SRC4' ) flag++;
if ( version == '12.2(33)SRC5' ) flag++;
if ( version == '12.2(33)SRC6' ) flag++;
if ( version == '12.2(33)SRD' ) flag++;
if ( version == '12.2(33)SRD1' ) flag++;
if ( version == '12.2(33)SRD2' ) flag++;
if ( version == '12.2(33)SRD2a' ) flag++;
if ( version == '12.2(33)SRD3' ) flag++;
if ( version == '12.2(33)SRD4' ) flag++;
if ( version == '12.2(33)SRD4a' ) flag++;
if ( version == '12.2(33)SRD5' ) flag++;
if ( version == '12.2(33)SRD6' ) flag++;
if ( version == '12.2(33)SRD7' ) flag++;
if ( version == '12.2(33)SRE' ) flag++;
if ( version == '12.2(33)SRE0a' ) flag++;
if ( version == '12.2(33)SRE1' ) flag++;
if ( version == '12.2(33)SRE2' ) flag++;
if ( version == '12.2(33)SRE3' ) flag++;
if ( version == '12.2(33)SRE4' ) flag++;
if ( version == '12.2(33)SRE5' ) flag++;
if ( version == '12.2(33)STE0' ) flag++;
if ( version == '12.2(33)SXH' ) flag++;
if ( version == '12.2(33)SXH0a' ) flag++;
if ( version == '12.2(33)SXH1' ) flag++;
if ( version == '12.2(33)SXH2' ) flag++;
if ( version == '12.2(33)SXH2a' ) flag++;
if ( version == '12.2(33)SXH3' ) flag++;
if ( version == '12.2(33)SXH3a' ) flag++;
if ( version == '12.2(33)SXH4' ) flag++;
if ( version == '12.2(33)SXH5' ) flag++;
if ( version == '12.2(33)SXH6' ) flag++;
if ( version == '12.2(33)SXH7' ) flag++;
if ( version == '12.2(33)SXH7v' ) flag++;
if ( version == '12.2(33)SXH7w' ) flag++;
if ( version == '12.2(33)SXH8' ) flag++;
if ( version == '12.2(33)SXH8a' ) flag++;
if ( version == '12.2(33)SXH8b' ) flag++;
if ( version == '12.2(33)SXI' ) flag++;
if ( version == '12.2(33)SXI1' ) flag++;
if ( version == '12.2(33)SXI2' ) flag++;
if ( version == '12.2(33)SXI2a' ) flag++;
if ( version == '12.2(33)SXI3' ) flag++;
if ( version == '12.2(33)SXI3a' ) flag++;
if ( version == '12.2(33)SXI3z' ) flag++;
if ( version == '12.2(33)SXI4' ) flag++;
if ( version == '12.2(33)SXI4a' ) flag++;
if ( version == '12.2(33)SXI5' ) flag++;
if ( version == '12.2(33)SXI5a' ) flag++;
if ( version == '12.2(33)SXI6' ) flag++;
if ( version == '12.2(33)SXI7' ) flag++;
if ( version == '12.2(33)SXI8' ) flag++;
if ( version == '12.2(33)SXI8a' ) flag++;
if ( version == '12.2(33)SXJ' ) flag++;
if ( version == '12.2(33)SXJ1' ) flag++;
if ( version == '12.2(33)XN' ) flag++;
if ( version == '12.2(33)XN1' ) flag++;
if ( version == '12.2(33)XNA2' ) flag++;
if ( version == '12.2(33)XNB' ) flag++;
if ( version == '12.2(33)XNB1' ) flag++;
if ( version == '12.2(33)XNB2' ) flag++;
if ( version == '12.2(33)XNB3' ) flag++;
if ( version == '12.2(33)XNC' ) flag++;
if ( version == '12.2(33)XNC0b' ) flag++;
if ( version == '12.2(33)XNC0c' ) flag++;
if ( version == '12.2(33)XNC0e' ) flag++;
if ( version == '12.2(33)XNC1' ) flag++;
if ( version == '12.2(33)XNC2' ) flag++;
if ( version == '12.2(33)XND' ) flag++;
if ( version == '12.2(33)XND1' ) flag++;
if ( version == '12.2(33)XND2' ) flag++;
if ( version == '12.2(33)XND2t' ) flag++;
if ( version == '12.2(33)XND3' ) flag++;
if ( version == '12.2(33)XND4' ) flag++;
if ( version == '12.2(33)XNE' ) flag++;
if ( version == '12.2(33)XNE1' ) flag++;
if ( version == '12.2(33)XNE1xb' ) flag++;
if ( version == '12.2(33)XNE2' ) flag++;
if ( version == '12.2(33)XNE3' ) flag++;
if ( version == '12.2(33)XNF' ) flag++;
if ( version == '12.2(33)XNF1' ) flag++;
if ( version == '12.2(33)XNF2' ) flag++;
if ( version == '12.2(33)ZI' ) flag++;
if ( version == '12.2(33)ZW' ) flag++;
if ( version == '12.2(33)ZZ' ) flag++;
if ( version == '12.2(34)SB1' ) flag++;
if ( version == '12.2(34)SB2' ) flag++;
if ( version == '12.2(34)SB3' ) flag++;
if ( version == '12.2(34)SB4' ) flag++;
if ( version == '12.2(34)SB4a' ) flag++;
if ( version == '12.2(34)SB4b' ) flag++;
if ( version == '12.2(34)SB4c' ) flag++;
if ( version == '12.2(34)SB4d' ) flag++;
if ( version == '12.2(35)EX' ) flag++;
if ( version == '12.2(35)EX1' ) flag++;
if ( version == '12.2(35)EX2' ) flag++;
if ( version == '12.2(35)SE' ) flag++;
if ( version == '12.2(35)SE1' ) flag++;
if ( version == '12.2(35)SE2' ) flag++;
if ( version == '12.2(35)SE3' ) flag++;
if ( version == '12.2(35)SE4' ) flag++;
if ( version == '12.2(35)SE5' ) flag++;
if ( version == '12.2(37)EX' ) flag++;
if ( version == '12.2(37)EY' ) flag++;
if ( version == '12.2(37)SE' ) flag++;
if ( version == '12.2(37)SE1' ) flag++;
if ( version == '12.2(37)SG' ) flag++;
if ( version == '12.2(37)SG1' ) flag++;
if ( version == '12.2(40)EX' ) flag++;
if ( version == '12.2(40)EX1' ) flag++;
if ( version == '12.2(40)EX2' ) flag++;
if ( version == '12.2(40)EX3' ) flag++;
if ( version == '12.2(40)SE' ) flag++;
if ( version == '12.2(40)SE1' ) flag++;
if ( version == '12.2(40)SE2' ) flag++;
if ( version == '12.2(40)SG' ) flag++;
if ( version == '12.2(40)XO' ) flag++;
if ( version == '12.2(44)EX' ) flag++;
if ( version == '12.2(44)EX1' ) flag++;
if ( version == '12.2(44)SE' ) flag++;
if ( version == '12.2(44)SE1' ) flag++;
if ( version == '12.2(44)SE2' ) flag++;
if ( version == '12.2(44)SE3' ) flag++;
if ( version == '12.2(44)SE4' ) flag++;
if ( version == '12.2(44)SE5' ) flag++;
if ( version == '12.2(44)SE6' ) flag++;
if ( version == '12.2(44)SG' ) flag++;
if ( version == '12.2(44)SG1' ) flag++;
if ( version == '12.2(44)SQ' ) flag++;
if ( version == '12.2(44)SQ1' ) flag++;
if ( version == '12.2(44)SQ2' ) flag++;
if ( version == '12.2(46)EX' ) flag++;
if ( version == '12.2(46)EY' ) flag++;
if ( version == '12.2(46)SE' ) flag++;
if ( version == '12.2(46)SE1' ) flag++;
if ( version == '12.2(46)SE2' ) flag++;
if ( version == '12.2(46)SG' ) flag++;
if ( version == '12.2(46)SG1' ) flag++;
if ( version == '12.2(50)SE' ) flag++;
if ( version == '12.2(50)SE1' ) flag++;
if ( version == '12.2(50)SE2' ) flag++;
if ( version == '12.2(50)SE3' ) flag++;
if ( version == '12.2(50)SE4' ) flag++;
if ( version == '12.2(50)SE5' ) flag++;
if ( version == '12.2(50)SG' ) flag++;
if ( version == '12.2(50)SG1' ) flag++;
if ( version == '12.2(50)SG2' ) flag++;
if ( version == '12.2(50)SG3' ) flag++;
if ( version == '12.2(50)SG4' ) flag++;
if ( version == '12.2(50)SG5' ) flag++;
if ( version == '12.2(50)SG6' ) flag++;
if ( version == '12.2(50)SG7' ) flag++;
if ( version == '12.2(50)SG8' ) flag++;
if ( version == '12.2(50)SQ' ) flag++;
if ( version == '12.2(50)SQ1' ) flag++;
if ( version == '12.2(50)SQ2' ) flag++;
if ( version == '12.2(50)SQ3' ) flag++;
if ( version == '12.2(50)SQ4' ) flag++;
if ( version == '12.2(50)SY' ) flag++;
if ( version == '12.2(50)SY1' ) flag++;
if ( version == '12.2(52)EX' ) flag++;
if ( version == '12.2(52)EX1' ) flag++;
if ( version == '12.2(52)EY' ) flag++;
if ( version == '12.2(52)EY1' ) flag++;
if ( version == '12.2(52)EY1A' ) flag++;
if ( version == '12.2(52)EY1b' ) flag++;
if ( version == '12.2(52)EY1c' ) flag++;
if ( version == '12.2(52)EY2' ) flag++;
if ( version == '12.2(52)EY2a' ) flag++;
if ( version == '12.2(52)EY3' ) flag++;
if ( version == '12.2(52)EY3a' ) flag++;
if ( version == '12.2(52)SE' ) flag++;
if ( version == '12.2(52)SE1' ) flag++;
if ( version == '12.2(52)SG' ) flag++;
if ( version == '12.2(52)XO' ) flag++;
if ( version == '12.2(53)EX' ) flag++;
if ( version == '12.2(53)EY' ) flag++;
if ( version == '12.2(53)EZ' ) flag++;
if ( version == '12.2(53)SE' ) flag++;
if ( version == '12.2(53)SE1' ) flag++;
if ( version == '12.2(53)SE2' ) flag++;
if ( version == '12.2(53)SG' ) flag++;
if ( version == '12.2(53)SG1' ) flag++;
if ( version == '12.2(53)SG2' ) flag++;
if ( version == '12.2(53)SG3' ) flag++;
if ( version == '12.2(53)SG4' ) flag++;
if ( version == '12.2(53)SG5' ) flag++;
if ( version == '12.2(53)SG6' ) flag++;
if ( version == '12.2(54)SE' ) flag++;
if ( version == '12.2(54)SG' ) flag++;
if ( version == '12.2(54)SG1' ) flag++;
if ( version == '12.2(54)WO' ) flag++;
if ( version == '12.2(54)XO' ) flag++;
if ( version == '12.2(55)EX' ) flag++;
if ( version == '12.2(55)EX1' ) flag++;
if ( version == '12.2(55)EX2' ) flag++;
if ( version == '12.2(55)EX3' ) flag++;
if ( version == '12.2(55)EY' ) flag++;
if ( version == '12.2(55)EZ' ) flag++;
if ( version == '12.2(55)SE' ) flag++;
if ( version == '12.2(55)SE1' ) flag++;
if ( version == '12.2(55)SE2' ) flag++;
if ( version == '12.2(55)SE3' ) flag++;
if ( version == '12.2(55)SE4' ) flag++;
if ( version == '12.2(58)EY' ) flag++;
if ( version == '12.2(58)EY1' ) flag++;
if ( version == '12.2(58)SE' ) flag++;
if ( version == '12.2(58)SE1' ) flag++;
if ( version == '12.2(58)SE2' ) flag++;
if ( version == '12.3(1)' ) flag++;
if ( version == '12.3(10)' ) flag++;
if ( version == '12.3(10a)' ) flag++;
if ( version == '12.3(10a)M0' ) flag++;
if ( version == '12.3(10b)' ) flag++;
if ( version == '12.3(10c)' ) flag++;
if ( version == '12.3(10d)' ) flag++;
if ( version == '12.3(10e)' ) flag++;
if ( version == '12.3(10f)' ) flag++;
if ( version == '12.3(11)JA' ) flag++;
if ( version == '12.3(11)JA1' ) flag++;
if ( version == '12.3(11)JA3' ) flag++;
if ( version == '12.3(11)JA4' ) flag++;
if ( version == '12.3(11)T' ) flag++;
if ( version == '12.3(11)T1' ) flag++;
if ( version == '12.3(11)T10' ) flag++;
if ( version == '12.3(11)T11' ) flag++;
if ( version == '12.3(11)T12' ) flag++;
if ( version == '12.3(11)T2' ) flag++;
if ( version == '12.3(11)T2a' ) flag++;
if ( version == '12.3(11)T3' ) flag++;
if ( version == '12.3(11)T4' ) flag++;
if ( version == '12.3(11)T5' ) flag++;
if ( version == '12.3(11)T6' ) flag++;
if ( version == '12.3(11)T7' ) flag++;
if ( version == '12.3(11)T8' ) flag++;
if ( version == '12.3(11)T9' ) flag++;
if ( version == '12.3(11)TO3' ) flag++;
if ( version == '12.3(11)XL' ) flag++;
if ( version == '12.3(11)XL1' ) flag++;
if ( version == '12.3(11)XL2' ) flag++;
if ( version == '12.3(11)XL3' ) flag++;
if ( version == '12.3(11)YF' ) flag++;
if ( version == '12.3(11)YF1' ) flag++;
if ( version == '12.3(11)YF2' ) flag++;
if ( version == '12.3(11)YF3' ) flag++;
if ( version == '12.3(11)YF4' ) flag++;
if ( version == '12.3(11)YJ' ) flag++;
if ( version == '12.3(11)YK' ) flag++;
if ( version == '12.3(11)YK1' ) flag++;
if ( version == '12.3(11)YK2' ) flag++;
if ( version == '12.3(11)YK3' ) flag++;
if ( version == '12.3(11)YL' ) flag++;
if ( version == '12.3(11)YL1' ) flag++;
if ( version == '12.3(11)YL2' ) flag++;
if ( version == '12.3(11)YN' ) flag++;
if ( version == '12.3(11)YR' ) flag++;
if ( version == '12.3(11)YR1' ) flag++;
if ( version == '12.3(11)YS' ) flag++;
if ( version == '12.3(11)YS1' ) flag++;
if ( version == '12.3(11)YS2' ) flag++;
if ( version == '12.3(11)YZ' ) flag++;
if ( version == '12.3(11)YZ1' ) flag++;
if ( version == '12.3(11)YZ2' ) flag++;
if ( version == '12.3(11)ZB' ) flag++;
if ( version == '12.3(11)ZB1' ) flag++;
if ( version == '12.3(11)ZB2' ) flag++;
if ( version == '12.3(12)' ) flag++;
if ( version == '12.3(12a)' ) flag++;
if ( version == '12.3(12b)' ) flag++;
if ( version == '12.3(12c)' ) flag++;
if ( version == '12.3(12d)' ) flag++;
if ( version == '12.3(12e)' ) flag++;
if ( version == '12.3(13)' ) flag++;
if ( version == '12.3(13a)' ) flag++;
if ( version == '12.3(13a)BC' ) flag++;
if ( version == '12.3(13a)BC1' ) flag++;
if ( version == '12.3(13a)BC2' ) flag++;
if ( version == '12.3(13a)BC3' ) flag++;
if ( version == '12.3(13a)BC4' ) flag++;
if ( version == '12.3(13a)BC5' ) flag++;
if ( version == '12.3(13a)BC6' ) flag++;
if ( version == '12.3(13b)' ) flag++;
if ( version == '12.3(14)T' ) flag++;
if ( version == '12.3(14)T1' ) flag++;
if ( version == '12.3(14)T2' ) flag++;
if ( version == '12.3(14)T3' ) flag++;
if ( version == '12.3(14)T4' ) flag++;
if ( version == '12.3(14)T5' ) flag++;
if ( version == '12.3(14)T6' ) flag++;
if ( version == '12.3(14)T7' ) flag++;
if ( version == '12.3(14)YM1' ) flag++;
if ( version == '12.3(14)YM10' ) flag++;
if ( version == '12.3(14)YM11' ) flag++;
if ( version == '12.3(14)YM12' ) flag++;
if ( version == '12.3(14)YM13' ) flag++;
if ( version == '12.3(14)YM2' ) flag++;
if ( version == '12.3(14)YM3' ) flag++;
if ( version == '12.3(14)YM4' ) flag++;
if ( version == '12.3(14)YM5' ) flag++;
if ( version == '12.3(14)YM6' ) flag++;
if ( version == '12.3(14)YM7' ) flag++;
if ( version == '12.3(14)YM8' ) flag++;
if ( version == '12.3(14)YM9' ) flag++;
if ( version == '12.3(14)YQ' ) flag++;
if ( version == '12.3(14)YQ1' ) flag++;
if ( version == '12.3(14)YQ2' ) flag++;
if ( version == '12.3(14)YQ3' ) flag++;
if ( version == '12.3(14)YQ4' ) flag++;
if ( version == '12.3(14)YQ5' ) flag++;
if ( version == '12.3(14)YQ6' ) flag++;
if ( version == '12.3(14)YQ7' ) flag++;
if ( version == '12.3(14)YQ8' ) flag++;
if ( version == '12.3(14)YT' ) flag++;
if ( version == '12.3(14)YT1' ) flag++;
if ( version == '12.3(14)YU' ) flag++;
if ( version == '12.3(14)YU1' ) flag++;
if ( version == '12.3(14)YX' ) flag++;
if ( version == '12.3(14)YX1' ) flag++;
if ( version == '12.3(14)YX10' ) flag++;
if ( version == '12.3(14)YX11' ) flag++;
if ( version == '12.3(14)YX12' ) flag++;
if ( version == '12.3(14)YX13' ) flag++;
if ( version == '12.3(14)YX14' ) flag++;
if ( version == '12.3(14)YX15' ) flag++;
if ( version == '12.3(14)YX16' ) flag++;
if ( version == '12.3(14)YX17' ) flag++;
if ( version == '12.3(14)YX2' ) flag++;
if ( version == '12.3(14)YX3' ) flag++;
if ( version == '12.3(14)YX4' ) flag++;
if ( version == '12.3(14)YX7' ) flag++;
if ( version == '12.3(14)YX8' ) flag++;
if ( version == '12.3(14)YX9' ) flag++;
if ( version == '12.3(15)' ) flag++;
if ( version == '12.3(15a)' ) flag++;
if ( version == '12.3(15b)' ) flag++;
if ( version == '12.3(16)' ) flag++;
if ( version == '12.3(16a)' ) flag++;
if ( version == '12.3(17)' ) flag++;
if ( version == '12.3(17a)' ) flag++;
if ( version == '12.3(17a)BC' ) flag++;
if ( version == '12.3(17a)BC1' ) flag++;
if ( version == '12.3(17a)BC2' ) flag++;
if ( version == '12.3(17b)' ) flag++;
if ( version == '12.3(17b)BC3' ) flag++;
if ( version == '12.3(17b)BC4' ) flag++;
if ( version == '12.3(17b)BC5' ) flag++;
if ( version == '12.3(17b)BC6' ) flag++;
if ( version == '12.3(17b)BC7' ) flag++;
if ( version == '12.3(17b)BC8' ) flag++;
if ( version == '12.3(17b)BC9' ) flag++;
if ( version == '12.3(17c)' ) flag++;
if ( version == '12.3(18)' ) flag++;
if ( version == '12.3(18a)' ) flag++;
if ( version == '12.3(19)' ) flag++;
if ( version == '12.3(19a)' ) flag++;
if ( version == '12.3(1a)' ) flag++;
if ( version == '12.3(1a)B' ) flag++;
if ( version == '12.3(1a)BW' ) flag++;
if ( version == '12.3(2)JA' ) flag++;
if ( version == '12.3(2)JA1' ) flag++;
if ( version == '12.3(2)JA2' ) flag++;
if ( version == '12.3(2)JA5' ) flag++;
if ( version == '12.3(2)JA6' ) flag++;
if ( version == '12.3(2)JK' ) flag++;
if ( version == '12.3(2)JK1' ) flag++;
if ( version == '12.3(2)JK2' ) flag++;
if ( version == '12.3(2)JK3' ) flag++;
if ( version == '12.3(2)JL' ) flag++;
if ( version == '12.3(2)JL1' ) flag++;
if ( version == '12.3(2)JL2' ) flag++;
if ( version == '12.3(2)JL3' ) flag++;
if ( version == '12.3(2)JL4' ) flag++;
if ( version == '12.3(2)T' ) flag++;
if ( version == '12.3(2)T1' ) flag++;
if ( version == '12.3(2)T2' ) flag++;
if ( version == '12.3(2)T3' ) flag++;
if ( version == '12.3(2)T4' ) flag++;
if ( version == '12.3(2)T5' ) flag++;
if ( version == '12.3(2)T6' ) flag++;
if ( version == '12.3(2)T7' ) flag++;
if ( version == '12.3(2)T8' ) flag++;
if ( version == '12.3(2)T9' ) flag++;
if ( version == '12.3(2)XA' ) flag++;
if ( version == '12.3(2)XA1' ) flag++;
if ( version == '12.3(2)XA2' ) flag++;
if ( version == '12.3(2)XA3' ) flag++;
if ( version == '12.3(2)XA4' ) flag++;
if ( version == '12.3(2)XA5' ) flag++;
if ( version == '12.3(2)XA6' ) flag++;
if ( version == '12.3(2)XA7' ) flag++;
if ( version == '12.3(2)XB' ) flag++;
if ( version == '12.3(2)XB1' ) flag++;
if ( version == '12.3(2)XB3' ) flag++;
if ( version == '12.3(2)XC' ) flag++;
if ( version == '12.3(2)XC1' ) flag++;
if ( version == '12.3(2)XC2' ) flag++;
if ( version == '12.3(2)XC3' ) flag++;
if ( version == '12.3(2)XC4' ) flag++;
if ( version == '12.3(2)XC5' ) flag++;
if ( version == '12.3(2)XE' ) flag++;
if ( version == '12.3(2)XE1' ) flag++;
if ( version == '12.3(2)XE2' ) flag++;
if ( version == '12.3(2)XE3' ) flag++;
if ( version == '12.3(2)XE4' ) flag++;
if ( version == '12.3(2)XE5' ) flag++;
if ( version == '12.3(2)XF' ) flag++;
if ( version == '12.3(2)XT' ) flag++;
if ( version == '12.3(2)XT1' ) flag++;
if ( version == '12.3(2)XT2' ) flag++;
if ( version == '12.3(2)XT3' ) flag++;
if ( version == '12.3(2)XZ1' ) flag++;
if ( version == '12.3(2)XZ2' ) flag++;
if ( version == '12.3(20)' ) flag++;
if ( version == '12.3(20a)' ) flag++;
if ( version == '12.3(21)' ) flag++;
if ( version == '12.3(21)BC' ) flag++;
if ( version == '12.3(21a)' ) flag++;
if ( version == '12.3(21a)BC1' ) flag++;
if ( version == '12.3(21a)BC2' ) flag++;
if ( version == '12.3(21a)BC3' ) flag++;
if ( version == '12.3(21a)BC4' ) flag++;
if ( version == '12.3(21a)BC5' ) flag++;
if ( version == '12.3(21a)BC6' ) flag++;
if ( version == '12.3(21a)BC7' ) flag++;
if ( version == '12.3(21a)BC8' ) flag++;
if ( version == '12.3(21a)BC9' ) flag++;
if ( version == '12.3(21b)' ) flag++;
if ( version == '12.3(22)' ) flag++;
if ( version == '12.3(22a)' ) flag++;
if ( version == '12.3(23)' ) flag++;
if ( version == '12.3(23)BC' ) flag++;
if ( version == '12.3(23)BC1' ) flag++;
if ( version == '12.3(23)BC10' ) flag++;
if ( version == '12.3(23)BC2' ) flag++;
if ( version == '12.3(23)BC3' ) flag++;
if ( version == '12.3(23)BC4' ) flag++;
if ( version == '12.3(23)BC5' ) flag++;
if ( version == '12.3(23)BC6' ) flag++;
if ( version == '12.3(23)BC7' ) flag++;
if ( version == '12.3(23)BC8' ) flag++;
if ( version == '12.3(23)BC9' ) flag++;
if ( version == '12.3(24)' ) flag++;
if ( version == '12.3(24a)' ) flag++;
if ( version == '12.3(25)' ) flag++;
if ( version == '12.3(26)' ) flag++;
if ( version == '12.3(3)' ) flag++;
if ( version == '12.3(3)B' ) flag++;
if ( version == '12.3(3)B1' ) flag++;
if ( version == '12.3(3a)' ) flag++;
if ( version == '12.3(3b)' ) flag++;
if ( version == '12.3(3c)' ) flag++;
if ( version == '12.3(3d)' ) flag++;
if ( version == '12.3(3e)' ) flag++;
if ( version == '12.3(3f)' ) flag++;
if ( version == '12.3(3g)' ) flag++;
if ( version == '12.3(3h)' ) flag++;
if ( version == '12.3(3i)' ) flag++;
if ( version == '12.3(4)JA' ) flag++;
if ( version == '12.3(4)JA1' ) flag++;
if ( version == '12.3(4)JA2' ) flag++;
if ( version == '12.3(4)T' ) flag++;
if ( version == '12.3(4)T1' ) flag++;
if ( version == '12.3(4)T10' ) flag++;
if ( version == '12.3(4)T11' ) flag++;
if ( version == '12.3(4)T12' ) flag++;
if ( version == '12.3(4)T2' ) flag++;
if ( version == '12.3(4)T2a' ) flag++;
if ( version == '12.3(4)T3' ) flag++;
if ( version == '12.3(4)T4' ) flag++;
if ( version == '12.3(4)T5' ) flag++;
if ( version == '12.3(4)T6' ) flag++;
if ( version == '12.3(4)T7' ) flag++;
if ( version == '12.3(4)T8' ) flag++;
if ( version == '12.3(4)T9' ) flag++;
if ( version == '12.3(4)TPC11a' ) flag++;
if ( version == '12.3(4)TPC11b' ) flag++;
if ( version == '12.3(4)XD' ) flag++;
if ( version == '12.3(4)XD1' ) flag++;
if ( version == '12.3(4)XD2' ) flag++;
if ( version == '12.3(4)XD3' ) flag++;
if ( version == '12.3(4)XD4' ) flag++;
if ( version == '12.3(4)XG' ) flag++;
if ( version == '12.3(4)XG1' ) flag++;
if ( version == '12.3(4)XG2' ) flag++;
if ( version == '12.3(4)XG3' ) flag++;
if ( version == '12.3(4)XG4' ) flag++;
if ( version == '12.3(4)XG5' ) flag++;
if ( version == '12.3(4)XH' ) flag++;
if ( version == '12.3(4)XH1' ) flag++;
if ( version == '12.3(4)XK' ) flag++;
if ( version == '12.3(4)XK1' ) flag++;
if ( version == '12.3(4)XK2' ) flag++;
if ( version == '12.3(4)XK3' ) flag++;
if ( version == '12.3(4)XK4' ) flag++;
if ( version == '12.3(4)XN' ) flag++;
if ( version == '12.3(4)XN1' ) flag++;
if ( version == '12.3(4)XN2' ) flag++;
if ( version == '12.3(4)XQ' ) flag++;
if ( version == '12.3(4)XQ1' ) flag++;
if ( version == '12.3(4)YE' ) flag++;
if ( version == '12.3(4)YE1' ) flag++;
if ( version == '12.3(5)' ) flag++;
if ( version == '12.3(5a)' ) flag++;
if ( version == '12.3(5a)B' ) flag++;
if ( version == '12.3(5a)B0a' ) flag++;
if ( version == '12.3(5a)B1' ) flag++;
if ( version == '12.3(5a)B2' ) flag++;
if ( version == '12.3(5a)B3' ) flag++;
if ( version == '12.3(5a)B4' ) flag++;
if ( version == '12.3(5a)B5' ) flag++;
if ( version == '12.3(5b)' ) flag++;
if ( version == '12.3(5c)' ) flag++;
if ( version == '12.3(5d)' ) flag++;
if ( version == '12.3(5e)' ) flag++;
if ( version == '12.3(5f)' ) flag++;
if ( version == '12.3(6)' ) flag++;
if ( version == '12.3(6a)' ) flag++;
if ( version == '12.3(6b)' ) flag++;
if ( version == '12.3(6c)' ) flag++;
if ( version == '12.3(6d)' ) flag++;
if ( version == '12.3(6e)' ) flag++;
if ( version == '12.3(6f)' ) flag++;
if ( version == '12.3(7)JA' ) flag++;
if ( version == '12.3(7)JA1' ) flag++;
if ( version == '12.3(7)JA2' ) flag++;
if ( version == '12.3(7)JA3' ) flag++;
if ( version == '12.3(7)JA4' ) flag++;
if ( version == '12.3(7)JA5' ) flag++;
if ( version == '12.3(7)T' ) flag++;
if ( version == '12.3(7)T1' ) flag++;
if ( version == '12.3(7)T10' ) flag++;
if ( version == '12.3(7)T11' ) flag++;
if ( version == '12.3(7)T12' ) flag++;
if ( version == '12.3(7)T2' ) flag++;
if ( version == '12.3(7)T3' ) flag++;
if ( version == '12.3(7)T4' ) flag++;
if ( version == '12.3(7)T5' ) flag++;
if ( version == '12.3(7)T6' ) flag++;
if ( version == '12.3(7)T7' ) flag++;
if ( version == '12.3(7)T8' ) flag++;
if ( version == '12.3(7)T9' ) flag++;
if ( version == '12.3(7)XI' ) flag++;
if ( version == '12.3(7)XI10' ) flag++;
if ( version == '12.3(7)XI10a' ) flag++;
if ( version == '12.3(7)XI10b' ) flag++;
if ( version == '12.3(7)XI1a' ) flag++;
if ( version == '12.3(7)XI1b' ) flag++;
if ( version == '12.3(7)XI1c' ) flag++;
if ( version == '12.3(7)XI2' ) flag++;
if ( version == '12.3(7)XI2a' ) flag++;
if ( version == '12.3(7)XI2b' ) flag++;
if ( version == '12.3(7)XI2c' ) flag++;
if ( version == '12.3(7)XI3' ) flag++;
if ( version == '12.3(7)XI3a' ) flag++;
if ( version == '12.3(7)XI3b' ) flag++;
if ( version == '12.3(7)XI3d' ) flag++;
if ( version == '12.3(7)XI3e' ) flag++;
if ( version == '12.3(7)XI4' ) flag++;
if ( version == '12.3(7)XI5' ) flag++;
if ( version == '12.3(7)XI6' ) flag++;
if ( version == '12.3(7)XI7' ) flag++;
if ( version == '12.3(7)XI7a' ) flag++;
if ( version == '12.3(7)XI7b' ) flag++;
if ( version == '12.3(7)XI8' ) flag++;
if ( version == '12.3(7)XI8a' ) flag++;
if ( version == '12.3(7)XI8bb' ) flag++;
if ( version == '12.3(7)XI8bc' ) flag++;
if ( version == '12.3(7)XI8c' ) flag++;
if ( version == '12.3(7)XI8d' ) flag++;
if ( version == '12.3(7)XI8e' ) flag++;
if ( version == '12.3(7)XI8f' ) flag++;
if ( version == '12.3(7)XI8g' ) flag++;
if ( version == '12.3(7)XI9' ) flag++;
if ( version == '12.3(7)XJ' ) flag++;
if ( version == '12.3(7)XJ1' ) flag++;
if ( version == '12.3(7)XJ2' ) flag++;
if ( version == '12.3(7)XL' ) flag++;
if ( version == '12.3(7)XM' ) flag++;
if ( version == '12.3(7)XR' ) flag++;
if ( version == '12.3(7)XR1' ) flag++;
if ( version == '12.3(7)XR2' ) flag++;
if ( version == '12.3(7)XR3' ) flag++;
if ( version == '12.3(7)XR4' ) flag++;
if ( version == '12.3(7)XR5' ) flag++;
if ( version == '12.3(7)XR6' ) flag++;
if ( version == '12.3(7)XR7' ) flag++;
if ( version == '12.3(7)XS' ) flag++;
if ( version == '12.3(7)XS1' ) flag++;
if ( version == '12.3(7)XS2' ) flag++;
if ( version == '12.3(7)YB' ) flag++;
if ( version == '12.3(7)YB1' ) flag++;
if ( version == '12.3(8)JA' ) flag++;
if ( version == '12.3(8)JA1' ) flag++;
if ( version == '12.3(8)JA2' ) flag++;
if ( version == '12.3(8)JEA' ) flag++;
if ( version == '12.3(8)JEA1' ) flag++;
if ( version == '12.3(8)JEA2' ) flag++;
if ( version == '12.3(8)JEA3' ) flag++;
if ( version == '12.3(8)JEB' ) flag++;
if ( version == '12.3(8)JEB1' ) flag++;
if ( version == '12.3(8)JEC' ) flag++;
if ( version == '12.3(8)JEC1' ) flag++;
if ( version == '12.3(8)JEC2' ) flag++;
if ( version == '12.3(8)JEC3' ) flag++;
if ( version == '12.3(8)JED' ) flag++;
if ( version == '12.3(8)JED1' ) flag++;
if ( version == '12.3(8)JEE' ) flag++;
if ( version == '12.3(8)JK1' ) flag++;
if ( version == '12.3(8)T' ) flag++;
if ( version == '12.3(8)T0a' ) flag++;
if ( version == '12.3(8)T1' ) flag++;
if ( version == '12.3(8)T10' ) flag++;
if ( version == '12.3(8)T11' ) flag++;
if ( version == '12.3(8)T2' ) flag++;
if ( version == '12.3(8)T3' ) flag++;
if ( version == '12.3(8)T4' ) flag++;
if ( version == '12.3(8)T5' ) flag++;
if ( version == '12.3(8)T6' ) flag++;
if ( version == '12.3(8)T7' ) flag++;
if ( version == '12.3(8)T8' ) flag++;
if ( version == '12.3(8)T9' ) flag++;
if ( version == '12.3(8)XU' ) flag++;
if ( version == '12.3(8)XU1' ) flag++;
if ( version == '12.3(8)XU2' ) flag++;
if ( version == '12.3(8)XU3' ) flag++;
if ( version == '12.3(8)XU4' ) flag++;
if ( version == '12.3(8)XU5' ) flag++;
if ( version == '12.3(8)XW' ) flag++;
if ( version == '12.3(8)XW1' ) flag++;
if ( version == '12.3(8)XW1a' ) flag++;
if ( version == '12.3(8)XW1b' ) flag++;
if ( version == '12.3(8)XW2' ) flag++;
if ( version == '12.3(8)XW3' ) flag++;
if ( version == '12.3(8)XX' ) flag++;
if ( version == '12.3(8)XX1' ) flag++;
if ( version == '12.3(8)XX2' ) flag++;
if ( version == '12.3(8)XX2a' ) flag++;
if ( version == '12.3(8)XX2b' ) flag++;
if ( version == '12.3(8)XX2c' ) flag++;
if ( version == '12.3(8)XX2d' ) flag++;
if ( version == '12.3(8)XX2e' ) flag++;
if ( version == '12.3(8)XY' ) flag++;
if ( version == '12.3(8)XY1' ) flag++;
if ( version == '12.3(8)XY2' ) flag++;
if ( version == '12.3(8)XY3' ) flag++;
if ( version == '12.3(8)XY4' ) flag++;
if ( version == '12.3(8)XY5' ) flag++;
if ( version == '12.3(8)XY6' ) flag++;
if ( version == '12.3(8)XY7' ) flag++;
if ( version == '12.3(8)YA' ) flag++;
if ( version == '12.3(8)YA1' ) flag++;
if ( version == '12.3(8)YC' ) flag++;
if ( version == '12.3(8)YC1' ) flag++;
if ( version == '12.3(8)YC2' ) flag++;
if ( version == '12.3(8)YC3' ) flag++;
if ( version == '12.3(8)YD' ) flag++;
if ( version == '12.3(8)YD1' ) flag++;
if ( version == '12.3(8)YG' ) flag++;
if ( version == '12.3(8)YG1' ) flag++;
if ( version == '12.3(8)YG2' ) flag++;
if ( version == '12.3(8)YG3' ) flag++;
if ( version == '12.3(8)YG4' ) flag++;
if ( version == '12.3(8)YG5' ) flag++;
if ( version == '12.3(8)YG6' ) flag++;
if ( version == '12.3(8)YG7' ) flag++;
if ( version == '12.3(8)YH' ) flag++;
if ( version == '12.3(8)YI' ) flag++;
if ( version == '12.3(8)YI1' ) flag++;
if ( version == '12.3(8)YI2' ) flag++;
if ( version == '12.3(8)YI3' ) flag++;
if ( version == '12.3(8)ZA' ) flag++;
if ( version == '12.3(8)ZA1' ) flag++;
if ( version == '12.3(9)' ) flag++;
if ( version == '12.3(9)M0' ) flag++;
if ( version == '12.3(9)M1' ) flag++;
if ( version == '12.3(9a)' ) flag++;
if ( version == '12.3(9a)BC' ) flag++;
if ( version == '12.3(9a)BC1' ) flag++;
if ( version == '12.3(9a)BC2' ) flag++;
if ( version == '12.3(9a)BC3' ) flag++;
if ( version == '12.3(9a)BC4' ) flag++;
if ( version == '12.3(9a)BC5' ) flag++;
if ( version == '12.3(9a)BC6' ) flag++;
if ( version == '12.3(9a)BC7' ) flag++;
if ( version == '12.3(9a)BC8' ) flag++;
if ( version == '12.3(9a)BC9' ) flag++;
if ( version == '12.3(9b)' ) flag++;
if ( version == '12.3(9c)' ) flag++;
if ( version == '12.3(9d)' ) flag++;
if ( version == '12.3(9e)' ) flag++;
if ( version == '12.4(1)' ) flag++;
if ( version == '12.4(10)' ) flag++;
if ( version == '12.4(10a)' ) flag++;
if ( version == '12.4(10b)' ) flag++;
if ( version == '12.4(10b)JA' ) flag++;
if ( version == '12.4(10b)JA1' ) flag++;
if ( version == '12.4(10b)JA2' ) flag++;
if ( version == '12.4(10b)JA3' ) flag++;
if ( version == '12.4(10b)JA4' ) flag++;
if ( version == '12.4(10b)JDA' ) flag++;
if ( version == '12.4(10b)JDA1' ) flag++;
if ( version == '12.4(10b)JDA2' ) flag++;
if ( version == '12.4(10b)JDA3' ) flag++;
if ( version == '12.4(10b)JDC' ) flag++;
if ( version == '12.4(10b)JDD' ) flag++;
if ( version == '12.4(10b)JDE' ) flag++;
if ( version == '12.4(10b)JX' ) flag++;
if ( version == '12.4(10c)' ) flag++;
if ( version == '12.4(11)MD' ) flag++;
if ( version == '12.4(11)MD1' ) flag++;
if ( version == '12.4(11)MD10' ) flag++;
if ( version == '12.4(11)MD2' ) flag++;
if ( version == '12.4(11)MD3' ) flag++;
if ( version == '12.4(11)MD4' ) flag++;
if ( version == '12.4(11)MD5' ) flag++;
if ( version == '12.4(11)MD6' ) flag++;
if ( version == '12.4(11)MD7' ) flag++;
if ( version == '12.4(11)MD8' ) flag++;
if ( version == '12.4(11)MD9' ) flag++;
if ( version == '12.4(11)MR' ) flag++;
if ( version == '12.4(11)SW' ) flag++;
if ( version == '12.4(11)SW1' ) flag++;
if ( version == '12.4(11)SW2' ) flag++;
if ( version == '12.4(11)SW3' ) flag++;
if ( version == '12.4(11)T' ) flag++;
if ( version == '12.4(11)T1' ) flag++;
if ( version == '12.4(11)T2' ) flag++;
if ( version == '12.4(11)T3' ) flag++;
if ( version == '12.4(11)T4' ) flag++;
if ( version == '12.4(11)XJ' ) flag++;
if ( version == '12.4(11)XJ1' ) flag++;
if ( version == '12.4(11)XJ2' ) flag++;
if ( version == '12.4(11)XJ3' ) flag++;
if ( version == '12.4(11)XJ4' ) flag++;
if ( version == '12.4(11)XJ5' ) flag++;
if ( version == '12.4(11)XJ6' ) flag++;
if ( version == '12.4(11)XV' ) flag++;
if ( version == '12.4(11)XV1' ) flag++;
if ( version == '12.4(11)XW' ) flag++;
if ( version == '12.4(11)XW1' ) flag++;
if ( version == '12.4(11)XW10' ) flag++;
if ( version == '12.4(11)XW2' ) flag++;
if ( version == '12.4(11)XW3' ) flag++;
if ( version == '12.4(11)XW4' ) flag++;
if ( version == '12.4(11)XW5' ) flag++;
if ( version == '12.4(11)XW6' ) flag++;
if ( version == '12.4(11)XW7' ) flag++;
if ( version == '12.4(11)XW8' ) flag++;
if ( version == '12.4(11)XW9' ) flag++;
if ( version == '12.4(12)' ) flag++;
if ( version == '12.4(12)MR' ) flag++;
if ( version == '12.4(12)MR1' ) flag++;
if ( version == '12.4(12)MR2' ) flag++;
if ( version == '12.4(12a)' ) flag++;
if ( version == '12.4(12b)' ) flag++;
if ( version == '12.4(12c)' ) flag++;
if ( version == '12.4(13)' ) flag++;
if ( version == '12.4(13a)' ) flag++;
if ( version == '12.4(13b)' ) flag++;
if ( version == '12.4(13c)' ) flag++;
if ( version == '12.4(13d)' ) flag++;
if ( version == '12.4(13e)' ) flag++;
if ( version == '12.4(13f)' ) flag++;
if ( version == '12.4(14)XK' ) flag++;
if ( version == '12.4(15)MD' ) flag++;
if ( version == '12.4(15)MD1' ) flag++;
if ( version == '12.4(15)MD2' ) flag++;
if ( version == '12.4(15)MD3' ) flag++;
if ( version == '12.4(15)MD4' ) flag++;
if ( version == '12.4(15)MD5' ) flag++;
if ( version == '12.4(15)SW' ) flag++;
if ( version == '12.4(15)SW1' ) flag++;
if ( version == '12.4(15)SW2' ) flag++;
if ( version == '12.4(15)SW3' ) flag++;
if ( version == '12.4(15)SW4' ) flag++;
if ( version == '12.4(15)SW5' ) flag++;
if ( version == '12.4(15)SW6' ) flag++;
if ( version == '12.4(15)SW7' ) flag++;
if ( version == '12.4(15)SW8' ) flag++;
if ( version == '12.4(15)T' ) flag++;
if ( version == '12.4(15)T1' ) flag++;
if ( version == '12.4(15)T10' ) flag++;
if ( version == '12.4(15)T11' ) flag++;
if ( version == '12.4(15)T12' ) flag++;
if ( version == '12.4(15)T13' ) flag++;
if ( version == '12.4(15)T13b' ) flag++;
if ( version == '12.4(15)T14' ) flag++;
if ( version == '12.4(15)T15' ) flag++;
if ( version == '12.4(15)T16' ) flag++;
if ( version == '12.4(15)T2' ) flag++;
if ( version == '12.4(15)T3' ) flag++;
if ( version == '12.4(15)T4' ) flag++;
if ( version == '12.4(15)T5' ) flag++;
if ( version == '12.4(15)T6' ) flag++;
if ( version == '12.4(15)T6a' ) flag++;
if ( version == '12.4(15)T7' ) flag++;
if ( version == '12.4(15)T8' ) flag++;
if ( version == '12.4(15)T9' ) flag++;
if ( version == '12.4(15)XF' ) flag++;
if ( version == '12.4(15)XL' ) flag++;
if ( version == '12.4(15)XL1' ) flag++;
if ( version == '12.4(15)XL2' ) flag++;
if ( version == '12.4(15)XL3' ) flag++;
if ( version == '12.4(15)XL4' ) flag++;
if ( version == '12.4(15)XL5' ) flag++;
if ( version == '12.4(15)XM' ) flag++;
if ( version == '12.4(15)XM1' ) flag++;
if ( version == '12.4(15)XM2' ) flag++;
if ( version == '12.4(15)XM3' ) flag++;
if ( version == '12.4(15)XN' ) flag++;
if ( version == '12.4(15)XQ' ) flag++;
if ( version == '12.4(15)XQ1' ) flag++;
if ( version == '12.4(15)XQ2' ) flag++;
if ( version == '12.4(15)XQ2a' ) flag++;
if ( version == '12.4(15)XQ2b' ) flag++;
if ( version == '12.4(15)XQ2c' ) flag++;
if ( version == '12.4(15)XQ2d' ) flag++;
if ( version == '12.4(15)XQ3' ) flag++;
if ( version == '12.4(15)XQ4' ) flag++;
if ( version == '12.4(15)XQ5' ) flag++;
if ( version == '12.4(15)XQ6' ) flag++;
if ( version == '12.4(15)XQ7' ) flag++;
if ( version == '12.4(15)XQ8' ) flag++;
if ( version == '12.4(15)XR' ) flag++;
if ( version == '12.4(15)XR1' ) flag++;
if ( version == '12.4(15)XR10' ) flag++;
if ( version == '12.4(15)XR2' ) flag++;
if ( version == '12.4(15)XR3' ) flag++;
if ( version == '12.4(15)XR4' ) flag++;
if ( version == '12.4(15)XR5' ) flag++;
if ( version == '12.4(15)XR6' ) flag++;
if ( version == '12.4(15)XR7' ) flag++;
if ( version == '12.4(15)XR8' ) flag++;
if ( version == '12.4(15)XR9' ) flag++;
if ( version == '12.4(15)XY' ) flag++;
if ( version == '12.4(15)XY1' ) flag++;
if ( version == '12.4(15)XY2' ) flag++;
if ( version == '12.4(15)XY3' ) flag++;
if ( version == '12.4(15)XY4' ) flag++;
if ( version == '12.4(15)XY5' ) flag++;
if ( version == '12.4(15)XZ' ) flag++;
if ( version == '12.4(15)XZ1' ) flag++;
if ( version == '12.4(15)XZ2' ) flag++;
if ( version == '12.4(16)' ) flag++;
if ( version == '12.4(16)MR' ) flag++;
if ( version == '12.4(16)MR1' ) flag++;
if ( version == '12.4(16)MR2' ) flag++;
if ( version == '12.4(16a)' ) flag++;
if ( version == '12.4(16b)' ) flag++;
if ( version == '12.4(17)' ) flag++;
if ( version == '12.4(17a)' ) flag++;
if ( version == '12.4(17b)' ) flag++;
if ( version == '12.4(18)' ) flag++;
if ( version == '12.4(18a)' ) flag++;
if ( version == '12.4(18a)JA' ) flag++;
if ( version == '12.4(18a)JA1' ) flag++;
if ( version == '12.4(18a)JA2' ) flag++;
if ( version == '12.4(18a)JA3' ) flag++;
if ( version == '12.4(18b)' ) flag++;
if ( version == '12.4(18c)' ) flag++;
if ( version == '12.4(18d)' ) flag++;
if ( version == '12.4(18e)' ) flag++;
if ( version == '12.4(19)' ) flag++;
if ( version == '12.4(19)MR' ) flag++;
if ( version == '12.4(19)MR1' ) flag++;
if ( version == '12.4(19)MR2' ) flag++;
if ( version == '12.4(19)MR3' ) flag++;
if ( version == '12.4(1a)' ) flag++;
if ( version == '12.4(1b)' ) flag++;
if ( version == '12.4(1c)' ) flag++;
if ( version == '12.4(2)MR' ) flag++;
if ( version == '12.4(2)MR1' ) flag++;
if ( version == '12.4(2)T' ) flag++;
if ( version == '12.4(2)T1' ) flag++;
if ( version == '12.4(2)T2' ) flag++;
if ( version == '12.4(2)T3' ) flag++;
if ( version == '12.4(2)T4' ) flag++;
if ( version == '12.4(2)T5' ) flag++;
if ( version == '12.4(2)T6' ) flag++;
if ( version == '12.4(2)XA' ) flag++;
if ( version == '12.4(2)XA1' ) flag++;
if ( version == '12.4(2)XA2' ) flag++;
if ( version == '12.4(2)XB' ) flag++;
if ( version == '12.4(2)XB1' ) flag++;
if ( version == '12.4(2)XB10' ) flag++;
if ( version == '12.4(2)XB11' ) flag++;
if ( version == '12.4(2)XB12' ) flag++;
if ( version == '12.4(2)XB2' ) flag++;
if ( version == '12.4(2)XB3' ) flag++;
if ( version == '12.4(2)XB4' ) flag++;
if ( version == '12.4(2)XB5' ) flag++;
if ( version == '12.4(2)XB6' ) flag++;
if ( version == '12.4(2)XB7' ) flag++;
if ( version == '12.4(2)XB8' ) flag++;
if ( version == '12.4(2)XB9' ) flag++;
if ( version == '12.4(20)MR' ) flag++;
if ( version == '12.4(20)MR2' ) flag++;
if ( version == '12.4(20)MRA' ) flag++;
if ( version == '12.4(20)MRA1' ) flag++;
if ( version == '12.4(20)MRB' ) flag++;
if ( version == '12.4(20)MRB1' ) flag++;
if ( version == '12.4(20)T' ) flag++;
if ( version == '12.4(20)T1' ) flag++;
if ( version == '12.4(20)T2' ) flag++;
if ( version == '12.4(20)T3' ) flag++;
if ( version == '12.4(20)T4' ) flag++;
if ( version == '12.4(20)T5' ) flag++;
if ( version == '12.4(20)T5a' ) flag++;
if ( version == '12.4(20)T6' ) flag++;
if ( version == '12.4(20)YA' ) flag++;
if ( version == '12.4(20)YA1' ) flag++;
if ( version == '12.4(20)YA2' ) flag++;
if ( version == '12.4(20)YA3' ) flag++;
if ( version == '12.4(21)' ) flag++;
if ( version == '12.4(21a)' ) flag++;
if ( version == '12.4(21a)JA' ) flag++;
if ( version == '12.4(21a)JA1' ) flag++;
if ( version == '12.4(21a)JA2' ) flag++;
if ( version == '12.4(21a)JHA' ) flag++;
if ( version == '12.4(21a)JHB' ) flag++;
if ( version == '12.4(21a)JHB1' ) flag++;
if ( version == '12.4(21a)JHC' ) flag++;
if ( version == '12.4(21a)JX' ) flag++;
if ( version == '12.4(21a)JY' ) flag++;
if ( version == '12.4(21a)JZ' ) flag++;
if ( version == '12.4(21a)M1' ) flag++;
if ( version == '12.4(22)GC1' ) flag++;
if ( version == '12.4(22)GC1a' ) flag++;
if ( version == '12.4(22)MD' ) flag++;
if ( version == '12.4(22)MD1' ) flag++;
if ( version == '12.4(22)MD2' ) flag++;
if ( version == '12.4(22)MDA' ) flag++;
if ( version == '12.4(22)MDA1' ) flag++;
if ( version == '12.4(22)MDA2' ) flag++;
if ( version == '12.4(22)MDA3' ) flag++;
if ( version == '12.4(22)MDA4' ) flag++;
if ( version == '12.4(22)MDA5' ) flag++;
if ( version == '12.4(22)MDA6' ) flag++;
if ( version == '12.4(22)T' ) flag++;
if ( version == '12.4(22)T1' ) flag++;
if ( version == '12.4(22)T2' ) flag++;
if ( version == '12.4(22)T3' ) flag++;
if ( version == '12.4(22)T4' ) flag++;
if ( version == '12.4(22)T5' ) flag++;
if ( version == '12.4(22)XR' ) flag++;
if ( version == '12.4(22)XR1' ) flag++;
if ( version == '12.4(22)XR10' ) flag++;
if ( version == '12.4(22)XR11' ) flag++;
if ( version == '12.4(22)XR12' ) flag++;
if ( version == '12.4(22)XR2' ) flag++;
if ( version == '12.4(22)XR3' ) flag++;
if ( version == '12.4(22)XR4' ) flag++;
if ( version == '12.4(22)XR5' ) flag++;
if ( version == '12.4(22)XR6' ) flag++;
if ( version == '12.4(22)XR7' ) flag++;
if ( version == '12.4(22)XR8' ) flag++;
if ( version == '12.4(22)XR9' ) flag++;
if ( version == '12.4(22)YB' ) flag++;
if ( version == '12.4(22)YB1' ) flag++;
if ( version == '12.4(22)YB2' ) flag++;
if ( version == '12.4(22)YB3' ) flag++;
if ( version == '12.4(22)YB4' ) flag++;
if ( version == '12.4(22)YB5' ) flag++;
if ( version == '12.4(22)YB6' ) flag++;
if ( version == '12.4(22)YB7' ) flag++;
if ( version == '12.4(22)YB8' ) flag++;
if ( version == '12.4(22)YD' ) flag++;
if ( version == '12.4(22)YD1' ) flag++;
if ( version == '12.4(22)YD2' ) flag++;
if ( version == '12.4(22)YD3' ) flag++;
if ( version == '12.4(22)YD4' ) flag++;
if ( version == '12.4(22)YE' ) flag++;
if ( version == '12.4(22)YE1' ) flag++;
if ( version == '12.4(22)YE2' ) flag++;
if ( version == '12.4(22)YE3' ) flag++;
if ( version == '12.4(22)YE4' ) flag++;
if ( version == '12.4(22)YE5' ) flag++;
if ( version == '12.4(22)YE6' ) flag++;
if ( version == '12.4(23)' ) flag++;
if ( version == '12.4(23a)' ) flag++;
if ( version == '12.4(23b)' ) flag++;
if ( version == '12.4(23b)M1' ) flag++;
if ( version == '12.4(23c)' ) flag++;
if ( version == '12.4(23c)JA' ) flag++;
if ( version == '12.4(23c)JA1' ) flag++;
if ( version == '12.4(23c)JA2' ) flag++;
if ( version == '12.4(23c)JA3' ) flag++;
if ( version == '12.4(23c)JY' ) flag++;
if ( version == '12.4(23c)JZ' ) flag++;
if ( version == '12.4(23d)' ) flag++;
if ( version == '12.4(23e)' ) flag++;
if ( version == '12.4(24)GC1' ) flag++;
if ( version == '12.4(24)GC3' ) flag++;
if ( version == '12.4(24)GC3a' ) flag++;
if ( version == '12.4(24)GC4' ) flag++;
if ( version == '12.4(24)MD' ) flag++;
if ( version == '12.4(24)MD1' ) flag++;
if ( version == '12.4(24)MD2' ) flag++;
if ( version == '12.4(24)MD3' ) flag++;
if ( version == '12.4(24)MD4' ) flag++;
if ( version == '12.4(24)MD5' ) flag++;
if ( version == '12.4(24)MD6' ) flag++;
if ( version == '12.4(24)MDA' ) flag++;
if ( version == '12.4(24)MDA1' ) flag++;
if ( version == '12.4(24)MDA10' ) flag++;
if ( version == '12.4(24)MDA2' ) flag++;
if ( version == '12.4(24)MDA3' ) flag++;
if ( version == '12.4(24)MDA4' ) flag++;
if ( version == '12.4(24)MDA5' ) flag++;
if ( version == '12.4(24)MDA6' ) flag++;
if ( version == '12.4(24)MDA7' ) flag++;
if ( version == '12.4(24)MDA8' ) flag++;
if ( version == '12.4(24)MDA9' ) flag++;
if ( version == '12.4(24)MDB' ) flag++;
if ( version == '12.4(24)MDB1' ) flag++;
if ( version == '12.4(24)MDB3' ) flag++;
if ( version == '12.4(24)MDB4' ) flag++;
if ( version == '12.4(24)MDB5' ) flag++;
if ( version == '12.4(24)T' ) flag++;
if ( version == '12.4(24)T1' ) flag++;
if ( version == '12.4(24)T2' ) flag++;
if ( version == '12.4(24)T3' ) flag++;
if ( version == '12.4(24)T35c' ) flag++;
if ( version == '12.4(24)T3c' ) flag++;
if ( version == '12.4(24)T3e' ) flag++;
if ( version == '12.4(24)T3f' ) flag++;
if ( version == '12.4(24)T4' ) flag++;
if ( version == '12.4(24)T4a' ) flag++;
if ( version == '12.4(24)T4b' ) flag++;
if ( version == '12.4(24)T4c' ) flag++;
if ( version == '12.4(24)T5' ) flag++;
if ( version == '12.4(24)T6' ) flag++;
if ( version == '12.4(24)YE' ) flag++;
if ( version == '12.4(24)YE1' ) flag++;
if ( version == '12.4(24)YE2' ) flag++;
if ( version == '12.4(24)YE3' ) flag++;
if ( version == '12.4(24)YE3a' ) flag++;
if ( version == '12.4(24)YE3b' ) flag++;
if ( version == '12.4(24)YE3c' ) flag++;
if ( version == '12.4(24)YE4' ) flag++;
if ( version == '12.4(24)YE5' ) flag++;
if ( version == '12.4(24)YE6' ) flag++;
if ( version == '12.4(24)YE7' ) flag++;
if ( version == '12.4(24)YG1' ) flag++;
if ( version == '12.4(24)YG2' ) flag++;
if ( version == '12.4(24)YG3' ) flag++;
if ( version == '12.4(25)' ) flag++;
if ( version == '12.4(25a)' ) flag++;
if ( version == '12.4(25b)' ) flag++;
if ( version == '12.4(25c)' ) flag++;
if ( version == '12.4(25d)' ) flag++;
if ( version == '12.4(25d)JA' ) flag++;
if ( version == '12.4(25d)JA1' ) flag++;
if ( version == '12.4(25d)JAX' ) flag++;
if ( version == '12.4(25e)' ) flag++;
if ( version == '12.4(25f)' ) flag++;
if ( version == '12.4(3)' ) flag++;
if ( version == '12.4(3)JK' ) flag++;
if ( version == '12.4(3)JK1' ) flag++;
if ( version == '12.4(3)JK2' ) flag++;
if ( version == '12.4(3)JK3' ) flag++;
if ( version == '12.4(3)JL' ) flag++;
if ( version == '12.4(3)JL1' ) flag++;
if ( version == '12.4(3)JL2' ) flag++;
if ( version == '12.4(3a)' ) flag++;
if ( version == '12.4(3b)' ) flag++;
if ( version == '12.4(3c)' ) flag++;
if ( version == '12.4(3d)' ) flag++;
if ( version == '12.4(3e)' ) flag++;
if ( version == '12.4(3f)' ) flag++;
if ( version == '12.4(3g)' ) flag++;
if ( version == '12.4(3g)JA' ) flag++;
if ( version == '12.4(3g)JA1' ) flag++;
if ( version == '12.4(3g)JMA' ) flag++;
if ( version == '12.4(3g)JMA1' ) flag++;
if ( version == '12.4(3g)JMB' ) flag++;
if ( version == '12.4(3g)JMC' ) flag++;
if ( version == '12.4(3g)JMC1' ) flag++;
if ( version == '12.4(3g)JMC2' ) flag++;
if ( version == '12.4(3g)JX' ) flag++;
if ( version == '12.4(3g)JX1' ) flag++;
if ( version == '12.4(3h)' ) flag++;
if ( version == '12.4(3i)' ) flag++;
if ( version == '12.4(3j)' ) flag++;
if ( version == '12.4(4)MR' ) flag++;
if ( version == '12.4(4)MR1' ) flag++;
if ( version == '12.4(4)T' ) flag++;
if ( version == '12.4(4)T1' ) flag++;
if ( version == '12.4(4)T2' ) flag++;
if ( version == '12.4(4)T3' ) flag++;
if ( version == '12.4(4)T4' ) flag++;
if ( version == '12.4(4)T5' ) flag++;
if ( version == '12.4(4)T6' ) flag++;
if ( version == '12.4(4)T7' ) flag++;
if ( version == '12.4(4)T8' ) flag++;
if ( version == '12.4(4)XC' ) flag++;
if ( version == '12.4(4)XC1' ) flag++;
if ( version == '12.4(4)XC2' ) flag++;
if ( version == '12.4(4)XC3' ) flag++;
if ( version == '12.4(4)XC4' ) flag++;
if ( version == '12.4(4)XC5' ) flag++;
if ( version == '12.4(4)XC6' ) flag++;
if ( version == '12.4(4)XC7' ) flag++;
if ( version == '12.4(4)XD' ) flag++;
if ( version == '12.4(4)XD1' ) flag++;
if ( version == '12.4(4)XD10' ) flag++;
if ( version == '12.4(4)XD11' ) flag++;
if ( version == '12.4(4)XD12' ) flag++;
if ( version == '12.4(4)XD2' ) flag++;
if ( version == '12.4(4)XD3' ) flag++;
if ( version == '12.4(4)XD4' ) flag++;
if ( version == '12.4(4)XD5' ) flag++;
if ( version == '12.4(4)XD6' ) flag++;
if ( version == '12.4(4)XD7' ) flag++;
if ( version == '12.4(4)XD8' ) flag++;
if ( version == '12.4(4)XD9' ) flag++;
if ( version == '12.4(5)' ) flag++;
if ( version == '12.4(5a)' ) flag++;
if ( version == '12.4(5a)M0' ) flag++;
if ( version == '12.4(5b)' ) flag++;
if ( version == '12.4(5c)' ) flag++;
if ( version == '12.4(6)MR' ) flag++;
if ( version == '12.4(6)MR1' ) flag++;
if ( version == '12.4(6)T' ) flag++;
if ( version == '12.4(6)T1' ) flag++;
if ( version == '12.4(6)T10' ) flag++;
if ( version == '12.4(6)T11' ) flag++;
if ( version == '12.4(6)T12' ) flag++;
if ( version == '12.4(6)T2' ) flag++;
if ( version == '12.4(6)T3' ) flag++;
if ( version == '12.4(6)T4' ) flag++;
if ( version == '12.4(6)T5' ) flag++;
if ( version == '12.4(6)T5a' ) flag++;
if ( version == '12.4(6)T5b' ) flag++;
if ( version == '12.4(6)T5c' ) flag++;
if ( version == '12.4(6)T5d' ) flag++;
if ( version == '12.4(6)T5e' ) flag++;
if ( version == '12.4(6)T5f' ) flag++;
if ( version == '12.4(6)T6' ) flag++;
if ( version == '12.4(6)T7' ) flag++;
if ( version == '12.4(6)T8' ) flag++;
if ( version == '12.4(6)T9' ) flag++;
if ( version == '12.4(6)XE' ) flag++;
if ( version == '12.4(6)XE1' ) flag++;
if ( version == '12.4(6)XE2' ) flag++;
if ( version == '12.4(6)XE3' ) flag++;
if ( version == '12.4(6)XP' ) flag++;
if ( version == '12.4(6)XT' ) flag++;
if ( version == '12.4(6)XT1' ) flag++;
if ( version == '12.4(6)XT2' ) flag++;
if ( version == '12.4(7)' ) flag++;
if ( version == '12.4(7a)' ) flag++;
if ( version == '12.4(7b)' ) flag++;
if ( version == '12.4(7c)' ) flag++;
if ( version == '12.4(7d)' ) flag++;
if ( version == '12.4(7e)' ) flag++;
if ( version == '12.4(7f)' ) flag++;
if ( version == '12.4(7g)' ) flag++;
if ( version == '12.4(7h)' ) flag++;
if ( version == '12.4(8)' ) flag++;
if ( version == '12.4(8a)' ) flag++;
if ( version == '12.4(8b)' ) flag++;
if ( version == '12.4(8c)' ) flag++;
if ( version == '12.4(8d)' ) flag++;
if ( version == '12.4(9)MR' ) flag++;
if ( version == '12.4(9)T' ) flag++;
if ( version == '12.4(9)T0a' ) flag++;
if ( version == '12.4(9)T1' ) flag++;
if ( version == '12.4(9)T2' ) flag++;
if ( version == '12.4(9)T3' ) flag++;
if ( version == '12.4(9)T4' ) flag++;
if ( version == '12.4(9)T5' ) flag++;
if ( version == '12.4(9)T6' ) flag++;
if ( version == '12.4(9)T7' ) flag++;
if ( version == '12.4(9)XG' ) flag++;
if ( version == '12.4(9)XG1' ) flag++;
if ( version == '12.4(9)XG2' ) flag++;
if ( version == '12.4(9)XG3' ) flag++;
if ( version == '12.4(9)XG4' ) flag++;
if ( version == '12.4(9)XG5' ) flag++;
if ( version == '15.0(1)M' ) flag++;
if ( version == '15.0(1)M1' ) flag++;
if ( version == '15.0(1)M2' ) flag++;
if ( version == '15.0(1)M3' ) flag++;
if ( version == '15.0(1)M4' ) flag++;
if ( version == '15.0(1)M5' ) flag++;
if ( version == '15.0(1)M6' ) flag++;
if ( version == '15.0(1)M6a' ) flag++;
if ( version == '15.0(1)M7' ) flag++;
if ( version == '15.0(1)MR' ) flag++;
if ( version == '15.0(1)S' ) flag++;
if ( version == '15.0(1)S1' ) flag++;
if ( version == '15.0(1)S2' ) flag++;
if ( version == '15.0(1)S3a' ) flag++;
if ( version == '15.0(1)S4' ) flag++;
if ( version == '15.0(1)S4a' ) flag++;
if ( version == '15.0(1)SE' ) flag++;
if ( version == '15.0(1)SY' ) flag++;
if ( version == '15.0(1)XA' ) flag++;
if ( version == '15.0(1)XA1' ) flag++;
if ( version == '15.0(1)XA2' ) flag++;
if ( version == '15.0(1)XA3' ) flag++;
if ( version == '15.0(1)XA4' ) flag++;
if ( version == '15.0(1)XA5' ) flag++;
if ( version == '15.0(1)XO' ) flag++;
if ( version == '15.0(1)XO1' ) flag++;
if ( version == '15.0(2)MR' ) flag++;
if ( version == '15.0(2)SG' ) flag++;
if ( version == '15.0(2)SG1' ) flag++;
if ( version == '15.0(2)XO' ) flag++;
if ( version == '15.1(1)MR' ) flag++;
if ( version == '15.1(1)MR1' ) flag++;
if ( version == '15.1(1)MR2' ) flag++;
if ( version == '15.1(1)S' ) flag++;
if ( version == '15.1(1)S1' ) flag++;
if ( version == '15.1(1)S2' ) flag++;
if ( version == '15.1(1)SA' ) flag++;
if ( version == '15.1(1)SA1' ) flag++;
if ( version == '15.1(1)SA2' ) flag++;
if ( version == '15.1(1)T' ) flag++;
if ( version == '15.1(1)T1' ) flag++;
if ( version == '15.1(1)T2' ) flag++;
if ( version == '15.1(1)T3' ) flag++;
if ( version == '15.1(1)XB' ) flag++;
if ( version == '15.1(1)XB1' ) flag++;
if ( version == '15.1(1)XB2' ) flag++;
if ( version == '15.1(1)XB3' ) flag++;
if ( version == '15.1(2)EY' ) flag++;
if ( version == '15.1(2)EY1' ) flag++;
if ( version == '15.1(2)GC' ) flag++;
if ( version == '15.1(2)GC1' ) flag++;
if ( version == '15.1(2)S' ) flag++;
if ( version == '15.1(2)S1' ) flag++;
if ( version == '15.1(2)S2' ) flag++;
if ( version == '15.1(2)SNG' ) flag++;
if ( version == '15.1(2)T' ) flag++;
if ( version == '15.1(2)T0a' ) flag++;
if ( version == '15.1(2)T1' ) flag++;
if ( version == '15.1(2)T2' ) flag++;
if ( version == '15.1(2)T2a' ) flag++;
if ( version == '15.1(2)T3' ) flag++;
if ( version == '15.1(2)T4' ) flag++;
if ( version == '15.1(3)S' ) flag++;
if ( version == '15.1(3)S0a' ) flag++;
if ( version == '15.1(3)S1' ) flag++;
if ( version == '15.1(3)T' ) flag++;
if ( version == '15.1(3)T1' ) flag++;
if ( version == '15.1(3)T2' ) flag++;
if ( version == '15.1(4)M' ) flag++;
if ( version == '15.1(4)M0a' ) flag++;
if ( version == '15.1(4)M0b' ) flag++;
if ( version == '15.1(4)M1' ) flag++;
if ( version == '15.1(4)XB4' ) flag++;
if ( version == '15.1(4)XB5' ) flag++;
if ( version == '15.2(1)GC' ) flag++;
if ( version == '15.2(1)S' ) flag++;
if ( version == '15.2(1)SA' ) flag++;
if ( version == '15.2(1)T' ) flag++;

if (!flag) audit(AUDIT_INST_VER_NOT_VULN, 'Cisco IOS', version);

cmds = make_list();

if (get_kb_item("Host/local_checks_enabled"))
{
  buf = cisco_command_kb_item("Host/Cisco/Config/show_running-config", "show running-config");
  if (check_cisco_result(buf))
  {
    if (!preg(pattern:"^aaa\s+authorization\s+commands", multiline:TRUE, string:buf))
      audit(AUDIT_HOST_NOT, "affected because AAA authorization is not enabled");
    if (preg(pattern:"^ip\s+http\s+(secure-)?server", multiline:TRUE, string:buf))
    {
      # Check if WEB_EXEC service is enabled 
      buf = cisco_command_kb_item(
        "Host/Cisco/Config/show_ip_http_server_session-module", "show ip http server session-module");
      if (check_cisco_result(buf))
      {
        if ("WEB_EXEC " >< buf)
        {
          if (preg(pattern:"^WEB_EXEC\s+[0-9]+\s+Inactive\s+Inactive", multiline:TRUE, string:buf))
            audit(AUDIT_HOST_NOT, "affected because the WEB_EXEC service is not enabled");
        }
        cmds = make_list(cmds, "show ip http server session-module");
      }
      else if (cisco_needs_enable(buf)) override = 1;
    }
    else
      audit(AUDIT_HOST_NOT, "affected because the HTTP/HTTPS server is not enabled");
    cmds = make_list(cmds, "show running-config");
  }
  else if (cisco_needs_enable(buf)) override = 1;
}

security_report_cisco(
  port     : 0,
  severity : SECURITY_HOLE,
  override : override,
  version  : version,
  bug_id   : 'CSCtr91106',
  cmds     : cmds
);