// (C) 2001-2019 Intel Corporation. All rights reserved.
// This simulation model contains highly confidential and
// proprietary information of Intel and is being provided
// in accordance with and subject to the protections of the
// applicable Intel Program License Subscription Agreement
// which governs its use and disclosure. Your use of Intel
// Corporation's design tools, logic functions and other
// software and tools, and its AMPP partner logic functions,
// and any output files from any of the foregoing (including device
// programming or simulation files), and any associated
// documentation or information are expressly subject to the
// terms and conditions of the Intel Program License Subscription
// Agreement, Intel FPGA IP License Agreement, or other
// applicable license agreement, including, without limitation,
// that your use is for the sole purpose of simulating designs
// for use exclusively in logic devices manufactured by Intel and sold
// by Intel or its authorized distributors. Please refer to the
// applicable agreement for further details. Intel products and
// services are protected under numerous U.S. and foreign patents,
// maskwork rights, copyrights and other intellectual property laws.
// Intel assumes no responsibility or liability arising out of the
// application or use of this simulation model.
// ACDS 19.1
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent= "Aldec protectip", encrypt_agent_info= "Riviera-PRO 2015.06.92"
`pragma protect data_method= "aes128-cbc"
`pragma protect key_keyowner= "Aldec", key_keyname= "ALDEC15_001", key_method= "rsa"
`pragma protect key_block encoding= (enctype="base64", line_length= 76, bytes= 256)
bt+3i8f84qEkhIox0TSNRGTT6gUPzHTE363nOtk0Sek+F01fbxFY5W/dncTCmYKiwq2IcY7MFYYo
0bUnPPKqO5XABxMUY/FsjNiaktes3EjRMnaOp2aRtS+2J1EETgFIBlUfD5AXD3PPKb4LGu9Ev13p
iNT1iyU2wwrktqBqc6BsjFeixcTmRbQLNbfnprLQjvRnxx4si4p32pWDiXC8pu+Gz7fWpkaDgcSJ
aht3fxjmDJrv6/u2IQCJQ2iuXJtL9TTmpd0G985rUFkLN2HRZDVRytCqBGb0RbOqFZbGPzYoWxo8
zIHv4ZSOSvckbPV2JuiMKEVXvlXqXnYXncQ7qg==
`pragma protect data_keyowner= "altera", data_keyname= "altera"
`pragma protect data_block encoding= (enctype="base64", line_length= 76, bytes= 10496)
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
s7py9bW3r+8=
`pragma protect end_protected
