{{header}}
{{object 1 0}} <<
  /Type /Catalog
  /Pages 2 0 R
  /OpenAction 10 0 R
>>
endobj
{{object 2 0}} <<
  /Type /Pages
  /Count 1
  /Kids [
    3 0 R
  ]
>>
endobj
% Page number 0.
{{object 3 0}} <<
  /Type /Page
  /Parent 2 0 R
  /Resources <<
    /Font <</F1 15 0 R>>
  >>
  /Contents [21 0 R]
  /MediaBox [0 0 612 792]
>>
% OpenAction action
{{object 10 0}} <<
  /Type /Action
  /S /JavaScript
  /JS 11 0 R
>>
endobj
% JS program to exexute
{{object 11 0}} <<
  {{streamlen}}
>>
stream
app.alert('Applying to util itself - should succeed');
try {
  app.alert(util.byteToChar.apply(util, [65]));
}
catch (e) {
  app.alert('Caught: ' + e);
}

app.alert('Applying to array - should throw');
try {
  app.alert(util.byteToChar.apply([], [65]));
}
catch (e) {
  app.alert('Caught: ' + e);
}

app.alert('Applying to number - should throw');
try {
  app.alert(util.byteToChar.apply(7, [65]));
}
catch (e) {
  app.alert('Caught: ' + e);
}

app.alert('Applying to wrong native obj - should throw');
try {
  app.alert(util.byteToChar.apply(app, [65]));
}
catch (e) {
  app.alert('Caught: ' + e);
}
endstream
endobj
{{xref}}
{{trailer}}
{{startxref}}
%%EOF
