coject 2.4.25 → 2.4.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,6 +17,7 @@ interface iScanner {
17
17
  scanningText?: string;
18
18
  downloadButton?: string;
19
19
  openPdfButton?: string;
20
+ downloadApp?: string;
20
21
  };
21
22
  pdfHeight?: string | number;
22
23
  pdfWidth?: string | number;
@@ -46,11 +46,17 @@ const Scanner = ({ name, value, onChange, disabled, multiple, placeholder, valid
46
46
  const [isScriptLoaded, setIsScriptLoaded] = (0, react_1.useState)(false);
47
47
  const [scannedImages, setScannedImages] = (0, react_1.useState)(value || []);
48
48
  const { setValue, setError, clearErrors, formState } = formContext || {};
49
+ const [isScannerInstalled, setIsScannerInstalled] = (0, react_1.useState)(false);
49
50
  const errors = formState?.errors || {};
51
+ // Check Scanner App Exist
52
+ (0, react_1.useEffect)(() => {
53
+ if (window.scanner)
54
+ setIsScannerInstalled(true);
55
+ }, []);
50
56
  // Load scanner.js
51
57
  (0, react_1.useEffect)(() => {
52
58
  const script = document.createElement("script");
53
- script.src = "./scanner.js";
59
+ script.src = "/scanner.js";
54
60
  script.type = "text/javascript";
55
61
  script.async = true;
56
62
  script.onload = () => setIsScriptLoaded(true);
@@ -60,24 +66,27 @@ const Scanner = ({ name, value, onChange, disabled, multiple, placeholder, valid
60
66
  document.body.removeChild(script);
61
67
  };
62
68
  }, []);
63
- // Update images from props
69
+ // Update Images From Props
64
70
  (0, react_1.useEffect)(() => {
65
- if (value) {
71
+ if (value)
66
72
  setScannedImages(value);
67
- }
68
73
  }, [value]);
69
- // Required field validation
74
+ // Required Field Validation
70
75
  (0, react_1.useEffect)(() => {
71
76
  if (required && setError && clearErrors) {
72
- scannedImages.length > 0
73
- ? clearErrors(name || "default")
74
- : setError(name || "default", {
77
+ if (scannedImages.length > 0) {
78
+ clearErrors(name || "default");
79
+ }
80
+ else {
81
+ const message = typeof required === "string" ? required : validateText || "This field is required";
82
+ setError(name || "default", {
75
83
  type: "required",
76
- message: "This field is required",
84
+ message,
77
85
  });
86
+ }
78
87
  }
79
- }, [required, scannedImages, name, clearErrors, setError]);
80
- // Generate PDF + return File to parent
88
+ }, [required, scannedImages, name, clearErrors, setError, validateText]);
89
+ // Generate PDF + Return File To Parent
81
90
  (0, react_1.useEffect)(() => {
82
91
  if (scannedImages.length === 0) {
83
92
  setPdfUrl(null);
@@ -93,18 +102,17 @@ const Scanner = ({ name, value, onChange, disabled, multiple, placeholder, valid
93
102
  const blob = pdf.output("blob");
94
103
  const url = URL.createObjectURL(blob);
95
104
  setPdfUrl(url);
96
- // Return a File object instead of URL
97
105
  const file = new File([blob], "scanned_document.pdf", { type: "application/pdf" });
98
106
  onChange?.(file);
99
107
  return () => {
100
108
  URL.revokeObjectURL(url);
101
109
  };
102
110
  }, [scannedImages]);
103
- // Scan handler
111
+ // Scan Handler
104
112
  const handleScan = (0, react_1.useCallback)(() => {
105
113
  const { scanner } = window;
106
114
  if (!scanner || !isScriptLoaded) {
107
- alert("Scanner not available!");
115
+ alert("Scanner Not Available!");
108
116
  return;
109
117
  }
110
118
  setIsScanning(true);
@@ -139,32 +147,40 @@ const Scanner = ({ name, value, onChange, disabled, multiple, placeholder, valid
139
147
  const link = document.createElement("a");
140
148
  link.href = pdfUrl;
141
149
  link.download = "scanned-document.pdf";
150
+ link.target = "_blank";
142
151
  link.click();
143
152
  };
144
- // Open PDF in new tab
145
- const handleOpenInNewTab = () => {
153
+ // Open PDF In New Tab
154
+ const handleOpenPDF = () => {
146
155
  if (!pdfUrl)
147
156
  return;
148
157
  window.open(pdfUrl, "_blank");
149
158
  };
150
- // Handle errors
159
+ // Download Installer
160
+ const downloadInstaller = () => {
161
+ const link = document.createElement("a");
162
+ link.href = "/scanner/scan-setup.exe";
163
+ link.download = "scan-setup.exe";
164
+ link.click();
165
+ setIsScannerInstalled(true);
166
+ };
167
+ // Error Handler
151
168
  const hasError = Boolean((errors && errors[name || "default"]) || (error?.errors && error?.errors[name || "default"]));
152
169
  return (react_1.default.createElement(react_1.default.Fragment, null,
153
- react_1.default.createElement(material_1.Box, { className: `${classes.root} coject_scanner` },
170
+ react_1.default.createElement(material_1.Box, { className: classes.root },
154
171
  react_1.default.createElement(material_1.Box, { className: classes.header },
155
- react_1.default.createElement(material_1.Typography, { variant: "h6" }, localeText?.scanTitle || "Document Scanner"),
156
- react_1.default.createElement(material_1.Box, { className: classes.actions, sx: { display: "flex", gap: 1 } },
157
- react_1.default.createElement(material_1.Button, { variant: variant, onClick: handleScan, disabled: !isScriptLoaded || disabled || isScanning, startIcon: react_1.default.createElement(MuiIcons.Scanner, null) }, isScanning
158
- ? localeText?.scanningText || "Scanning..."
159
- : localeText?.scanButton || "Scan"),
172
+ react_1.default.createElement(material_1.Typography, { className: classes.title }, localeText?.scanTitle || "Document Scanner"),
173
+ react_1.default.createElement(material_1.Box, { className: classes.actions },
174
+ react_1.default.createElement(material_1.Button, { variant: variant, onClick: handleScan, disabled: !isScriptLoaded || disabled || isScanning, startIcon: react_1.default.createElement(MuiIcons.Scanner, null) }, isScanning ? localeText?.scanningText || "Scanning..." : localeText?.scanButton || "Scan Document"),
175
+ !isScannerInstalled && (react_1.default.createElement(material_1.Button, { variant: variant, startIcon: react_1.default.createElement(MuiIcons.Download, null), onClick: downloadInstaller }, localeText?.downloadApp || "Install Scanner App")),
160
176
  pdfUrl && (react_1.default.createElement(react_1.default.Fragment, null,
161
177
  react_1.default.createElement(material_1.Button, { variant: variant, startIcon: react_1.default.createElement(MuiIcons.Download, null), onClick: handleDownloadPDF }, localeText?.downloadButton || "Download PDF"),
162
- react_1.default.createElement(material_1.Button, { variant: variant, startIcon: react_1.default.createElement(MuiIcons.OpenInNew, null), onClick: handleOpenInNewTab }, localeText?.openPdfButton || "Open PDF"))))),
163
- pdfUrl ? (react_1.default.createElement(material_1.Box, { sx: { border: "1px solid #ccc", borderRadius: 2, overflow: "hidden", width: pdfWidth, height: pdfHeight, mt: 1 } },
164
- react_1.default.createElement("iframe", { src: pdfUrl, style: { width: "100%", height: "100%", border: "none" }, title: "Scanned PDF Preview" }))) : (react_1.default.createElement(material_1.Box, { className: classes.placeholder },
165
- react_1.default.createElement(MuiIcons.Scanner, { fontSize: "large" }),
166
- react_1.default.createElement(material_1.Typography, { variant: "body2" }, placeholder || "No scanned documents. Click 'Scan' to get started"))),
167
- hasError && (react_1.default.createElement(material_1.FormHelperText, { className: classes.error }, validateText || "This field is required")))));
178
+ react_1.default.createElement(material_1.Button, { variant: variant, startIcon: react_1.default.createElement(MuiIcons.OpenInNew, null), onClick: handleOpenPDF }, localeText?.openPdfButton || "Open PDF"))))),
179
+ pdfUrl ? (react_1.default.createElement(material_1.Box, { className: classes.previewBox, style: { width: pdfWidth, height: pdfHeight } },
180
+ react_1.default.createElement("iframe", { src: pdfUrl, className: classes.iframe, title: "PDF Preview" }))) : (react_1.default.createElement(material_1.Box, { className: classes.placeholder },
181
+ react_1.default.createElement(MuiIcons.Scanner, { fontSize: "large", className: classes.placeholderIcon }),
182
+ react_1.default.createElement(material_1.Typography, { className: classes.placeholderText }, placeholder || "No Scanned Documents Yet. Click Scan To Begin"))),
183
+ hasError && (react_1.default.createElement(material_1.FormHelperText, { className: classes.errorText }, String(errors?.[name || "default"]?.message || ""))))));
168
184
  };
169
185
  exports.Scanner = Scanner;
170
186
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Scanner/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Scanner/index.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ declare const useStyles: (params: void, muiStyleOverridesParams?: {
2
2
  props: Record<string, unknown>;
3
3
  ownerState?: Record<string, unknown> | undefined;
4
4
  } | undefined) => {
5
- classes: Record<"error" | "header" | "placeholder" | "actions" | "root", string>;
5
+ classes: Record<"errorText" | "header" | "iframe" | "title" | "placeholder" | "actions" | "root" | "previewBox" | "placeholderIcon" | "placeholderText", string>;
6
6
  theme: import("@mui/material").Theme;
7
7
  css: import("tss-react/types").Css;
8
8
  cx: import("tss-react/types").Cx;
@@ -1,39 +1,97 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const mui_1 = require("tss-react/mui");
4
- const useStyles = (0, mui_1.makeStyles)()((theme) => {
5
- return {
6
- root: {
7
- width: "100%",
8
- marginBottom: theme.spacing(2)
9
- },
10
- header: {
11
- display: "flex",
12
- justifyContent: "space-between",
13
- alignItems: "center",
14
- marginBottom: theme.spacing(2),
15
- flexWrap: "wrap",
16
- gap: theme.spacing(1)
17
- },
18
- actions: {
19
- display: "flex",
20
- gap: theme.spacing(1),
21
- flexWrap: "wrap"
22
- },
23
- placeholder: {
24
- display: "flex",
4
+ const useStyles = (0, mui_1.makeStyles)()((theme) => ({
5
+ root: {
6
+ width: "100%",
7
+ borderRadius: 12,
8
+ background: "#fff",
9
+ padding: theme.spacing(2),
10
+ border: "1px solid #ddd",
11
+ marginBottom: theme.spacing(2)
12
+ },
13
+ header: {
14
+ display: "flex",
15
+ flexWrap: "wrap",
16
+ alignItems: "center",
17
+ gap: theme.spacing(1),
18
+ marginBottom: theme.spacing(2),
19
+ justifyContent: "space-between",
20
+ [theme.breakpoints.down("sm")]: {
21
+ gap: theme.spacing(2),
25
22
  flexDirection: "column",
26
- alignItems: "center",
27
- justifyContent: "center",
28
- height: "200px",
29
- color: theme.palette.text.secondary,
30
- gap: theme.spacing(1)
31
- },
32
- error: {
33
- color: theme.palette.error.main,
34
- marginTop: theme.spacing(0.5)
35
- },
36
- };
37
- });
23
+ alignItems: "flex-start"
24
+ }
25
+ },
26
+ title: {
27
+ fontSize: 20,
28
+ fontWeight: 600,
29
+ [theme.breakpoints.down("sm")]: {
30
+ fontSize: 18
31
+ }
32
+ },
33
+ actions: {
34
+ display: "flex",
35
+ alignItems: "center",
36
+ gap: theme.spacing(1),
37
+ flexWrap: "wrap",
38
+ "& button": {
39
+ borderRadius: 10,
40
+ textTransform: "none",
41
+ [theme.breakpoints.down("sm")]: {
42
+ width: "100%"
43
+ }
44
+ }
45
+ },
46
+ previewBox: {
47
+ borderRadius: 12,
48
+ overflow: "hidden",
49
+ border: "1px solid #ccc",
50
+ boxShadow: "0 1px 4px rgba(0,0,0,0.1)",
51
+ [theme.breakpoints.down("sm")]: {
52
+ height: 400
53
+ }
54
+ },
55
+ iframe: {
56
+ width: "100%",
57
+ height: "100%",
58
+ border: "none"
59
+ },
60
+ placeholder: {
61
+ display: "flex",
62
+ color: "#888",
63
+ borderRadius: 12,
64
+ textAlign: "center",
65
+ alignItems: "center",
66
+ flexDirection: "column",
67
+ padding: theme.spacing(6),
68
+ border: "2px dashed #ccc",
69
+ [theme.breakpoints.down("sm")]: {
70
+ padding: theme.spacing(4)
71
+ }
72
+ },
73
+ placeholderIcon: {
74
+ fontSize: 60,
75
+ color: "#bbb",
76
+ [theme.breakpoints.down("sm")]: {
77
+ fontSize: 45
78
+ }
79
+ },
80
+ placeholderText: {
81
+ fontSize: 16,
82
+ marginTop: theme.spacing(1),
83
+ [theme.breakpoints.down("sm")]: {
84
+ fontSize: 14
85
+ }
86
+ },
87
+ errorText: {
88
+ fontSize: 15,
89
+ marginTop: theme.spacing(1),
90
+ color: theme.palette.error.main,
91
+ [theme.breakpoints.down("sm")]: {
92
+ fontSize: 13
93
+ }
94
+ }
95
+ }));
38
96
  exports.default = useStyles;
39
97
  //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../resources/Components/Scanner/theme.tsx"],"names":[],"mappings":";;AAAA,uCAA2C;AAE3C,MAAM,SAAS,GAAG,IAAA,gBAAU,GAAE,CAAC,CAAC,KAAU,EAAE,EAAE;IAC1C,OAAO;QACH,IAAI,EAAE;YACF,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,MAAM;YACf,cAAc,EAAE,eAAe;YAC/B,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9B,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACxB;QACD,OAAO,EAAE;YACL,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACrB,QAAQ,EAAE,MAAM;SACnB;QACD,WAAW,EAAE;YACT,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS;YACnC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACxB;QACD,KAAK,EAAE;YACH,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;YAC/B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;SAChC;KACJ,CAAA;AACL,CAAC,CAAC,CAAC;AAEH,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../resources/Components/Scanner/theme.tsx"],"names":[],"mappings":";;AAAA,uCAA2C;AAE3C,MAAM,SAAS,GAAG,IAAA,gBAAU,GAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE;QACF,KAAK,EAAE,MAAM;QACb,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,gBAAgB;QACxB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KACjC;IACD,MAAM,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,cAAc,EAAE,eAAe;QAC/B,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC5B,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACrB,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,YAAY;SAC3B;KACJ;IACD,KAAK,EAAE;QACH,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,GAAG;QACf,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC5B,QAAQ,EAAE,EAAE;SACf;KACJ;IACD,OAAO,EAAE;QACL,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE;YACR,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,MAAM;YACrB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;gBAC5B,KAAK,EAAE,MAAM;aAChB;SACJ;KACJ;IACD,UAAU,EAAE;QACR,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,2BAA2B;QACtC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC5B,MAAM,EAAE,GAAG;SACd;KACJ;IACD,MAAM,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;KACjB;IACD,WAAW,EAAE;QACT,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,MAAM;QACb,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,QAAQ;QACpB,aAAa,EAAE,QAAQ;QACvB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,iBAAiB;QACzB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SAC5B;KACJ;IACD,eAAe,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,MAAM;QACb,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC5B,QAAQ,EAAE,EAAE;SACf;KACJ;IACD,eAAe,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC5B,QAAQ,EAAE,EAAE;SACf;KACJ;IACD,SAAS,EAAE;QACP,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;QAC/B,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC5B,QAAQ,EAAE,EAAE;SACf;KACJ;CACJ,CAAC,CAAC,CAAC;AAEJ,kBAAe,SAAS,CAAC"}
@@ -17,6 +17,7 @@ interface iScanner {
17
17
  scanningText?: string;
18
18
  downloadButton?: string;
19
19
  openPdfButton?: string;
20
+ downloadApp?: string;
20
21
  };
21
22
  pdfHeight?: string | number;
22
23
  pdfWidth?: string | number;
@@ -17,11 +17,17 @@ export const Scanner = ({ name, value, onChange, disabled, multiple, placeholder
17
17
  const [isScriptLoaded, setIsScriptLoaded] = useState(false);
18
18
  const [scannedImages, setScannedImages] = useState(value || []);
19
19
  const { setValue, setError, clearErrors, formState } = formContext || {};
20
+ const [isScannerInstalled, setIsScannerInstalled] = useState(false);
20
21
  const errors = formState?.errors || {};
22
+ // Check Scanner App Exist
23
+ useEffect(() => {
24
+ if (window.scanner)
25
+ setIsScannerInstalled(true);
26
+ }, []);
21
27
  // Load scanner.js
22
28
  useEffect(() => {
23
29
  const script = document.createElement("script");
24
- script.src = "./scanner.js";
30
+ script.src = "/scanner.js";
25
31
  script.type = "text/javascript";
26
32
  script.async = true;
27
33
  script.onload = () => setIsScriptLoaded(true);
@@ -31,24 +37,27 @@ export const Scanner = ({ name, value, onChange, disabled, multiple, placeholder
31
37
  document.body.removeChild(script);
32
38
  };
33
39
  }, []);
34
- // Update images from props
40
+ // Update Images From Props
35
41
  useEffect(() => {
36
- if (value) {
42
+ if (value)
37
43
  setScannedImages(value);
38
- }
39
44
  }, [value]);
40
- // Required field validation
45
+ // Required Field Validation
41
46
  useEffect(() => {
42
47
  if (required && setError && clearErrors) {
43
- scannedImages.length > 0
44
- ? clearErrors(name || "default")
45
- : setError(name || "default", {
48
+ if (scannedImages.length > 0) {
49
+ clearErrors(name || "default");
50
+ }
51
+ else {
52
+ const message = typeof required === "string" ? required : validateText || "This field is required";
53
+ setError(name || "default", {
46
54
  type: "required",
47
- message: "This field is required",
55
+ message,
48
56
  });
57
+ }
49
58
  }
50
- }, [required, scannedImages, name, clearErrors, setError]);
51
- // Generate PDF + return File to parent
59
+ }, [required, scannedImages, name, clearErrors, setError, validateText]);
60
+ // Generate PDF + Return File To Parent
52
61
  useEffect(() => {
53
62
  if (scannedImages.length === 0) {
54
63
  setPdfUrl(null);
@@ -64,18 +73,17 @@ export const Scanner = ({ name, value, onChange, disabled, multiple, placeholder
64
73
  const blob = pdf.output("blob");
65
74
  const url = URL.createObjectURL(blob);
66
75
  setPdfUrl(url);
67
- // Return a File object instead of URL
68
76
  const file = new File([blob], "scanned_document.pdf", { type: "application/pdf" });
69
77
  onChange?.(file);
70
78
  return () => {
71
79
  URL.revokeObjectURL(url);
72
80
  };
73
81
  }, [scannedImages]);
74
- // Scan handler
82
+ // Scan Handler
75
83
  const handleScan = useCallback(() => {
76
84
  const { scanner } = window;
77
85
  if (!scanner || !isScriptLoaded) {
78
- alert("Scanner not available!");
86
+ alert("Scanner Not Available!");
79
87
  return;
80
88
  }
81
89
  setIsScanning(true);
@@ -110,31 +118,39 @@ export const Scanner = ({ name, value, onChange, disabled, multiple, placeholder
110
118
  const link = document.createElement("a");
111
119
  link.href = pdfUrl;
112
120
  link.download = "scanned-document.pdf";
121
+ link.target = "_blank";
113
122
  link.click();
114
123
  };
115
- // Open PDF in new tab
116
- const handleOpenInNewTab = () => {
124
+ // Open PDF In New Tab
125
+ const handleOpenPDF = () => {
117
126
  if (!pdfUrl)
118
127
  return;
119
128
  window.open(pdfUrl, "_blank");
120
129
  };
121
- // Handle errors
130
+ // Download Installer
131
+ const downloadInstaller = () => {
132
+ const link = document.createElement("a");
133
+ link.href = "/scanner/scan-setup.exe";
134
+ link.download = "scan-setup.exe";
135
+ link.click();
136
+ setIsScannerInstalled(true);
137
+ };
138
+ // Error Handler
122
139
  const hasError = Boolean((errors && errors[name || "default"]) || (error?.errors && error?.errors[name || "default"]));
123
140
  return (React.createElement(React.Fragment, null,
124
- React.createElement(Box, { className: `${classes.root} coject_scanner` },
141
+ React.createElement(Box, { className: classes.root },
125
142
  React.createElement(Box, { className: classes.header },
126
- React.createElement(Typography, { variant: "h6" }, localeText?.scanTitle || "Document Scanner"),
127
- React.createElement(Box, { className: classes.actions, sx: { display: "flex", gap: 1 } },
128
- React.createElement(Button, { variant: variant, onClick: handleScan, disabled: !isScriptLoaded || disabled || isScanning, startIcon: React.createElement(MuiIcons.Scanner, null) }, isScanning
129
- ? localeText?.scanningText || "Scanning..."
130
- : localeText?.scanButton || "Scan"),
143
+ React.createElement(Typography, { className: classes.title }, localeText?.scanTitle || "Document Scanner"),
144
+ React.createElement(Box, { className: classes.actions },
145
+ React.createElement(Button, { variant: variant, onClick: handleScan, disabled: !isScriptLoaded || disabled || isScanning, startIcon: React.createElement(MuiIcons.Scanner, null) }, isScanning ? localeText?.scanningText || "Scanning..." : localeText?.scanButton || "Scan Document"),
146
+ !isScannerInstalled && (React.createElement(Button, { variant: variant, startIcon: React.createElement(MuiIcons.Download, null), onClick: downloadInstaller }, localeText?.downloadApp || "Install Scanner App")),
131
147
  pdfUrl && (React.createElement(React.Fragment, null,
132
148
  React.createElement(Button, { variant: variant, startIcon: React.createElement(MuiIcons.Download, null), onClick: handleDownloadPDF }, localeText?.downloadButton || "Download PDF"),
133
- React.createElement(Button, { variant: variant, startIcon: React.createElement(MuiIcons.OpenInNew, null), onClick: handleOpenInNewTab }, localeText?.openPdfButton || "Open PDF"))))),
134
- pdfUrl ? (React.createElement(Box, { sx: { border: "1px solid #ccc", borderRadius: 2, overflow: "hidden", width: pdfWidth, height: pdfHeight, mt: 1 } },
135
- React.createElement("iframe", { src: pdfUrl, style: { width: "100%", height: "100%", border: "none" }, title: "Scanned PDF Preview" }))) : (React.createElement(Box, { className: classes.placeholder },
136
- React.createElement(MuiIcons.Scanner, { fontSize: "large" }),
137
- React.createElement(Typography, { variant: "body2" }, placeholder || "No scanned documents. Click 'Scan' to get started"))),
138
- hasError && (React.createElement(FormHelperText, { className: classes.error }, validateText || "This field is required")))));
149
+ React.createElement(Button, { variant: variant, startIcon: React.createElement(MuiIcons.OpenInNew, null), onClick: handleOpenPDF }, localeText?.openPdfButton || "Open PDF"))))),
150
+ pdfUrl ? (React.createElement(Box, { className: classes.previewBox, style: { width: pdfWidth, height: pdfHeight } },
151
+ React.createElement("iframe", { src: pdfUrl, className: classes.iframe, title: "PDF Preview" }))) : (React.createElement(Box, { className: classes.placeholder },
152
+ React.createElement(MuiIcons.Scanner, { fontSize: "large", className: classes.placeholderIcon }),
153
+ React.createElement(Typography, { className: classes.placeholderText }, placeholder || "No Scanned Documents Yet. Click Scan To Begin"))),
154
+ hasError && (React.createElement(FormHelperText, { className: classes.errorText }, String(errors?.[name || "default"]?.message || ""))))));
139
155
  };
140
156
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Scanner/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Scanner/index.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ declare const useStyles: (params: void, muiStyleOverridesParams?: {
2
2
  props: Record<string, unknown>;
3
3
  ownerState?: Record<string, unknown> | undefined;
4
4
  } | undefined) => {
5
- classes: Record<"error" | "header" | "placeholder" | "actions" | "root", string>;
5
+ classes: Record<"errorText" | "header" | "iframe" | "title" | "placeholder" | "actions" | "root" | "previewBox" | "placeholderIcon" | "placeholderText", string>;
6
6
  theme: import("@mui/material").Theme;
7
7
  css: import("tss-react/types").Css;
8
8
  cx: import("tss-react/types").Cx;
@@ -1,37 +1,95 @@
1
1
  import { makeStyles } from "tss-react/mui";
2
- const useStyles = makeStyles()((theme) => {
3
- return {
4
- root: {
5
- width: "100%",
6
- marginBottom: theme.spacing(2)
7
- },
8
- header: {
9
- display: "flex",
10
- justifyContent: "space-between",
11
- alignItems: "center",
12
- marginBottom: theme.spacing(2),
13
- flexWrap: "wrap",
14
- gap: theme.spacing(1)
15
- },
16
- actions: {
17
- display: "flex",
18
- gap: theme.spacing(1),
19
- flexWrap: "wrap"
20
- },
21
- placeholder: {
22
- display: "flex",
2
+ const useStyles = makeStyles()((theme) => ({
3
+ root: {
4
+ width: "100%",
5
+ borderRadius: 12,
6
+ background: "#fff",
7
+ padding: theme.spacing(2),
8
+ border: "1px solid #ddd",
9
+ marginBottom: theme.spacing(2)
10
+ },
11
+ header: {
12
+ display: "flex",
13
+ flexWrap: "wrap",
14
+ alignItems: "center",
15
+ gap: theme.spacing(1),
16
+ marginBottom: theme.spacing(2),
17
+ justifyContent: "space-between",
18
+ [theme.breakpoints.down("sm")]: {
19
+ gap: theme.spacing(2),
23
20
  flexDirection: "column",
24
- alignItems: "center",
25
- justifyContent: "center",
26
- height: "200px",
27
- color: theme.palette.text.secondary,
28
- gap: theme.spacing(1)
29
- },
30
- error: {
31
- color: theme.palette.error.main,
32
- marginTop: theme.spacing(0.5)
33
- },
34
- };
35
- });
21
+ alignItems: "flex-start"
22
+ }
23
+ },
24
+ title: {
25
+ fontSize: 20,
26
+ fontWeight: 600,
27
+ [theme.breakpoints.down("sm")]: {
28
+ fontSize: 18
29
+ }
30
+ },
31
+ actions: {
32
+ display: "flex",
33
+ alignItems: "center",
34
+ gap: theme.spacing(1),
35
+ flexWrap: "wrap",
36
+ "& button": {
37
+ borderRadius: 10,
38
+ textTransform: "none",
39
+ [theme.breakpoints.down("sm")]: {
40
+ width: "100%"
41
+ }
42
+ }
43
+ },
44
+ previewBox: {
45
+ borderRadius: 12,
46
+ overflow: "hidden",
47
+ border: "1px solid #ccc",
48
+ boxShadow: "0 1px 4px rgba(0,0,0,0.1)",
49
+ [theme.breakpoints.down("sm")]: {
50
+ height: 400
51
+ }
52
+ },
53
+ iframe: {
54
+ width: "100%",
55
+ height: "100%",
56
+ border: "none"
57
+ },
58
+ placeholder: {
59
+ display: "flex",
60
+ color: "#888",
61
+ borderRadius: 12,
62
+ textAlign: "center",
63
+ alignItems: "center",
64
+ flexDirection: "column",
65
+ padding: theme.spacing(6),
66
+ border: "2px dashed #ccc",
67
+ [theme.breakpoints.down("sm")]: {
68
+ padding: theme.spacing(4)
69
+ }
70
+ },
71
+ placeholderIcon: {
72
+ fontSize: 60,
73
+ color: "#bbb",
74
+ [theme.breakpoints.down("sm")]: {
75
+ fontSize: 45
76
+ }
77
+ },
78
+ placeholderText: {
79
+ fontSize: 16,
80
+ marginTop: theme.spacing(1),
81
+ [theme.breakpoints.down("sm")]: {
82
+ fontSize: 14
83
+ }
84
+ },
85
+ errorText: {
86
+ fontSize: 15,
87
+ marginTop: theme.spacing(1),
88
+ color: theme.palette.error.main,
89
+ [theme.breakpoints.down("sm")]: {
90
+ fontSize: 13
91
+ }
92
+ }
93
+ }));
36
94
  export default useStyles;
37
95
  //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../resources/Components/Scanner/theme.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,CAAC,KAAU,EAAE,EAAE;IAC1C,OAAO;QACH,IAAI,EAAE;YACF,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,MAAM;YACf,cAAc,EAAE,eAAe;YAC/B,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9B,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACxB;QACD,OAAO,EAAE;YACL,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACrB,QAAQ,EAAE,MAAM;SACnB;QACD,WAAW,EAAE;YACT,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS;YACnC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACxB;QACD,KAAK,EAAE;YACH,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;YAC/B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;SAChC;KACJ,CAAA;AACL,CAAC,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../resources/Components/Scanner/theme.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,11 @@
1
1
  {
2
2
  "name": "coject",
3
- "version": "2.4.25",
3
+ "version": "2.4.29",
4
4
  "description": "React Library",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
7
7
  "files": [
8
- "dist",
9
- "resources/scanner.js"
8
+ "dist"
10
9
  ],
11
10
  "scripts": {
12
11
  "build": "npm run build:esm && npm run build:cjs",
@@ -1,19 +0,0 @@
1
- /**
2
- * Scanner.js allows users to scan documents from scanners within browsers.
3
- * Visit: http://asprise.com/document-scan-upload-image-browser
4
- *
5
- * Copyright (c) 2014-present, Asprise Pte Ltd. All rights reserved.
6
- *
7
- * NOTICE: All information contained herein is, and remains the property of Asprise
8
- * Pte Ltd. The intellectual and technical concepts contained herein are proprietary
9
- * to Asprise and they are protected by trade secret and copyright laws.
10
- *
11
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
13
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
15
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17
- */
18
-
19
- (function() {var modelsToAppendToBodyFromDeployJava=[];var s=null;var deployJava=(function(){function e(e){h.debug&&(console.log?console.log(e):alert(e));}function t(e,t){if(null==e||0==e.length){return !0;}var n=e.charAt(e.length-1);if("+"!=n&&"*"!=n&&-1!=e.indexOf("_")&&"_"!=n&&(e+="*",n="*"),e=e.substring(0,e.length-1),e.length>0){var i=e.charAt(e.length-1);("."==i||"_"==i)&&(e=e.substring(0,e.length-1));}return"*"==n?0==t.indexOf(e):"+"==n?t>=e:!1;}function n(){var e="//java.com/js/webstart.png";try{return -1!=document.location.protocol.indexOf("http")?e:"http:"+e;}catch(t){return"http:"+e;}}function i(e){var t="http://java.com/dt-redirect";return null==e||0==e.length?t:("&"==e.charAt(0)&&(e=e.substring(1,e.length)),t+"?"+e);}function r(e,t){for(var n=e.length,i=0;n>i;i++){if(e[i]===t){return !0;}}return !1;}function a(e){return r(u,e.toLowerCase());}function l(e){return"MSIE"!=deployJava.browserName?!0:deployJava.compareVersionToPattern(deployJava.getPlugin().version,["10","0","0"],!1,!0)?!0:null==e?!1:!t("1.6.0_33+",e);}var o={core:["id","class","title","style"],i18n:["lang","dir"],events:["onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup"],applet:["codebase","code","name","archive","object","width","height","alt","align","hspace","vspace"],object:["classid","codebase","codetype","data","type","archive","declare","standby","height","width","usemap","name","tabindex","align","border","hspace","vspace"]},u=(o.object.concat(o.core,o.i18n,o.events),o.applet.concat(o.core)),h={debug:null,version:"20120801",firefoxJavaVersion:null,myInterval:null,preInstallJREList:null,returnPage:null,brand:null,locale:null,installType:null,EAInstallEnabled:!1,EarlyAccessURL:null,oldMimeType:"application/npruntime-scriptable-plugin;DeploymentToolkit",mimeType:"application/java-deployment-toolkit",launchButtonPNG:n(),browserName:null,browserName2:null,getJREs:function(){var t=new Array;if(this.isPluginInstalled()){for(var n=this.getPlugin(),i=n.jvms,r=0;r<i.getLength();r++){t[r]=i.get(r).version;}}else{var a=this.getBrowser();"MSIE"==a?this.testUsingActiveX("1.7.0")?t[0]="1.7.0":this.testUsingActiveX("1.6.0")?t[0]="1.6.0":this.testUsingActiveX("1.5.0")?t[0]="1.5.0":this.testUsingActiveX("1.4.2")?t[0]="1.4.2":this.testForMSVM()&&(t[0]="1.1"):"Netscape Family"==a&&(this.getJPIVersionUsingMimeType(),null!=this.firefoxJavaVersion?t[0]=this.firefoxJavaVersion:this.testUsingMimeTypes("1.7")?t[0]="1.7.0":this.testUsingMimeTypes("1.6")?t[0]="1.6.0":this.testUsingMimeTypes("1.5")?t[0]="1.5.0":this.testUsingMimeTypes("1.4.2")?t[0]="1.4.2":"Safari"==this.browserName2&&(this.testUsingPluginsArray("1.7.0")?t[0]="1.7.0":this.testUsingPluginsArray("1.6")?t[0]="1.6.0":this.testUsingPluginsArray("1.5")?t[0]="1.5.0":this.testUsingPluginsArray("1.4.2")&&(t[0]="1.4.2")));}if(this.debug){for(var r=0;r<t.length;++r){e("[getJREs()] We claim to have detected Java SE "+t[r]);}}return t;},installJRE:function(e,t){if(this.isPluginInstalled()&&this.isAutoInstallEnabled(e)){var n=!1;return n=this.isCallbackSupported()?this.getPlugin().installJRE(e,t):this.getPlugin().installJRE(e),n&&(this.refresh(),null!=this.returnPage&&(document.location=this.returnPage)),n;}return this.installLatestJRE();},isAutoInstallEnabled:function(e){return this.isPluginInstalled()?("undefined"==typeof e&&(e=null),l(e)):!1;},isCallbackSupported:function(){return this.isPluginInstalled()&&this.compareVersionToPattern(this.getPlugin().version,["10","2","0"],!1,!0);},installLatestJRE:function(e){if(this.isPluginInstalled()&&this.isAutoInstallEnabled()){var t=!1;return t=this.isCallbackSupported()?this.getPlugin().installLatestJRE(e):this.getPlugin().installLatestJRE(),t&&(this.refresh(),null!=this.returnPage&&(document.location=this.returnPage)),t;}var n=this.getBrowser(),r=navigator.platform.toLowerCase();return"true"==this.EAInstallEnabled&&-1!=r.indexOf("win")&&null!=this.EarlyAccessURL?(this.preInstallJREList=this.getJREs(),null!=this.returnPage&&(this.myInterval=setInterval("deployJava.poll()",3000)),location.href=this.EarlyAccessURL,!1):"MSIE"==n?this.IEInstall():"Netscape Family"==n&&-1!=r.indexOf("win32")?this.FFInstall():(location.href=i((null!=this.returnPage?"&returnPage="+this.returnPage:"")+(null!=this.locale?"&locale="+this.locale:"")+(null!=this.brand?"&brand="+this.brand:"")),!1);},runApplet:function(t,n,i){("undefined"==i||null==i)&&(i="1.1");var r=i.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"$");if(null==this.returnPage&&(this.returnPage=document.location),null!=r){var a=this.getBrowser();"?"!=a?this.versionCheck(i+"+")?this.writeAppletTag(t,n):this.installJRE(i+"+")&&(this.refresh(),location.href=document.location,this.writeAppletTag(t,n)):this.writeAppletTag(t,n);}else{e("[runApplet()] Invalid minimumVersion argument to runApplet():"+i);}},writeAppletTag:function(e,t){var n="<applet ",i="",r="</applet>",s=!0;(null==t||"object"!=typeof t)&&(t=new Object);for(var l in e){a(l)?(n+=" "+l+'="'+e[l]+'"',"code"==l&&(s=!1)):t[l]=e[l];}var o=!1;for(var u in t){"codebase_lookup"==u&&(o=!0),("object"==u||"java_object"==u||"java_code"==u)&&(s=!1),i+='<param name="'+u+'" value="'+t[u]+'"/>';}o||(i+='<param name="codebase_lookup" value="false"/>'),s&&(n+=' code="dummy"'),n+=">",document.write(n+"\n"+i+"\n"+r);},versionCheck:function(t){var n=0,i=t.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"(\\*|\\+)?$");if(null!=i){for(var r=!1,a=!1,s=new Array,l=1;l<i.length;++l){"string"==typeof i[l]&&""!=i[l]&&(s[n]=i[l],n++);}"+"==s[s.length-1]?(a=!0,r=!1,s.length--):"*"==s[s.length-1]?(a=!1,r=!0,s.length--):s.length<4&&(a=!1,r=!0);for(var o=this.getJREs(),l=0;l<o.length;++l){if(this.compareVersionToPattern(o[l],s,r,a)){return !0;}}return !1;}var u="Invalid versionPattern passed to versionCheck: "+t;return e("[versionCheck()] "+u),alert(u),!1;},isWebStartInstalled:function(t){var n=this.getBrowser();if("?"==n){return !0;}("undefined"==t||null==t)&&(t="1.4.2");var i=!1,r=t.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"$");return null!=r?i=this.versionCheck(t+"+"):(e("[isWebStartInstaller()] Invalid minimumVersion argument to isWebStartInstalled(): "+t),i=this.versionCheck("1.4.2+")),i;},getJPIVersionUsingMimeType:function(){for(var e=0;e<navigator.mimeTypes.length;++e){var t=navigator.mimeTypes[e].type,n=t.match(/^application\/x-java-applet;jpi-version=(.*)$/);if(null!=n&&(this.firefoxJavaVersion=n[1],"Opera"!=this.browserName2)){break;}}},launchWebStartApplication:function(e){navigator.userAgent.toLowerCase();if(this.getJPIVersionUsingMimeType(),0==this.isWebStartInstalled("1.7.0")&&(0==this.installJRE("1.7.0+")||0==this.isWebStartInstalled("1.7.0"))){return !1;}var t=null;document.documentURI&&(t=document.documentURI),null==t&&(t=document.URL);var n,i=this.getBrowser();if("MSIE"==i?n='<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="0" height="0"><PARAM name="launchjnlp" value="'+e+'"><PARAM name="docbase" value="'+encodeURIComponent(t)+'"></object>':"Netscape Family"==i&&(n='<embed type="application/x-java-applet;jpi-version='+this.firefoxJavaVersion+'" width="0" height="0" launchjnlp="'+e+'"docbase="'+encodeURIComponent(t)+'" />'),"undefined"==document.body||null==document.body){document.write(n),document.location=t;}else{var r=document.createElement("div");r.id="div1",r.style.position="relative",r.style.left="-10000px",r.style.margin="0px auto",r.className="dynamicDiv",r.innerHTML=n,document.body.appendChild(r);}},createWebStartLaunchButtonEx:function(e,t){null==this.returnPage&&(this.returnPage=e);var n="javascript:deployJava.launchWebStartApplication('"+e+"');";document.write('<a href="'+n+'" onMouseOver="window.status=\'\'; return true;"><img src="'+this.launchButtonPNG+'" border="0" /></a>');},createWebStartLaunchButton:function(e,t){null==this.returnPage&&(this.returnPage=e);var n="javascript:if (!deployJava.isWebStartInstalled(&quot;"+t+"&quot;)) {if (deployJava.installLatestJRE()) {if (deployJava.launch(&quot;"+e+"&quot;)) {}}} else {if (deployJava.launch(&quot;"+e+"&quot;)) {}}";document.write('<a href="'+n+'" onMouseOver="window.status=\'\'; return true;"><img src="'+this.launchButtonPNG+'" border="0" /></a>');},launch:function(e){return document.location=e,!0;},isPluginInstalled:function(){var e=this.getPlugin();return e&&e.jvms?!0:!1;},isAutoUpdateEnabled:function(){return this.isPluginInstalled()?this.getPlugin().isAutoUpdateEnabled():!1;},setAutoUpdateEnabled:function(){return this.isPluginInstalled()?this.getPlugin().setAutoUpdateEnabled():!1;},setInstallerType:function(e){return this.installType=e,this.isPluginInstalled()?this.getPlugin().setInstallerType(e):!1;},setAdditionalPackages:function(e){return this.isPluginInstalled()?this.getPlugin().setAdditionalPackages(e):!1;},setEarlyAccess:function(e){this.EAInstallEnabled=e;},isPlugin2:function(){if(this.isPluginInstalled()&&this.versionCheck("1.6.0_10+")){try{return this.getPlugin().isPlugin2();}catch(e){}}return !1;},allowPlugin:function(){this.getBrowser();var e="Safari"!=this.browserName2&&"Opera"!=this.browserName2;return e;},getPlugin:function(){this.refresh();var e=null;return this.allowPlugin()&&(e=document.getElementById("deployJavaPlugin")),e;},compareVersionToPattern:function(e,t,n,i){if(void 0==e||void 0==t){return !1;}var r=e.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"$");if(null!=r){for(var a=0,s=new Array,l=1;l<r.length;++l){"string"==typeof r[l]&&""!=r[l]&&(s[a]=r[l],a++);}var o=Math.min(s.length,t.length);if(i){for(var l=0;o>l;++l){var u=parseInt(s[l]),h=parseInt(t[l]);if(h>u){return !1;}if(u>h){return !0;}}return !0;}for(var l=0;o>l;++l){if(s[l]!=t[l]){return !1;}}return n?!0:s.length==t.length;}return !1;},getBrowser:function(){if(null==this.browserName){var t=navigator.userAgent.toLowerCase();e("[getBrowser()] navigator.userAgent.toLowerCase() -> "+t),-1!=t.indexOf("msie")&&-1==t.indexOf("opera")?(this.browserName="MSIE",this.browserName2="MSIE"):-1!=t.indexOf("trident")||-1!=t.indexOf("Trident")?(this.browserName="MSIE",this.browserName2="MSIE"):-1!=t.indexOf("iphone")?(this.browserName="Netscape Family",this.browserName2="iPhone"):-1!=t.indexOf("firefox")&&-1==t.indexOf("opera")?(this.browserName="Netscape Family",this.browserName2="Firefox"):-1!=t.indexOf("chrome")?(this.browserName="Netscape Family",this.browserName2="Chrome"):-1!=t.indexOf("safari")?(this.browserName="Netscape Family",this.browserName2="Safari"):-1!=t.indexOf("mozilla")&&-1==t.indexOf("opera")?(this.browserName="Netscape Family",this.browserName2="Other"):-1!=t.indexOf("opera")?(this.browserName="Netscape Family",this.browserName2="Opera"):(this.browserName="?",this.browserName2="unknown"),e("[getBrowser()] Detected browser name:"+this.browserName+", "+this.browserName2);}return this.browserName;},testUsingActiveX:function(t){var n="JavaWebStart.isInstalled."+t+".0";if("undefined"==typeof ActiveXObject||!ActiveXObject){return e("[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?"),!1;}try{return null!=new ActiveXObject(n);}catch(i){return !1;}},testForMSVM:function(){var e="{08B0E5C0-4FCB-11CF-AAA5-00401C608500}";if("undefined"!=typeof oClientCaps){var t=oClientCaps.getComponentVersion(e,"ComponentID");return""==t||"5,0,5000,0"==t?!1:!0;}return !1;},testUsingMimeTypes:function(t){if(!navigator.mimeTypes){return e("[testUsingMimeTypes()] Browser claims to be Netscape family, but no mimeTypes[] array?"),!1;}for(var n=0;n<navigator.mimeTypes.length;++n){s=navigator.mimeTypes[n].type;var i=s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);if(null!=i&&this.compareVersions(i[1],t)){return !0;}}return !1;},testUsingPluginsArray:function(e){if(!navigator.plugins||!navigator.plugins.length){return !1;}for(var t=navigator.platform.toLowerCase(),n=0;n<navigator.plugins.length;++n){if(s=navigator.plugins[n].description,-1!=s.search(/^Java Switchable Plug-in (Cocoa)/)){if(this.compareVersions("1.5.0",e)){return !0;}}else{if(-1!=s.search(/^Java/)&&-1!=t.indexOf("win")&&(this.compareVersions("1.5.0",e)||this.compareVersions("1.6.0",e))){return !0;}}}return this.compareVersions("1.5.0",e)?!0:!1;},IEInstall:function(){return location.href=i((null!=this.returnPage?"&returnPage="+this.returnPage:"")+(null!=this.locale?"&locale="+this.locale:"")+(null!=this.brand?"&brand="+this.brand:"")),!1;},done:function(e,t){},FFInstall:function(){return location.href=i((null!=this.returnPage?"&returnPage="+this.returnPage:"")+(null!=this.locale?"&locale="+this.locale:"")+(null!=this.brand?"&brand="+this.brand:"")+(null!=this.installType?"&type="+this.installType:"")),!1;},compareVersions:function(e,t){for(var n=e.split("."),i=t.split("."),r=0;r<n.length;++r){n[r]=Number(n[r]);}for(var r=0;r<i.length;++r){i[r]=Number(i[r]);}return 2==n.length&&(n[2]=0),n[0]>i[0]?!0:n[0]<i[0]?!1:n[1]>i[1]?!0:n[1]<i[1]?!1:n[2]>i[2]?!0:n[2]<i[2]?!1:!0;},enableAlerts:function(){this.browserName=null,this.debug=!0;},poll:function(){this.refresh();var e=this.getJREs();0==this.preInstallJREList.length&&0!=e.length&&(clearInterval(this.myInterval),null!=this.returnPage&&(location.href=this.returnPage)),0!=this.preInstallJREList.length&&0!=e.length&&this.preInstallJREList[0]!=e[0]&&(clearInterval(this.myInterval),null!=this.returnPage&&(location.href=this.returnPage));},writePluginTag:function(){var e=this.getBrowser();if("MSIE"==e){var t={name:"object",attributes:{id:"deployJavaPlugin",classid:"clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA",width:"0",height:"0"}};modelsToAppendToBodyFromDeployJava.push(t);}else{"Netscape Family"==e&&this.allowPlugin()&&this.writeEmbedTag();}},refresh:function(){navigator.plugins.refresh(!1);var e=this.getBrowser();if("Netscape Family"==e&&this.allowPlugin()){var t=document.getElementById("deployJavaPlugin");null==t&&this.writeEmbedTag();}},writeEmbedTag:function(){var e=!1;if(null!=navigator.mimeTypes){for(var t=0;t<navigator.mimeTypes.length;t++){if(navigator.mimeTypes[t].type==this.mimeType&&navigator.mimeTypes[t].enabledPlugin){var n={name:"embed",attributes:{id:"deployJavaPlugin",type:this.mimeType,hidden:"true"}};modelsToAppendToBodyFromDeployJava.push(n),e=!0;}}if(!e){for(var t=0;t<navigator.mimeTypes.length;t++){if(navigator.mimeTypes[t].type==this.oldMimeType&&navigator.mimeTypes[t].enabledPlugin){({name:"embed",attributes:{id:"deployJavaPlugin",type:this.oldMimeType,hidden:"true"}});modelsToAppendToBodyFromDeployJava.push(this.oldMimeType);}}}}}};if(h.writePluginTag(),null==h.locale){var c=null;if(null==c){try{c=navigator.userLanguage;}catch(g){}}if(null==c){try{c=navigator.systemLanguage;}catch(g){}}if(null==c){try{c=navigator.language;}catch(g){}}null!=c&&(c.replace("-","_"),h.locale=c);}return h;})();window["EXT_LIB_DEF_FUNC_BOWSER"]=function(){function t(t){function n(e){var n=t.match(e);return n&&n.length>1&&n[1]||"";}function r(e){var n=t.match(e);return n&&n.length>1&&n[2]||"";}function N(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return undefined;}}var i=n(/(ipod|iphone|ipad)/i).toLowerCase(),s=/like android/i.test(t),o=!s&&/android/i.test(t),u=/nexus\s*[0-6]\s*/i.test(t),a=!u&&/nexus\s*[0-9]+/i.test(t),f=/CrOS/.test(t),l=/silk/i.test(t),c=/sailfish/i.test(t),h=/tizen/i.test(t),p=/(web|hpw)os/i.test(t),d=/windows phone/i.test(t),v=/SamsungBrowser/i.test(t),m=!d&&/windows/i.test(t),g=!i&&!l&&/macintosh/i.test(t),y=!o&&!c&&!h&&!p&&/linux/i.test(t),b=n(/edge\/(\d+(\.\d+)?)/i),w=n(/version\/(\d+(\.\d+)?)/i),E=/tablet/i.test(t)&&!/tablet pc/i.test(t),S=!E&&/[^-]mobi/i.test(t),x=/xbox/i.test(t),T;/opera/i.test(t)?T={name:"Opera",opera:e,version:w||n(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?T={name:"Opera",opera:e,version:n(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||w}:/SamsungBrowser/i.test(t)?T={name:"Samsung Internet for Android",samsungBrowser:e,version:w||n(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(t)?T={name:"Opera Coast",coast:e,version:w||n(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(t)?T={name:"Yandex Browser",yandexbrowser:e,version:w||n(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?T={name:"UC Browser",ucbrowser:e,version:n(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?T={name:"Maxthon",maxthon:e,version:n(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?T={name:"Epiphany",epiphany:e,version:n(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?T={name:"Puffin",puffin:e,version:n(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?T={name:"Sleipnir",sleipnir:e,version:n(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?T={name:"K-Meleon",kMeleon:e,version:n(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:d?(T={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},b?(T.msedge=e,T.version=b):(T.msie=e,T.version=n(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?T={name:"Internet Explorer",msie:e,version:n(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:f?T={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/chrome.+? edge/i.test(t)?T={name:"Microsoft Edge",msedge:e,version:b}:/vivaldi/i.test(t)?T={name:"Vivaldi",vivaldi:e,version:n(/vivaldi\/(\d+(\.\d+)?)/i)||w}:c?T={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:n(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?T={name:"SeaMonkey",seamonkey:e,version:n(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(T={name:"Firefox",firefox:e,version:n(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(T.firefoxos=e,T.osname="Firefox OS")):l?T={name:"Amazon Silk",silk:e,version:n(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?T={name:"PhantomJS",phantom:e,version:n(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?T={name:"SlimerJS",slimer:e,version:n(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?T={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:w||n(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:p?(T={name:"WebOS",osname:"WebOS",webos:e,version:w||n(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(T.touchpad=e)):/bada/i.test(t)?T={name:"Bada",osname:"Bada",bada:e,version:n(/dolfin\/(\d+(\.\d+)?)/i)}:h?T={name:"Tizen",osname:"Tizen",tizen:e,version:n(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||w}:/qupzilla/i.test(t)?T={name:"QupZilla",qupzilla:e,version:n(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||w}:/chromium/i.test(t)?T={name:"Chromium",chromium:e,version:n(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||w}:/chrome|crios|crmo/i.test(t)?T={name:"Chrome",chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:o?T={name:"Android",version:w}:/safari|applewebkit/i.test(t)?(T={name:"Safari",safari:e},w&&(T.version=w)):i?(T={name:i=="iphone"?"iPhone":i=="ipad"?"iPad":"iPod"},w&&(T.version=w)):/googlebot/i.test(t)?T={name:"Googlebot",googlebot:e,version:n(/googlebot\/(\d+(\.\d+))/i)||w}:T={name:n(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!T.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(T.name=T.name||"Blink",T.blink=e):(T.name=T.name||"Webkit",T.webkit=e),!T.version&&w&&(T.version=w)):!T.opera&&/gecko\//i.test(t)&&(T.name=T.name||"Gecko",T.gecko=e,T.version=T.version||n(/gecko\/(\d+(\.\d+)?)/i)),!T.windowsphone&&!T.msedge&&(o||T.silk)?(T.android=e,T.osname="Android"):!T.windowsphone&&!T.msedge&&i?(T[i]=e,T.ios=e,T.osname="iOS"):g?(T.mac=e,T.osname="macOS"):x?(T.xbox=e,T.osname="Xbox"):m?(T.windows=e,T.osname="Windows"):y&&(T.linux=e,T.osname="Linux");var C="";T.windows?C=N(n(/Windows ((NT|XP)( \d\d?.\d)?)/i)):T.windowsphone?C=n(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):T.mac?(C=n(/Mac OS X (\d+([_\.\s]\d+)*)/i),C=C.replace(/[_\s]/g,".")):i?(C=n(/os (\d+([_\s]\d+)*) like mac os x/i),C=C.replace(/[_\s]/g,".")):o?C=n(/android[ \/-](\d+(\.\d+)*)/i):T.webos?C=n(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):T.blackberry?C=n(/rim\stablet\sos\s(\d+(\.\d+)*)/i):T.bada?C=n(/bada\/(\d+(\.\d+)*)/i):T.tizen&&(C=n(/tizen[\/\s](\d+(\.\d+)*)/i)),C&&(T.osversion=C);var k=!T.windows&&C.split(".")[0];if(E||a||i=="ipad"||o&&(k==3||k>=4&&!S)||T.silk){T.tablet=e;}else{if(S||i=="iphone"||i=="ipod"||o||u||T.blackberry||T.webos||T.bada){T.mobile=e;}}return T.msedge||T.msie&&T.version>=10||T.yandexbrowser&&T.version>=15||T.vivaldi&&T.version>=1||T.chrome&&T.version>=20||T.samsungBrowser&&T.version>=4||T.firefox&&T.version>=20||T.safari&&T.version>=6||T.opera&&T.version>=10||T.ios&&T.osversion&&T.osversion.split(".")[0]>=6||T.blackberry&&T.version>=10.1||T.chromium&&T.version>=20?T.a=e:T.msie&&T.version<10||T.chrome&&T.version<20||T.firefox&&T.version<20||T.safari&&T.version<6||T.opera&&T.version<10||T.ios&&T.osversion&&T.osversion.split(".")[0]<6||T.chromium&&T.version<20?T.c=e:T.x=e,T;}function r(e){return e.split(".").length;}function i(e,t){var n=[],r;if(Array.prototype.map){return Array.prototype.map.call(e,t);}for(r=0;r<e.length;r++){n.push(t(e[r]));}return n;}function s(e){var t=Math.max(r(e[0]),r(e[1])),n=i(e,function(e){var n=t-r(e);return e+=(new Array(n+1)).join(".0"),i(e.split("."),function(e){return(new Array(20-e.length)).join("0")+e;}).reverse();});while(--t>=0){if(n[0][t]>n[1][t]){return 1;}if(n[0][t]!==n[1][t]){return -1;}if(t===0){return 0;}}}function o(e,r,i){var o=n;typeof r=="string"&&(i=r,r=void 0),r===void 0&&(r=!1),i&&(o=t(i));var u=""+o.version;for(var a in e){if(e.hasOwnProperty(a)&&o[a]){if(typeof e[a]!="string"){throw new Error("Browser version in the minVersion map should be a string: "+a+": "+String(e));}return s([u,e[a]])<0;}}return r;}function u(e,t,n){return !o(e,t,n);}var e=!0,n=t(typeof navigator!="undefined"?navigator.userAgent||"":"");return n.test=function(e){for(var t=0;t<e.length;++t){var r=e[t];if(typeof r=="string"&&r in n){return !0;}}return !1;},n.isUnsupportedBrowser=o,n.compareVersions=s,n.check=u,n._detect=t,n;};var g,h,ba=(new Date).getTime()+"-"+Math.floor(1001*Math.random()+0);function l(a,b,c,d,f){this.mimeType=a;this.b=b;this.src=c;this.m=d;this.a=f}g=l.prototype;g.u=function(){return this.m};g.v=function(){return this.mimeType};g.w=function(){return this.b};g.s=function(){return this.a};g.h=function(){return"object"===typeof this.a?this.a.ImageWidth:void 0};g.f=function(){return"object"===typeof this.a?this.a.ImageLength:void 0};g.c=function(){return"object"===typeof this.a?this.a.BitsPerPixel:void 0};g.j=function(){return"object"===typeof this.a?2==this.a.PixelType:void 0};g.l=function(){return"object"===typeof this.a?1==this.a.PixelType:void 0};g.i=function(){return"object"===typeof this.a?0==this.a.PixelType:void 0};g.g=function(){return"object"===typeof this.a?Math.floor(this.a.XResolution):void 0};g.o=function(){if(this.b)return this.b?ca(this.src):void 0};g.toString=function(){var a="";this.j()?a+="Color ":this.l()?a+="Gray ":this.i()&&(a+="Black/white ");a+="image:";var b=this.h(),c=this.f(),d=this.c(),f=this.g();0<b&&0<c&&(a+=" "+b+" x "+c);0<d&&(a+=" "+d+"-bit");0<f&&(a+=" @ "+f+" DPI");return a};function n(a,b){var c="scannerjs_"+a;c=window&&c in window?window[c]:void 0;!c&&window&&"scannerjs_config"in window&&(c=a in window.scannerjs_config?window.scannerjs_config[a]:void 0);return void 0==c||null==c?b:c}var da,p,q,ea,r,fa,ha,ia,t,ja,u,w,y,z,ka,A,B,C,la,ma,oa,D,pa,E,F,G,H,I,J,K,qa,L,M;da=n("log_level",0);p=n("java_applet_enabled",!1);q=!1;ea=n("scan_app_enabled",!0);r=n("scan_app_download_url","http://cdn.asprise.com/scanapp/scan-setup.exe");fa=n("scan_app_min_version","2.04");ha=n("license","com_asprise_scan_app_license"in window?window.com_asprise_scan_app_license:null);ia=n("skip_load_default_css",!1);t=n("scan_app_port_range_lowest",9713);ja=n("scan_app_port_range_highest",9716);A=ka=z=y=w=u=void 0;B=[];la=C=void 0;ma=n("form_field_name_for_img_objects","com_asprise_scannerjs_images[]");oa=n("form_field_name_for_img_urls","com_asprise_scannerjs_images_urls[]");D=!1;pa=n("eager_init",!0);E=null;F=n("display_install_func",void 0);G=n("display_scan_ready_func",void 0);H=n("event_listener",void 0);I=n("sys_response_callback_func",void 0);J=n("reverse_request_handler_func",void 0);K=!1;qa=n("additional_css_classes_for_dialogs","");L=n("file_name_base","scanner");M=function(a){if(!D||a){a&&(da=n("log_level",0),t=n("scan_app_port_range_lowest",9713),ja=n("scan_app_port_range_highest",9716),F=n("display_install_func",void 0),G=n("display_scan_ready_func",void 0),H=n("event_listener",void 0),I=n("sys_response_callback_func",void 0),J=n("reverse_request_handler_func",void 0),N=n("max_conn_attempts",-1));E=new Date;H&&H("pre-init");n("skip_fix_formdata_append",!1)||ra();O("Initializing Scanner.js v2.11.3 \u00a9 Asprise ...");ia||sa();if(p&&P()){(a=window.location.href)&&0>a.toLowerCase().indexOf("http:")&&0>a.toLowerCase().indexOf("https:")&&(O("The scan applet does *NOT* work in local HTML files. Please host this page on localhost or any other servers and access it using http:// or https://.",!0),alert("The scan applet does *NOT* work in local HTML files. Please host this page on localhost or any other servers and access it using http:// or https://."));O("Attempt to enable Java applet for scanning ...");O(Q.name+" "+Q.version+" supports NPAPI? "+P());ta();try{ua()}catch(b){O("Failed to add applet element: "+b,!0)}ea&&R()&&(!va()||Q.firefox?window.setTimeout(function(){K||(O("Java applet doesn't seem running. Falling back to scan app ..."),S())},1E3):O("JRE: "+wa.getJREs()))}else p&&!P()&&O("The scanning Java applet is set to on, but this browser doesn't support NPAPI: "+Q.name+" "+Q.version,!0),S();O("Scanner.js initialized.");D=!0;H&&H("post-init")}};var T=null;function U(a,b,c,d,f,e,k,m,v,aa){V()||q||"scan"!=b&&"listSources"!=b&&"getSource"!=b&&"getSystemInfo"!=b||(T=arguments);if(!V()&&!q)return p&&P()?null!=E&&1E4<(new Date).getTime()-E.getTime()&&xa(!0):xa(!0),!1;if(2>arguments.length)return W("Invalid function call - func name is not specified"),!1;if("function"!==typeof a)return W("asprise_scanner_js_call_function requires a valid callbackFunc"),!1;if("PENDING"==A||"PROCESSING"==A)return W("You can not submit a new request as the previous request has not completed yet."),!1;if(!JSON||"function"!==typeof JSON.stringify)return W("JSON.stringify is not supported by your browser."),!1;for(var x={funcCallId:""+(new Date).getTime()+"-"+Math.floor(1E4*Math.random()),funcName:b,time:(new Date).getTime(),userAgent:navigator.userAgent,isModernBrowser:R(),windowTitle:document.title,url:window.location.href,pageLoadId:ya()},Aa=[],na=2;na<arguments.length;na++)Aa.push(arguments[na]);x.funcArgs=Aa;x=JSON.stringify(x);A="PENDING";C=x;la=a;H&&H("func-call",x);za();return!0}function Ba(){if("PENDING"==A||"PROCESSING"==A){var a=JSON.parse(C);B.push(a);O("Canceled func call: "+a.funcName+", call id: "+a.funcCallId);H&&H("func-cancelled",a)}A=void 0}function za(){if(V()&&"PENDING"==A)try{w.send(C),A="PROCESSING"}catch(a){X(!1,"Failed: "+a,null,null,null,null,null),O(a,!0)}}function Ca(a){var b=null;if("string"===typeof a&&6<a.length&&"<error"==a.substr(0,6))throw a;if(a&&7<a.length&&"SYSTEM/"==a.substr(0,7))try{var c=a.indexOf(":");if(0<c&&"NET"==a.substr(7,3)){var d=a.substr(0,c);Da(a.substr(c+1).trim().split("|"),function(a,b){try{w.send(d+":"+JSON.stringify({success:a,data:b}))}catch(x){O("Failed to send command: "+x,!0)}})}else I&&(0<c?I(a.substr(0,c),a.substr(c+1)):W("Invalid system response: "+a))}catch(v){O("Error while processing system request: "+v,!0)}else if(a&&3<a.length&&"RR:"==a.substr(0,3))try{var f=JSON.parse(a.substr(3)),e=f.rr_id,k=f.func,m=f.args;J?J(k,m,function(a,b){try{w.send("RR_RESULT:"+JSON.stringify({rr_id:e,result:{result:a,error:b}}))}catch(x){O("Failed to send response to scan app: "+x,!0)}}):w.send("RR_RESULT:"+JSON.stringify({rr_id:e,result:{result:null,error:"reverseRequestHandlerFunc is not set"}}))}catch(v){O("Error while processing RR: "+v,!0)}else{try{b=JSON.parse(a)}catch(v){W("Failed to parse JSON: "+a);X(!1,"Failed to parse JSON: "+a,null,null,null,null,null);return}b instanceof Array?X(b[0],b[1],b[2],b[3],b[4],5<b.length?b[5]:null,6<b.length?b[6]:null):X(!1,"JSON returned from WebSocket is not array",null,null,null,null,null)}}function X(a,b,c,d,f,e,k){null!=f&&1!=f&&W("resultCount should be null or 1, actual: "+f);if(k)for(c=0;c<B.length;c++)if(d=B[c],null!=d&&d.funcCallId==k){O("Response is ignored for cancelled func call: "+d.funcName+", call id: "+d.funcCallId+":\n"+e);return}A="COMPLETE";la(a,b,e);if(H)try{H("func-return")}catch(m){O("Exception occurred in event handler: "+m,!0)}try{window.focus()}catch(m){}}function Ea(a){Ca(a.data)}function V(){return void 0!=w}function Fa(a){K=!0;Ba();xa(!1);"function"==typeof G&&G();H&&H("ready",a);T&&2<=T.length&&U.apply(null,Array.prototype.slice.call(T))}function Ga(a){w=a;O("Scan WebSocket server connected: "+w.url);ha&&a.send("LICENSE: "+ha);fa&&a.send("MIN_VERSION: "+fa);Fa(!0);za()}function Ha(){w=void 0;S(!0)}var Ia=0,N=n("max_conn_attempts",-1);function S(a){if(ea)if(w)y=void 0,w.close();else{a||(u=void 0,Ia+=1);a=null!=window.location.href&&"http:"==window.location.href.substr(0,5)?"ws://127.0.0.1":"wss://local.scannerjs.com";var b=3<a.length&&"wss"==a.substr(0,3).toLowerCase();void 0==u?u=t:void 0!=y&&1E4>(new Date).getTime()-y&&(u+=1);u%2!=(b?0:1)&&(u+=1);if(u<t||u>ja)O("Failed to connect to WebSocket server.",!0),H&&H("failed-to-connect"),P(),N=n("max_conn_attempts",-1),!(0<N)||Ia<N?S():(Ia=0,H&&H("failed-to-connect-final"));else{y=(new Date).getTime();try{b=Ja;var c=a+":"+u+"/"+ya()+"/";var d=window.location.href;if(null==d)var f=d;else{var e=d.indexOf("#");f=0<=e?d.substr(0,e):d}b(c+encodeURIComponent(f))}catch(k){H&&H("disconnected",k),Ha()}}}else W("Scan app implementation is disabled explicitly.")}function Ka(){for(var a=document.getElementsByTagName("script"),b=0;b<a.length;b++){var c=a.item(b),d=new RegExp(L+"\\.js(\\?\\w*)?$");if(c.src&&c.src.match(d))return a=c.src,a.substring(0,a.lastIndexOf("/")+1)}return"https://cdn.asprise.com/scannerjs/"}function ua(){var a;(a=Ka())||(a="https://cdn.asprise.com/scannerjs/");-1<a.indexOf("FORCE_REFRESH")&&-1<window.location.href.indexOf("FORCE_REFRESH")&&(a=a.replace(/FORCE_REFRESH/g,"FORCE_REFRESH_"+(new Date).getTime()));var b=document.getElementById("com_asprise_scan_applet");null==b&&(b=wa.versionCheck("1.7.0_45+")?"asprise_scan.jar":"asprise_scan-legacy.jar",b=Y({name:"applet",attributes:{id:"com_asprise_scan_applet",codebase:a,archive:b,code:"com.asprise.imaging.scan.ui.web.ScanApplet",width:1,height:1,style:"z-index: -999;"},children:[{name:"param",attributes:{name:"permissions",value:"all-permissions"}},{name:"param",attributes:{name:"java_version",value:"1.6+"}},{name:"param",attributes:{name:"java_arguments",value:"-Xmx512m"}},{name:"param",attributes:{name:"separate_jvm",value:"true"}},{name:"param",attributes:{name:"codebase_lookup",value:"false"}},{name:"param",attributes:{name:"mayscript",value:"mayscript"}}]}),a=document.getElementsByTagName("body"),a=null!=a&&0<a.length?a.item(0):null,null==a?W('please do not execute com_asprise_scan_addScanAppletToDomIfNotExists in <header>. document.getElementsByTagName("body").length = '+document.getElementsByTagName("body").length):a.appendChild(b))}function xa(a){if("function"!=typeof F||F(a))D?La(a):(M(!1),a||La(a))}function La(a){var b=document.getElementById("asprise-web-scan-setup-dialog-wrapper");if(a||b){if(!b){b={name:"div",attributes:{id:"asprise-web-scan-setup-dialog-wrapper","class":"asprise-web-scan-dialog-wrapper "+qa},children:[{name:"div",attributes:{id:"asprise-web-scan-setup-dialog-overlay","class":"overlay asprise-web-scan-dialog-display",style:"display: none"}},{name:"div",attributes:{id:"asprise-web-scan-setup-dialog","class":"asprise-web-scan-dialog asprise-web-scan-dialog-display",style:"display: none"},children:[{name:"button",attributes:{"class":"top-right-closer",title:"Dismiss this dialog"}},{name:"div",attributes:{"class":"asprise-web-scan-setup",style:"margin: auto"},children:[{name:"h2",attributes:{text:"Please complete one-time setup"}},{name:"table",attributes:{"class":"asprise-web-scan-setup-instruction"},children:[{name:"tr",attributes:{"class":"icon"},children:[{name:"td",attributes:{width:"33%","class":"download"}},{name:"td",attributes:{width:"33%","class":"run"}},{name:"td",attributes:{width:"33%","class":"enjoy"}}]},{name:"tr",attributes:{"class":"after_icon"},children:[{name:"td",attributes:{colspan:"3"}}]},{name:"tr",attributes:{"class":"text"},children:[{name:"td",attributes:{"class":"download"},children:[{name:"h3",children:[{name:"a",attributes:{href:r,target:"_blank",text:"Download"}}]},{name:"p",children:[{name:"a",attributes:{"class":"underline",href:r,target:"_blank",title:"One time setup executable",text:"Download the setup"}},{name:"span",attributes:{text:";"}},{name:"br"},{name:"span",attributes:{style:"font-size: smaller",text:"Other formats: "}},{name:"a",attributes:{style:"font-size: smaller","class":"underline",href:r.substr(0,r.lastIndexOf("."))+".zip",target:"_blank",title:"Zip format",text:"zip"}},{name:"span",attributes:{style:"font-size: smaller",text:" \u00b7 "}},{name:"a",attributes:{style:"font-size: smaller","class":"underline",href:r.substr(0,r.lastIndexOf("."))+".7z",target:"_blank",title:"7Z format",text:"7z"}}]}]},{name:"td",attributes:{"class":"run"},children:[{name:"h3",attributes:{text:"Run"}},{name:"p",attributes:{text:"Run the setup, follow the instruction;"}}]},{name:"td",attributes:{"class":"enjoy"},children:[{name:"h3",attributes:{text:"Scan"}},{name:"p",attributes:{text:"Viola you're ready to scan!"}}]}]}]},{name:"p",children:[{name:"span",attributes:{text:"Already have the scan app set up? "}},{name:"a",attributes:{"class":"underline",href:"AspriseWebScan://browser",target:"_top",text:"Click here to enable it."}}]}]}]},{name:"div",attributes:{id:"asprise-web-scan-setup-ok-dialog","class":"asprise-web-scan-dialog small-dialog asprise-web-scan-setup-ok-dialog",style:"display: none"},children:[{name:"button",attributes:{"class":"top-right-closer",title:"Dismiss this dialog"}},{name:"div",attributes:{"class":"asprise-web-scan-setup-ok"},children:[{name:"div",attributes:{"class":"icon"}},{name:"div",children:[{name:"p",attributes:{text:"All set. You may scan now."}}]}]}]}]};var c=document.getElementsByTagName("body");c=null!=c&&0<c.length?c.item(0):null;if(null==c)return W("please do not execute displaySetupDialog in <header>!"),!1;c.appendChild(Y(b));if(b=document.getElementById("asprise-web-scan-setup-dialog-wrapper")){c=b.getElementsByClassName("top-right-closer");for(var d=0;c&&d<c.length;++d)c[d].addEventListener("click",function(){this.parentElement.previousElementSibling.style.display="none";this.parentElement.style.display="none"})}}a?Z(b,".asprise-web-scan-dialog-display","display","block"):(V()?(Z(b,".asprise-web-scan-setup-ok-dialog","display","block"),Z(b,".asprise-web-scan-setup-ok-dialog","opacity","1"),Ma(b.querySelectorAll(".asprise-web-scan-setup-ok-dialog"),2500)):Z(b,".asprise-web-scan-setup-ok-dialog","display","none"),Z(b,".asprise-web-scan-dialog-display","display","none"))}}function Z(a,b,c,d){a=a.querySelectorAll(b);for(b=0;a&&b<a.length;b++)a[b].style[c]=d}function Ma(a,b){if(null!=a&&0!=a.length)if(0<b)setTimeout(function(){Ma(a)},b);else var c=1,d=setInterval(function(){if(0>=c){clearInterval(d);for(var b=0;b<a.length;b++)a.item(b).style.display="none"}else{for(b=0;b<a.length;b++)a.item(b).style.opacity=c.toFixed(1);c-=.1}},50)}function sa(){for(var a=!1,b=document.getElementsByTagName("link"),c=0;c<b.length;c++){var d=b.item(c),f=new RegExp(L+"\\.css(\\?\\w*)?$");d.href&&d.href.match(f)&&(a=!0)}a||(a=Ka()+L+".css",b=document.createElement("link"),b.setAttribute("rel","stylesheet"),b.setAttribute("type","text/css"),b.setAttribute("href",a),document.getElementsByTagName("head")[0].appendChild(b))}function Da(a,b){if(!Array.isArray(a))throw"Expecting an Array, actual: "+a;if(0==a.length)b(!1,null);else{var c=a[0];a.splice(0,1);var d=new XMLHttpRequest;d.open("GET",c,!0);d.onreadystatechange=function(){d.readyState===XMLHttpRequest.DONE&&(200<=d.status&&300>d.status?b(!0,d.responseText):(O("Failed to "+c+": "+d.statusText,!0),Da(a,b)))};d.send()}}function Ja(a){if("WebSocket"in window)var b=new WebSocket(a);else if("MozWebSocket"in window)b=new MozWebSocket(a);else return;"function"===typeof Ga?b.onopen=function(){Ga(b)}:(O("No onOpenFunc specified for "+a),b.onopen=function(){O("WebSocket ["+b.url+"] opens.")});"function"===typeof Ha?b.onclose=function(a){z=a;Ha()}:(O("No onCloseFunc specified for "+a),b.onclose=function(a){z=a;O("WebSocket ["+b.url+"] closes: "+a.code+" / "+a.reason+" / clean? "+a.A)});"function"===typeof Ea?(b.onmessage=function(a){Ea(a)},b.onerror=function(a){ka=a;O("WebSocket ["+b.url+"] error occurs:"+JSON.stringify(a))},H&&H("disconnected",void 0)):W("You must specify onMesgFunc for "+a)}function R(){return"function"===typeof atob&&"function"===typeof ArrayBuffer&&"function"===typeof Uint8Array&&"function"===typeof Blob&&"function"===typeof FormData}function ca(a,b){if(!R())return W("base64ToBlob() is not supported in legacy browsers."),null;if(null!=a&&0==a.indexOf("data:")){var c=a.indexOf(";");!b&&0<c&&(b=a.substring(5,c));c=a.indexOf("base64,");0<c&&(a=a.substr(c+7))}a=a.replace(/(\r\n|\n|\r)/gm,"");a=atob(a);c=a.length;var d=new ArrayBuffer(c);d=new Uint8Array(d);for(var f=0;f<c;f++)d[f]=a.charCodeAt(f);a=new Blob([d],{type:b});if(!e){c=new Date;var e=[c.getFullYear(),c.getMonth()+1,c.getDate(),c.getHours(),c.getMinutes(),c.getSeconds()];e=""+(2E3<e[0]?e[0]-2E3:e[0])+(10>e[1]?"0":"")+e[1]+(10>e[2]?"0":"")+e[2]+(10>e[3]?"0":"")+e[3]+(10>e[4]?"0":"")+e[4]+(10>e[5]?"0":"")+e[5];c=c.getMilliseconds();d=1;for(f=0;2>f;f++)d*=10;for(d=""+(Math.floor(Math.random()*(d-0+1))+0);2>d.length;)d="0"+d;e=e+((100>c?(10>c?"0":"")+"0":"")+c)+d;e=e+"."+(null==b?"unknown":0<=b.toLowerCase().indexOf("bmp")?"bmp":0<=b.toLowerCase().indexOf("png")?"png":0<=b.toLowerCase().indexOf("jp")?"jpg":0<=b.toLowerCase().indexOf("tif")?"tif":0<=b.toLowerCase().indexOf("pdf")?"pdf":"unknown")}if(e)try{a.lastModifiedDate=new Date,a.name=e}catch(k){}return a}function ya(){window.sessionStorage&&(sessionStorage.getItem("pageLoadId")?ba=sessionStorage.getItem("pageLoadId"):sessionStorage.setItem("pageLoadId",ba));return ba}function va(){var a=wa.getJREs();return void 0==a||""==a||a instanceof Array&&0==a.length?!1:!0}function P(){if(!("version"in Q))return W("Invalid bowser"),!1;var a=Math.floor(Q.version);return Q.chrome?45>a:Q.firefox?53>a:Q.msedge?!1:Q.msie?!0:!1}function Y(a){var b=a.attributes,c=document.createElement(a.name);if(null!=b)for(var d in b)c.setAttribute(d,b[d]);(b=null!=b&&"text"in b?b.text:void 0)&&c.appendChild(document.createTextNode(b));if(a.children instanceof Array)for(a=a.children,b=0;b<a.length;b++)a[b]&&c.appendChild(Y(a[b]));return c}function O(a,b){if(!(da>(b?16:4)))if(window.console){var c=(new Date).toLocaleTimeString();b?console.error?console.error(c+" "+a):console.log(c+" ERROR: "+a):console.info?console.info(c+" "+a):console.log(c+" INFO: "+a)}else b&&window.alert&&alert("ERROR: "+a)}function W(a){O(a,!0)}function ra(){h||(h=window.FormData.prototype.append,window.FormData.prototype.append=function(a,b,c){b instanceof Blob&&null==c?h.apply(this,[a,b,b.name]):h.apply(this,arguments)})}var wa=deployJava;function ta(){if(0!=modelsToAppendToBodyFromDeployJava.length){var a=document.getElementsByTagName("body");a=null!=a&&0<a.length?a.item(0):null;if(null==a)W("Unexcepted error - unable to get body");else for(var b=0;b<modelsToAppendToBodyFromDeployJava.length;b++)a.appendChild(Y(modelsToAppendToBodyFromDeployJava[b]))}}var Q=window.EXT_LIB_DEF_FUNC_BOWSER();delete window.EXT_LIB_DEF_FUNC_BOWSER;window.scannerjs=window.scannerjs||{};window.scannerjs.webSocketSend=function(a){return w.send(a)};window.scannerjs.getWebSocket=function(){return w};window.scannerjs.getWebSocketLastErrorEvent=function(){return ka};window.scannerjs.getWebSocketLastCloseEvent=function(){return z};window.scannerjs.doesCurrentBrowserSupportNPAPI=P;window.scannerjs.onAppletStarted=function(a){q=!0;O("Applet started: "+a);Fa(!1)};window.scannerjs.getRequestFuncCall=function(){return C};window.scannerjs.functionReturn=X;window.scannerjs.getRequestStatus=function(){return A};window.scannerjs.setRequestStatus=function(a){return A=a};window.scannerjs.callFunction=U;window.scannerjs.scan=function(a,b,c,d){if("string"!==typeof b&&(!JSON||"function"!==typeof JSON.stringify))return W("JSON.stringify is not supported by your browser."),!1;var f="string"===typeof b?b:JSON.stringify(b);return U(a,"scan",f,3<=arguments.length?c:null,4<=arguments.length?d:null)};window.scannerjs.listSources=function(a,b,c,d,f,e){return U(a,"listSources",2<=arguments.length?b:!0,3<=arguments.length?c:null,4<=arguments.length?d:!1,5<=arguments.length?f:!0,6<=arguments.length&&null!=e?"string"===typeof e?e:JSON.stringify(e):"")};window.scannerjs.getSource=function(a,b,c,d,f,e,k,m){return U(a,"getSource",2<=arguments.length?b:"select",3<=arguments.length?c:!0,4<=arguments.length?d:null,5<=arguments.length?f:!0,6<=arguments.length?e:!1,7<=arguments.length?k:null,8<=arguments.length&&null!=m?"string"===typeof m?m:JSON.stringify(m):"")};window.scannerjs.getSystemInfo=function(a){return U(a,"asprise_scan_system_info")};window.scannerjs.initialize=M;window.scannerjs.getScannedImages=function(a,b,c){var d=[];2>arguments.length&&(b=!0);3>arguments.length&&(c=!1);if(!b&&!c)return W("getImages: will return no image as neither includeOriginals nor includeThumbnails is true."),d;if("string"===typeof a){if(6<a.length&&"<error"==a.substr(0,6))throw a;try{a=JSON.parse(a)}catch(x){throw a;}}if("object"===typeof a&&a.output instanceof Array)for(var f=a.output,e=0;e<f.length;e++){var k=f[e];if(b&&"return-base64"==k.type||c&&"return-base64-thumbnail"==k.type){var m=k.format;m=null==m?"application/octet-stream":0<=m.toLowerCase().indexOf("bmp")?"image/bmp":0<=m.toLowerCase().indexOf("png")?"image/png":0<=m.toLowerCase().indexOf("jp")?"image/jpeg":0<=m.toLowerCase().indexOf("tif")?"image/tiff":0<=m.toLowerCase().indexOf("pdf")?"application/pdf":"application/octet-stream";if("application/octet-stream"==m)O("Unable to find mime type for "+k.format);else if(k.result instanceof Array)for(var v=0;v<k.result.length;v++){var aa=a.images instanceof Array&&v<a.images.length?a.images[v]:null;d.push(new l(m,!0,"data:"+m+";base64,"+k.result[v],aa,aa?aa.image_info:void 0,k.hasOwnProperty("selected_action")?k.selected_action:void 0,k.hasOwnProperty("selected_filename")?k.selected_filename:void 0))}else O("Output contains no result records",!0)}}return d};window.scannerjs.getUploadResponse=function(a){if("string"===typeof a){if(6<a.length&&"<error"==a.substr(0,6))throw a;try{a=JSON.parse(a)}catch(d){throw a;}}if("object"===typeof a&&a.output instanceof Array){a=a.output;for(var b=0;b<a.length;b++){var c=a[b];if(("upload"==c.type||"upload-thumbnail"==c.type)&&c.result instanceof Array&&0<c.result.length)return c.result[0]}}};window.scannerjs.getSaveResponse=function(a){if("string"===typeof a){if(6<a.length&&"<error"==a.substr(0,6))throw a;try{a=JSON.parse(a)}catch(d){throw a;}}if("object"===typeof a&&a.output instanceof Array){a=a.output;for(var b=0;b<a.length;b++){var c=a[b];if("save"==c.type||"save-thumbnail"==c.type)return JSON.stringify(c.result)}}};window.scannerjs.createDomElementFromModel=Y;window.scannerjs.submitFormWithImages=function(a,b,c){if(b instanceof Array&&0!=b.length){for(var d=0;d<b.length;d++){var f=b[d];if(!(f instanceof l)){O("Invalid image object: "+f,!0);W("Invalid image object!");return}}var e=document.getElementById(a);if(null==e)W("Form doesn't exist: "+a);else{a=new FormData(e);for(d=0;d<b.length;d++)f=b[d],f.b?a.append(ma,ca(f.src,f.mimeType)):a.append(oa,f.src);O("POST images, count: "+b.length);var k=new XMLHttpRequest;k.open("POST",e.getAttribute("action"),!0);k.onreadystatechange=function(){"function"==typeof c&&c(k)};k.send(a);O("Form posted: "+k);return k}}else W("no images - form submit cancelled.")};window.scannerjs.getScannerJsConfig=n;window.scannerjs.cancelFuncCalls=Ba;window.scannerjs.logToConsole=O;window.scannerjs.base64ToUint8Array=function(a){if(!R())return W("base64ToBlob() is not supported in legacy browsers."),null;if(null!=a&&0==a.indexOf("data:")){var b=a.indexOf("base64,");0<b&&(a=a.substr(b+7))}a=a.replace(/(\r\n|\n|\r)/gm,"");a=atob(a);b=a.length;var c=new ArrayBuffer(b);c=new Uint8Array(c);for(var d=0;d<b;d++)c[d]=a.charCodeAt(d);return c};window.scannerjs.fadeOut=Ma;window.scannerjs.hasJava=va;window.scannerjs.hasWebSocketSupport=function(){var a="WebSocket"in window&&void 0!=window.WebSocket||"MozWebSocket"in window;a||W("WebSocket is not supported by this browser: "+Q.name+" "+Q.version);return a};window.scannerjs.isWindows=function(){if("navigator"in window&&void 0!=window.navigator&&"platform"in window.navigator)return-1<navigator.platform.indexOf("Win")};window.scannerjs.isHttps=function(){return"https:"==document.location.protocol};window.scannerjs.version="2.11.3";window.scannerjs.MIME_TYPE_BINARY="application/octet-stream";window.scannerjs.MIME_TYPE_BMP="image/bmp";window.scannerjs.MIME_TYPE_GIF="image/png";window.scannerjs.MIME_TYPE_JPEG="image/jpeg";window.scannerjs.MIME_TYPE_PNG="image/tiff";window.scannerjs.MIME_TYPE_PDF="application/pdf";window.scannerjs.EVENT_LOADED="loaded";window.scannerjs.EVENT_PRE_INIT="pre-init";window.scannerjs.EVENT_POST_INT="post-init";window.scannerjs.EVENT_FUNC_CALL="func-call";window.scannerjs.EVENT_FUNC_CANCELLED="func-cancelled";window.scannerjs.EVENT_FUNC_RETURN="func-return";window.scannerjs.EVENT_READY="ready";window.scannerjs.EVENT_FAILED_TO_CONNECT="failed-to-connect";window.scannerjs.EVENT_FAILED_TO_CONNECT_FINAL="failed-to-connect-final";window.scannerjs.EVENT_DISCONNECTED="disconnected";window.scannerjs.LOG_LEVEL_INFO=4;window.scannerjs.LOG_LEVEL_ERROR=16;window.scannerjs.LOG_LEVEL_ALL=0;window.scannerjs.LOG_LEVEL_OFF=1024;window.scannerjs.getIsInitialized=function(){return D};window.scannerjs.getIsReady=function(){return K};window.scannerjs.isConnectedToScanWebSocket=V;window.scannerjs.displaySetupDialog=La;window.scannerjs.doAjax=Da;window.scannerjs.ScannedImage=l;window.scannerjs.ScannedImage.prototype.getMimeType=l.prototype.v;window.scannerjs.ScannedImage.prototype.getSrcIsBase64=l.prototype.w;window.scannerjs.ScannedImage.prototype.getImageInfo=l.prototype.s;window.scannerjs.ScannedImage.prototype.getInfo=l.prototype.u;window.scannerjs.ScannedImage.prototype.getWidth=l.prototype.h;window.scannerjs.ScannedImage.prototype.getHeight=l.prototype.f;window.scannerjs.ScannedImage.prototype.isColor=l.prototype.j;window.scannerjs.ScannedImage.prototype.isGray=l.prototype.l;window.scannerjs.ScannedImage.prototype.isBlackWhite=l.prototype.i;window.scannerjs.ScannedImage.prototype.getResolution=l.prototype.g;window.scannerjs.ScannedImage.prototype.getBitsPerPixel=l.prototype.c;window.scannerjs.ScannedImage.prototype.getBase64NoPrefix=l.prototype.o;window.scannerjs.ScannedImage.prototype.toString=l.prototype.toString;"scanner"in window||(window.scanner=window.scannerjs);"ScannedImage"in window||(window.ScannedImage=window.scannerjs.ScannedImage);window&&(window.addEventListener?window.addEventListener("load",function(){pa&&M(!1)}):window.attachEvent&&window.attachEvent("onload",function(){pa&&M(!1)}));try{H&&H("loaded")}catch(a){};}).call(window);
@@ -1,19 +0,0 @@
1
- /**
2
- * Scanner.js allows users to scan documents from scanners within browsers.
3
- * Visit: http://asprise.com/document-scan-upload-image-browser
4
- *
5
- * Copyright (c) 2014-present, Asprise Pte Ltd. All rights reserved.
6
- *
7
- * NOTICE: All information contained herein is, and remains the property of Asprise
8
- * Pte Ltd. The intellectual and technical concepts contained herein are proprietary
9
- * to Asprise and they are protected by trade secret and copyright laws.
10
- *
11
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
13
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
15
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17
- */
18
-
19
- (function() {var modelsToAppendToBodyFromDeployJava=[];var s=null;var deployJava=(function(){function e(e){h.debug&&(console.log?console.log(e):alert(e));}function t(e,t){if(null==e||0==e.length){return !0;}var n=e.charAt(e.length-1);if("+"!=n&&"*"!=n&&-1!=e.indexOf("_")&&"_"!=n&&(e+="*",n="*"),e=e.substring(0,e.length-1),e.length>0){var i=e.charAt(e.length-1);("."==i||"_"==i)&&(e=e.substring(0,e.length-1));}return"*"==n?0==t.indexOf(e):"+"==n?t>=e:!1;}function n(){var e="//java.com/js/webstart.png";try{return -1!=document.location.protocol.indexOf("http")?e:"http:"+e;}catch(t){return"http:"+e;}}function i(e){var t="http://java.com/dt-redirect";return null==e||0==e.length?t:("&"==e.charAt(0)&&(e=e.substring(1,e.length)),t+"?"+e);}function r(e,t){for(var n=e.length,i=0;n>i;i++){if(e[i]===t){return !0;}}return !1;}function a(e){return r(u,e.toLowerCase());}function l(e){return"MSIE"!=deployJava.browserName?!0:deployJava.compareVersionToPattern(deployJava.getPlugin().version,["10","0","0"],!1,!0)?!0:null==e?!1:!t("1.6.0_33+",e);}var o={core:["id","class","title","style"],i18n:["lang","dir"],events:["onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup"],applet:["codebase","code","name","archive","object","width","height","alt","align","hspace","vspace"],object:["classid","codebase","codetype","data","type","archive","declare","standby","height","width","usemap","name","tabindex","align","border","hspace","vspace"]},u=(o.object.concat(o.core,o.i18n,o.events),o.applet.concat(o.core)),h={debug:null,version:"20120801",firefoxJavaVersion:null,myInterval:null,preInstallJREList:null,returnPage:null,brand:null,locale:null,installType:null,EAInstallEnabled:!1,EarlyAccessURL:null,oldMimeType:"application/npruntime-scriptable-plugin;DeploymentToolkit",mimeType:"application/java-deployment-toolkit",launchButtonPNG:n(),browserName:null,browserName2:null,getJREs:function(){var t=new Array;if(this.isPluginInstalled()){for(var n=this.getPlugin(),i=n.jvms,r=0;r<i.getLength();r++){t[r]=i.get(r).version;}}else{var a=this.getBrowser();"MSIE"==a?this.testUsingActiveX("1.7.0")?t[0]="1.7.0":this.testUsingActiveX("1.6.0")?t[0]="1.6.0":this.testUsingActiveX("1.5.0")?t[0]="1.5.0":this.testUsingActiveX("1.4.2")?t[0]="1.4.2":this.testForMSVM()&&(t[0]="1.1"):"Netscape Family"==a&&(this.getJPIVersionUsingMimeType(),null!=this.firefoxJavaVersion?t[0]=this.firefoxJavaVersion:this.testUsingMimeTypes("1.7")?t[0]="1.7.0":this.testUsingMimeTypes("1.6")?t[0]="1.6.0":this.testUsingMimeTypes("1.5")?t[0]="1.5.0":this.testUsingMimeTypes("1.4.2")?t[0]="1.4.2":"Safari"==this.browserName2&&(this.testUsingPluginsArray("1.7.0")?t[0]="1.7.0":this.testUsingPluginsArray("1.6")?t[0]="1.6.0":this.testUsingPluginsArray("1.5")?t[0]="1.5.0":this.testUsingPluginsArray("1.4.2")&&(t[0]="1.4.2")));}if(this.debug){for(var r=0;r<t.length;++r){e("[getJREs()] We claim to have detected Java SE "+t[r]);}}return t;},installJRE:function(e,t){if(this.isPluginInstalled()&&this.isAutoInstallEnabled(e)){var n=!1;return n=this.isCallbackSupported()?this.getPlugin().installJRE(e,t):this.getPlugin().installJRE(e),n&&(this.refresh(),null!=this.returnPage&&(document.location=this.returnPage)),n;}return this.installLatestJRE();},isAutoInstallEnabled:function(e){return this.isPluginInstalled()?("undefined"==typeof e&&(e=null),l(e)):!1;},isCallbackSupported:function(){return this.isPluginInstalled()&&this.compareVersionToPattern(this.getPlugin().version,["10","2","0"],!1,!0);},installLatestJRE:function(e){if(this.isPluginInstalled()&&this.isAutoInstallEnabled()){var t=!1;return t=this.isCallbackSupported()?this.getPlugin().installLatestJRE(e):this.getPlugin().installLatestJRE(),t&&(this.refresh(),null!=this.returnPage&&(document.location=this.returnPage)),t;}var n=this.getBrowser(),r=navigator.platform.toLowerCase();return"true"==this.EAInstallEnabled&&-1!=r.indexOf("win")&&null!=this.EarlyAccessURL?(this.preInstallJREList=this.getJREs(),null!=this.returnPage&&(this.myInterval=setInterval("deployJava.poll()",3000)),location.href=this.EarlyAccessURL,!1):"MSIE"==n?this.IEInstall():"Netscape Family"==n&&-1!=r.indexOf("win32")?this.FFInstall():(location.href=i((null!=this.returnPage?"&returnPage="+this.returnPage:"")+(null!=this.locale?"&locale="+this.locale:"")+(null!=this.brand?"&brand="+this.brand:"")),!1);},runApplet:function(t,n,i){("undefined"==i||null==i)&&(i="1.1");var r=i.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"$");if(null==this.returnPage&&(this.returnPage=document.location),null!=r){var a=this.getBrowser();"?"!=a?this.versionCheck(i+"+")?this.writeAppletTag(t,n):this.installJRE(i+"+")&&(this.refresh(),location.href=document.location,this.writeAppletTag(t,n)):this.writeAppletTag(t,n);}else{e("[runApplet()] Invalid minimumVersion argument to runApplet():"+i);}},writeAppletTag:function(e,t){var n="<applet ",i="",r="</applet>",s=!0;(null==t||"object"!=typeof t)&&(t=new Object);for(var l in e){a(l)?(n+=" "+l+'="'+e[l]+'"',"code"==l&&(s=!1)):t[l]=e[l];}var o=!1;for(var u in t){"codebase_lookup"==u&&(o=!0),("object"==u||"java_object"==u||"java_code"==u)&&(s=!1),i+='<param name="'+u+'" value="'+t[u]+'"/>';}o||(i+='<param name="codebase_lookup" value="false"/>'),s&&(n+=' code="dummy"'),n+=">",document.write(n+"\n"+i+"\n"+r);},versionCheck:function(t){var n=0,i=t.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"(\\*|\\+)?$");if(null!=i){for(var r=!1,a=!1,s=new Array,l=1;l<i.length;++l){"string"==typeof i[l]&&""!=i[l]&&(s[n]=i[l],n++);}"+"==s[s.length-1]?(a=!0,r=!1,s.length--):"*"==s[s.length-1]?(a=!1,r=!0,s.length--):s.length<4&&(a=!1,r=!0);for(var o=this.getJREs(),l=0;l<o.length;++l){if(this.compareVersionToPattern(o[l],s,r,a)){return !0;}}return !1;}var u="Invalid versionPattern passed to versionCheck: "+t;return e("[versionCheck()] "+u),alert(u),!1;},isWebStartInstalled:function(t){var n=this.getBrowser();if("?"==n){return !0;}("undefined"==t||null==t)&&(t="1.4.2");var i=!1,r=t.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"$");return null!=r?i=this.versionCheck(t+"+"):(e("[isWebStartInstaller()] Invalid minimumVersion argument to isWebStartInstalled(): "+t),i=this.versionCheck("1.4.2+")),i;},getJPIVersionUsingMimeType:function(){for(var e=0;e<navigator.mimeTypes.length;++e){var t=navigator.mimeTypes[e].type,n=t.match(/^application\/x-java-applet;jpi-version=(.*)$/);if(null!=n&&(this.firefoxJavaVersion=n[1],"Opera"!=this.browserName2)){break;}}},launchWebStartApplication:function(e){navigator.userAgent.toLowerCase();if(this.getJPIVersionUsingMimeType(),0==this.isWebStartInstalled("1.7.0")&&(0==this.installJRE("1.7.0+")||0==this.isWebStartInstalled("1.7.0"))){return !1;}var t=null;document.documentURI&&(t=document.documentURI),null==t&&(t=document.URL);var n,i=this.getBrowser();if("MSIE"==i?n='<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="0" height="0"><PARAM name="launchjnlp" value="'+e+'"><PARAM name="docbase" value="'+encodeURIComponent(t)+'"></object>':"Netscape Family"==i&&(n='<embed type="application/x-java-applet;jpi-version='+this.firefoxJavaVersion+'" width="0" height="0" launchjnlp="'+e+'"docbase="'+encodeURIComponent(t)+'" />'),"undefined"==document.body||null==document.body){document.write(n),document.location=t;}else{var r=document.createElement("div");r.id="div1",r.style.position="relative",r.style.left="-10000px",r.style.margin="0px auto",r.className="dynamicDiv",r.innerHTML=n,document.body.appendChild(r);}},createWebStartLaunchButtonEx:function(e,t){null==this.returnPage&&(this.returnPage=e);var n="javascript:deployJava.launchWebStartApplication('"+e+"');";document.write('<a href="'+n+'" onMouseOver="window.status=\'\'; return true;"><img src="'+this.launchButtonPNG+'" border="0" /></a>');},createWebStartLaunchButton:function(e,t){null==this.returnPage&&(this.returnPage=e);var n="javascript:if (!deployJava.isWebStartInstalled(&quot;"+t+"&quot;)) {if (deployJava.installLatestJRE()) {if (deployJava.launch(&quot;"+e+"&quot;)) {}}} else {if (deployJava.launch(&quot;"+e+"&quot;)) {}}";document.write('<a href="'+n+'" onMouseOver="window.status=\'\'; return true;"><img src="'+this.launchButtonPNG+'" border="0" /></a>');},launch:function(e){return document.location=e,!0;},isPluginInstalled:function(){var e=this.getPlugin();return e&&e.jvms?!0:!1;},isAutoUpdateEnabled:function(){return this.isPluginInstalled()?this.getPlugin().isAutoUpdateEnabled():!1;},setAutoUpdateEnabled:function(){return this.isPluginInstalled()?this.getPlugin().setAutoUpdateEnabled():!1;},setInstallerType:function(e){return this.installType=e,this.isPluginInstalled()?this.getPlugin().setInstallerType(e):!1;},setAdditionalPackages:function(e){return this.isPluginInstalled()?this.getPlugin().setAdditionalPackages(e):!1;},setEarlyAccess:function(e){this.EAInstallEnabled=e;},isPlugin2:function(){if(this.isPluginInstalled()&&this.versionCheck("1.6.0_10+")){try{return this.getPlugin().isPlugin2();}catch(e){}}return !1;},allowPlugin:function(){this.getBrowser();var e="Safari"!=this.browserName2&&"Opera"!=this.browserName2;return e;},getPlugin:function(){this.refresh();var e=null;return this.allowPlugin()&&(e=document.getElementById("deployJavaPlugin")),e;},compareVersionToPattern:function(e,t,n,i){if(void 0==e||void 0==t){return !1;}var r=e.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"$");if(null!=r){for(var a=0,s=new Array,l=1;l<r.length;++l){"string"==typeof r[l]&&""!=r[l]&&(s[a]=r[l],a++);}var o=Math.min(s.length,t.length);if(i){for(var l=0;o>l;++l){var u=parseInt(s[l]),h=parseInt(t[l]);if(h>u){return !1;}if(u>h){return !0;}}return !0;}for(var l=0;o>l;++l){if(s[l]!=t[l]){return !1;}}return n?!0:s.length==t.length;}return !1;},getBrowser:function(){if(null==this.browserName){var t=navigator.userAgent.toLowerCase();e("[getBrowser()] navigator.userAgent.toLowerCase() -> "+t),-1!=t.indexOf("msie")&&-1==t.indexOf("opera")?(this.browserName="MSIE",this.browserName2="MSIE"):-1!=t.indexOf("trident")||-1!=t.indexOf("Trident")?(this.browserName="MSIE",this.browserName2="MSIE"):-1!=t.indexOf("iphone")?(this.browserName="Netscape Family",this.browserName2="iPhone"):-1!=t.indexOf("firefox")&&-1==t.indexOf("opera")?(this.browserName="Netscape Family",this.browserName2="Firefox"):-1!=t.indexOf("chrome")?(this.browserName="Netscape Family",this.browserName2="Chrome"):-1!=t.indexOf("safari")?(this.browserName="Netscape Family",this.browserName2="Safari"):-1!=t.indexOf("mozilla")&&-1==t.indexOf("opera")?(this.browserName="Netscape Family",this.browserName2="Other"):-1!=t.indexOf("opera")?(this.browserName="Netscape Family",this.browserName2="Opera"):(this.browserName="?",this.browserName2="unknown"),e("[getBrowser()] Detected browser name:"+this.browserName+", "+this.browserName2);}return this.browserName;},testUsingActiveX:function(t){var n="JavaWebStart.isInstalled."+t+".0";if("undefined"==typeof ActiveXObject||!ActiveXObject){return e("[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?"),!1;}try{return null!=new ActiveXObject(n);}catch(i){return !1;}},testForMSVM:function(){var e="{08B0E5C0-4FCB-11CF-AAA5-00401C608500}";if("undefined"!=typeof oClientCaps){var t=oClientCaps.getComponentVersion(e,"ComponentID");return""==t||"5,0,5000,0"==t?!1:!0;}return !1;},testUsingMimeTypes:function(t){if(!navigator.mimeTypes){return e("[testUsingMimeTypes()] Browser claims to be Netscape family, but no mimeTypes[] array?"),!1;}for(var n=0;n<navigator.mimeTypes.length;++n){s=navigator.mimeTypes[n].type;var i=s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);if(null!=i&&this.compareVersions(i[1],t)){return !0;}}return !1;},testUsingPluginsArray:function(e){if(!navigator.plugins||!navigator.plugins.length){return !1;}for(var t=navigator.platform.toLowerCase(),n=0;n<navigator.plugins.length;++n){if(s=navigator.plugins[n].description,-1!=s.search(/^Java Switchable Plug-in (Cocoa)/)){if(this.compareVersions("1.5.0",e)){return !0;}}else{if(-1!=s.search(/^Java/)&&-1!=t.indexOf("win")&&(this.compareVersions("1.5.0",e)||this.compareVersions("1.6.0",e))){return !0;}}}return this.compareVersions("1.5.0",e)?!0:!1;},IEInstall:function(){return location.href=i((null!=this.returnPage?"&returnPage="+this.returnPage:"")+(null!=this.locale?"&locale="+this.locale:"")+(null!=this.brand?"&brand="+this.brand:"")),!1;},done:function(e,t){},FFInstall:function(){return location.href=i((null!=this.returnPage?"&returnPage="+this.returnPage:"")+(null!=this.locale?"&locale="+this.locale:"")+(null!=this.brand?"&brand="+this.brand:"")+(null!=this.installType?"&type="+this.installType:"")),!1;},compareVersions:function(e,t){for(var n=e.split("."),i=t.split("."),r=0;r<n.length;++r){n[r]=Number(n[r]);}for(var r=0;r<i.length;++r){i[r]=Number(i[r]);}return 2==n.length&&(n[2]=0),n[0]>i[0]?!0:n[0]<i[0]?!1:n[1]>i[1]?!0:n[1]<i[1]?!1:n[2]>i[2]?!0:n[2]<i[2]?!1:!0;},enableAlerts:function(){this.browserName=null,this.debug=!0;},poll:function(){this.refresh();var e=this.getJREs();0==this.preInstallJREList.length&&0!=e.length&&(clearInterval(this.myInterval),null!=this.returnPage&&(location.href=this.returnPage)),0!=this.preInstallJREList.length&&0!=e.length&&this.preInstallJREList[0]!=e[0]&&(clearInterval(this.myInterval),null!=this.returnPage&&(location.href=this.returnPage));},writePluginTag:function(){var e=this.getBrowser();if("MSIE"==e){var t={name:"object",attributes:{id:"deployJavaPlugin",classid:"clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA",width:"0",height:"0"}};modelsToAppendToBodyFromDeployJava.push(t);}else{"Netscape Family"==e&&this.allowPlugin()&&this.writeEmbedTag();}},refresh:function(){navigator.plugins.refresh(!1);var e=this.getBrowser();if("Netscape Family"==e&&this.allowPlugin()){var t=document.getElementById("deployJavaPlugin");null==t&&this.writeEmbedTag();}},writeEmbedTag:function(){var e=!1;if(null!=navigator.mimeTypes){for(var t=0;t<navigator.mimeTypes.length;t++){if(navigator.mimeTypes[t].type==this.mimeType&&navigator.mimeTypes[t].enabledPlugin){var n={name:"embed",attributes:{id:"deployJavaPlugin",type:this.mimeType,hidden:"true"}};modelsToAppendToBodyFromDeployJava.push(n),e=!0;}}if(!e){for(var t=0;t<navigator.mimeTypes.length;t++){if(navigator.mimeTypes[t].type==this.oldMimeType&&navigator.mimeTypes[t].enabledPlugin){({name:"embed",attributes:{id:"deployJavaPlugin",type:this.oldMimeType,hidden:"true"}});modelsToAppendToBodyFromDeployJava.push(this.oldMimeType);}}}}}};if(h.writePluginTag(),null==h.locale){var c=null;if(null==c){try{c=navigator.userLanguage;}catch(g){}}if(null==c){try{c=navigator.systemLanguage;}catch(g){}}if(null==c){try{c=navigator.language;}catch(g){}}null!=c&&(c.replace("-","_"),h.locale=c);}return h;})();window["EXT_LIB_DEF_FUNC_BOWSER"]=function(){function t(t){function n(e){var n=t.match(e);return n&&n.length>1&&n[1]||"";}function r(e){var n=t.match(e);return n&&n.length>1&&n[2]||"";}function N(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return undefined;}}var i=n(/(ipod|iphone|ipad)/i).toLowerCase(),s=/like android/i.test(t),o=!s&&/android/i.test(t),u=/nexus\s*[0-6]\s*/i.test(t),a=!u&&/nexus\s*[0-9]+/i.test(t),f=/CrOS/.test(t),l=/silk/i.test(t),c=/sailfish/i.test(t),h=/tizen/i.test(t),p=/(web|hpw)os/i.test(t),d=/windows phone/i.test(t),v=/SamsungBrowser/i.test(t),m=!d&&/windows/i.test(t),g=!i&&!l&&/macintosh/i.test(t),y=!o&&!c&&!h&&!p&&/linux/i.test(t),b=n(/edge\/(\d+(\.\d+)?)/i),w=n(/version\/(\d+(\.\d+)?)/i),E=/tablet/i.test(t)&&!/tablet pc/i.test(t),S=!E&&/[^-]mobi/i.test(t),x=/xbox/i.test(t),T;/opera/i.test(t)?T={name:"Opera",opera:e,version:w||n(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?T={name:"Opera",opera:e,version:n(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||w}:/SamsungBrowser/i.test(t)?T={name:"Samsung Internet for Android",samsungBrowser:e,version:w||n(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(t)?T={name:"Opera Coast",coast:e,version:w||n(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(t)?T={name:"Yandex Browser",yandexbrowser:e,version:w||n(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?T={name:"UC Browser",ucbrowser:e,version:n(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?T={name:"Maxthon",maxthon:e,version:n(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?T={name:"Epiphany",epiphany:e,version:n(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?T={name:"Puffin",puffin:e,version:n(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?T={name:"Sleipnir",sleipnir:e,version:n(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?T={name:"K-Meleon",kMeleon:e,version:n(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:d?(T={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},b?(T.msedge=e,T.version=b):(T.msie=e,T.version=n(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?T={name:"Internet Explorer",msie:e,version:n(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:f?T={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/chrome.+? edge/i.test(t)?T={name:"Microsoft Edge",msedge:e,version:b}:/vivaldi/i.test(t)?T={name:"Vivaldi",vivaldi:e,version:n(/vivaldi\/(\d+(\.\d+)?)/i)||w}:c?T={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:n(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?T={name:"SeaMonkey",seamonkey:e,version:n(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(T={name:"Firefox",firefox:e,version:n(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(T.firefoxos=e,T.osname="Firefox OS")):l?T={name:"Amazon Silk",silk:e,version:n(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?T={name:"PhantomJS",phantom:e,version:n(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?T={name:"SlimerJS",slimer:e,version:n(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?T={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:w||n(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:p?(T={name:"WebOS",osname:"WebOS",webos:e,version:w||n(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(T.touchpad=e)):/bada/i.test(t)?T={name:"Bada",osname:"Bada",bada:e,version:n(/dolfin\/(\d+(\.\d+)?)/i)}:h?T={name:"Tizen",osname:"Tizen",tizen:e,version:n(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||w}:/qupzilla/i.test(t)?T={name:"QupZilla",qupzilla:e,version:n(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||w}:/chromium/i.test(t)?T={name:"Chromium",chromium:e,version:n(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||w}:/chrome|crios|crmo/i.test(t)?T={name:"Chrome",chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:o?T={name:"Android",version:w}:/safari|applewebkit/i.test(t)?(T={name:"Safari",safari:e},w&&(T.version=w)):i?(T={name:i=="iphone"?"iPhone":i=="ipad"?"iPad":"iPod"},w&&(T.version=w)):/googlebot/i.test(t)?T={name:"Googlebot",googlebot:e,version:n(/googlebot\/(\d+(\.\d+))/i)||w}:T={name:n(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!T.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(T.name=T.name||"Blink",T.blink=e):(T.name=T.name||"Webkit",T.webkit=e),!T.version&&w&&(T.version=w)):!T.opera&&/gecko\//i.test(t)&&(T.name=T.name||"Gecko",T.gecko=e,T.version=T.version||n(/gecko\/(\d+(\.\d+)?)/i)),!T.windowsphone&&!T.msedge&&(o||T.silk)?(T.android=e,T.osname="Android"):!T.windowsphone&&!T.msedge&&i?(T[i]=e,T.ios=e,T.osname="iOS"):g?(T.mac=e,T.osname="macOS"):x?(T.xbox=e,T.osname="Xbox"):m?(T.windows=e,T.osname="Windows"):y&&(T.linux=e,T.osname="Linux");var C="";T.windows?C=N(n(/Windows ((NT|XP)( \d\d?.\d)?)/i)):T.windowsphone?C=n(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):T.mac?(C=n(/Mac OS X (\d+([_\.\s]\d+)*)/i),C=C.replace(/[_\s]/g,".")):i?(C=n(/os (\d+([_\s]\d+)*) like mac os x/i),C=C.replace(/[_\s]/g,".")):o?C=n(/android[ \/-](\d+(\.\d+)*)/i):T.webos?C=n(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):T.blackberry?C=n(/rim\stablet\sos\s(\d+(\.\d+)*)/i):T.bada?C=n(/bada\/(\d+(\.\d+)*)/i):T.tizen&&(C=n(/tizen[\/\s](\d+(\.\d+)*)/i)),C&&(T.osversion=C);var k=!T.windows&&C.split(".")[0];if(E||a||i=="ipad"||o&&(k==3||k>=4&&!S)||T.silk){T.tablet=e;}else{if(S||i=="iphone"||i=="ipod"||o||u||T.blackberry||T.webos||T.bada){T.mobile=e;}}return T.msedge||T.msie&&T.version>=10||T.yandexbrowser&&T.version>=15||T.vivaldi&&T.version>=1||T.chrome&&T.version>=20||T.samsungBrowser&&T.version>=4||T.firefox&&T.version>=20||T.safari&&T.version>=6||T.opera&&T.version>=10||T.ios&&T.osversion&&T.osversion.split(".")[0]>=6||T.blackberry&&T.version>=10.1||T.chromium&&T.version>=20?T.a=e:T.msie&&T.version<10||T.chrome&&T.version<20||T.firefox&&T.version<20||T.safari&&T.version<6||T.opera&&T.version<10||T.ios&&T.osversion&&T.osversion.split(".")[0]<6||T.chromium&&T.version<20?T.c=e:T.x=e,T;}function r(e){return e.split(".").length;}function i(e,t){var n=[],r;if(Array.prototype.map){return Array.prototype.map.call(e,t);}for(r=0;r<e.length;r++){n.push(t(e[r]));}return n;}function s(e){var t=Math.max(r(e[0]),r(e[1])),n=i(e,function(e){var n=t-r(e);return e+=(new Array(n+1)).join(".0"),i(e.split("."),function(e){return(new Array(20-e.length)).join("0")+e;}).reverse();});while(--t>=0){if(n[0][t]>n[1][t]){return 1;}if(n[0][t]!==n[1][t]){return -1;}if(t===0){return 0;}}}function o(e,r,i){var o=n;typeof r=="string"&&(i=r,r=void 0),r===void 0&&(r=!1),i&&(o=t(i));var u=""+o.version;for(var a in e){if(e.hasOwnProperty(a)&&o[a]){if(typeof e[a]!="string"){throw new Error("Browser version in the minVersion map should be a string: "+a+": "+String(e));}return s([u,e[a]])<0;}}return r;}function u(e,t,n){return !o(e,t,n);}var e=!0,n=t(typeof navigator!="undefined"?navigator.userAgent||"":"");return n.test=function(e){for(var t=0;t<e.length;++t){var r=e[t];if(typeof r=="string"&&r in n){return !0;}}return !1;},n.isUnsupportedBrowser=o,n.compareVersions=s,n.check=u,n._detect=t,n;};var g,h,ba=(new Date).getTime()+"-"+Math.floor(1001*Math.random()+0);function l(a,b,c,d,f){this.mimeType=a;this.b=b;this.src=c;this.m=d;this.a=f}g=l.prototype;g.u=function(){return this.m};g.v=function(){return this.mimeType};g.w=function(){return this.b};g.s=function(){return this.a};g.h=function(){return"object"===typeof this.a?this.a.ImageWidth:void 0};g.f=function(){return"object"===typeof this.a?this.a.ImageLength:void 0};g.c=function(){return"object"===typeof this.a?this.a.BitsPerPixel:void 0};g.j=function(){return"object"===typeof this.a?2==this.a.PixelType:void 0};g.l=function(){return"object"===typeof this.a?1==this.a.PixelType:void 0};g.i=function(){return"object"===typeof this.a?0==this.a.PixelType:void 0};g.g=function(){return"object"===typeof this.a?Math.floor(this.a.XResolution):void 0};g.o=function(){if(this.b)return this.b?ca(this.src):void 0};g.toString=function(){var a="";this.j()?a+="Color ":this.l()?a+="Gray ":this.i()&&(a+="Black/white ");a+="image:";var b=this.h(),c=this.f(),d=this.c(),f=this.g();0<b&&0<c&&(a+=" "+b+" x "+c);0<d&&(a+=" "+d+"-bit");0<f&&(a+=" @ "+f+" DPI");return a};function n(a,b){var c="scannerjs_"+a;c=window&&c in window?window[c]:void 0;!c&&window&&"scannerjs_config"in window&&(c=a in window.scannerjs_config?window.scannerjs_config[a]:void 0);return void 0==c||null==c?b:c}var da,p,q,ea,r,fa,ha,ia,t,ja,u,w,y,z,ka,A,B,C,la,ma,oa,D,pa,E,F,G,H,I,J,K,qa,L,M;da=n("log_level",0);p=n("java_applet_enabled",!1);q=!1;ea=n("scan_app_enabled",!0);r=n("scan_app_download_url","http://cdn.asprise.com/scanapp/scan-setup.exe");fa=n("scan_app_min_version","2.04");ha=n("license","com_asprise_scan_app_license"in window?window.com_asprise_scan_app_license:null);ia=n("skip_load_default_css",!1);t=n("scan_app_port_range_lowest",9713);ja=n("scan_app_port_range_highest",9716);A=ka=z=y=w=u=void 0;B=[];la=C=void 0;ma=n("form_field_name_for_img_objects","com_asprise_scannerjs_images[]");oa=n("form_field_name_for_img_urls","com_asprise_scannerjs_images_urls[]");D=!1;pa=n("eager_init",!0);E=null;F=n("display_install_func",void 0);G=n("display_scan_ready_func",void 0);H=n("event_listener",void 0);I=n("sys_response_callback_func",void 0);J=n("reverse_request_handler_func",void 0);K=!1;qa=n("additional_css_classes_for_dialogs","");L=n("file_name_base","scanner");M=function(a){if(!D||a){a&&(da=n("log_level",0),t=n("scan_app_port_range_lowest",9713),ja=n("scan_app_port_range_highest",9716),F=n("display_install_func",void 0),G=n("display_scan_ready_func",void 0),H=n("event_listener",void 0),I=n("sys_response_callback_func",void 0),J=n("reverse_request_handler_func",void 0),N=n("max_conn_attempts",-1));E=new Date;H&&H("pre-init");n("skip_fix_formdata_append",!1)||ra();O("Initializing Scanner.js v2.11.3 \u00a9 Asprise ...");ia||sa();if(p&&P()){(a=window.location.href)&&0>a.toLowerCase().indexOf("http:")&&0>a.toLowerCase().indexOf("https:")&&(O("The scan applet does *NOT* work in local HTML files. Please host this page on localhost or any other servers and access it using http:// or https://.",!0),alert("The scan applet does *NOT* work in local HTML files. Please host this page on localhost or any other servers and access it using http:// or https://."));O("Attempt to enable Java applet for scanning ...");O(Q.name+" "+Q.version+" supports NPAPI? "+P());ta();try{ua()}catch(b){O("Failed to add applet element: "+b,!0)}ea&&R()&&(!va()||Q.firefox?window.setTimeout(function(){K||(O("Java applet doesn't seem running. Falling back to scan app ..."),S())},1E3):O("JRE: "+wa.getJREs()))}else p&&!P()&&O("The scanning Java applet is set to on, but this browser doesn't support NPAPI: "+Q.name+" "+Q.version,!0),S();O("Scanner.js initialized.");D=!0;H&&H("post-init")}};var T=null;function U(a,b,c,d,f,e,k,m,v,aa){V()||q||"scan"!=b&&"listSources"!=b&&"getSource"!=b&&"getSystemInfo"!=b||(T=arguments);if(!V()&&!q)return p&&P()?null!=E&&1E4<(new Date).getTime()-E.getTime()&&xa(!0):xa(!0),!1;if(2>arguments.length)return W("Invalid function call - func name is not specified"),!1;if("function"!==typeof a)return W("asprise_scanner_js_call_function requires a valid callbackFunc"),!1;if("PENDING"==A||"PROCESSING"==A)return W("You can not submit a new request as the previous request has not completed yet."),!1;if(!JSON||"function"!==typeof JSON.stringify)return W("JSON.stringify is not supported by your browser."),!1;for(var x={funcCallId:""+(new Date).getTime()+"-"+Math.floor(1E4*Math.random()),funcName:b,time:(new Date).getTime(),userAgent:navigator.userAgent,isModernBrowser:R(),windowTitle:document.title,url:window.location.href,pageLoadId:ya()},Aa=[],na=2;na<arguments.length;na++)Aa.push(arguments[na]);x.funcArgs=Aa;x=JSON.stringify(x);A="PENDING";C=x;la=a;H&&H("func-call",x);za();return!0}function Ba(){if("PENDING"==A||"PROCESSING"==A){var a=JSON.parse(C);B.push(a);O("Canceled func call: "+a.funcName+", call id: "+a.funcCallId);H&&H("func-cancelled",a)}A=void 0}function za(){if(V()&&"PENDING"==A)try{w.send(C),A="PROCESSING"}catch(a){X(!1,"Failed: "+a,null,null,null,null,null),O(a,!0)}}function Ca(a){var b=null;if("string"===typeof a&&6<a.length&&"<error"==a.substr(0,6))throw a;if(a&&7<a.length&&"SYSTEM/"==a.substr(0,7))try{var c=a.indexOf(":");if(0<c&&"NET"==a.substr(7,3)){var d=a.substr(0,c);Da(a.substr(c+1).trim().split("|"),function(a,b){try{w.send(d+":"+JSON.stringify({success:a,data:b}))}catch(x){O("Failed to send command: "+x,!0)}})}else I&&(0<c?I(a.substr(0,c),a.substr(c+1)):W("Invalid system response: "+a))}catch(v){O("Error while processing system request: "+v,!0)}else if(a&&3<a.length&&"RR:"==a.substr(0,3))try{var f=JSON.parse(a.substr(3)),e=f.rr_id,k=f.func,m=f.args;J?J(k,m,function(a,b){try{w.send("RR_RESULT:"+JSON.stringify({rr_id:e,result:{result:a,error:b}}))}catch(x){O("Failed to send response to scan app: "+x,!0)}}):w.send("RR_RESULT:"+JSON.stringify({rr_id:e,result:{result:null,error:"reverseRequestHandlerFunc is not set"}}))}catch(v){O("Error while processing RR: "+v,!0)}else{try{b=JSON.parse(a)}catch(v){W("Failed to parse JSON: "+a);X(!1,"Failed to parse JSON: "+a,null,null,null,null,null);return}b instanceof Array?X(b[0],b[1],b[2],b[3],b[4],5<b.length?b[5]:null,6<b.length?b[6]:null):X(!1,"JSON returned from WebSocket is not array",null,null,null,null,null)}}function X(a,b,c,d,f,e,k){null!=f&&1!=f&&W("resultCount should be null or 1, actual: "+f);if(k)for(c=0;c<B.length;c++)if(d=B[c],null!=d&&d.funcCallId==k){O("Response is ignored for cancelled func call: "+d.funcName+", call id: "+d.funcCallId+":\n"+e);return}A="COMPLETE";la(a,b,e);if(H)try{H("func-return")}catch(m){O("Exception occurred in event handler: "+m,!0)}try{window.focus()}catch(m){}}function Ea(a){Ca(a.data)}function V(){return void 0!=w}function Fa(a){K=!0;Ba();xa(!1);"function"==typeof G&&G();H&&H("ready",a);T&&2<=T.length&&U.apply(null,Array.prototype.slice.call(T))}function Ga(a){w=a;O("Scan WebSocket server connected: "+w.url);ha&&a.send("LICENSE: "+ha);fa&&a.send("MIN_VERSION: "+fa);Fa(!0);za()}function Ha(){w=void 0;S(!0)}var Ia=0,N=n("max_conn_attempts",-1);function S(a){if(ea)if(w)y=void 0,w.close();else{a||(u=void 0,Ia+=1);a=null!=window.location.href&&"http:"==window.location.href.substr(0,5)?"ws://127.0.0.1":"wss://local.scannerjs.com";var b=3<a.length&&"wss"==a.substr(0,3).toLowerCase();void 0==u?u=t:void 0!=y&&1E4>(new Date).getTime()-y&&(u+=1);u%2!=(b?0:1)&&(u+=1);if(u<t||u>ja)O("Failed to connect to WebSocket server.",!0),H&&H("failed-to-connect"),P(),N=n("max_conn_attempts",-1),!(0<N)||Ia<N?S():(Ia=0,H&&H("failed-to-connect-final"));else{y=(new Date).getTime();try{b=Ja;var c=a+":"+u+"/"+ya()+"/";var d=window.location.href;if(null==d)var f=d;else{var e=d.indexOf("#");f=0<=e?d.substr(0,e):d}b(c+encodeURIComponent(f))}catch(k){H&&H("disconnected",k),Ha()}}}else W("Scan app implementation is disabled explicitly.")}function Ka(){for(var a=document.getElementsByTagName("script"),b=0;b<a.length;b++){var c=a.item(b),d=new RegExp(L+"\\.js(\\?\\w*)?$");if(c.src&&c.src.match(d))return a=c.src,a.substring(0,a.lastIndexOf("/")+1)}return"https://cdn.asprise.com/scannerjs/"}function ua(){var a;(a=Ka())||(a="https://cdn.asprise.com/scannerjs/");-1<a.indexOf("FORCE_REFRESH")&&-1<window.location.href.indexOf("FORCE_REFRESH")&&(a=a.replace(/FORCE_REFRESH/g,"FORCE_REFRESH_"+(new Date).getTime()));var b=document.getElementById("com_asprise_scan_applet");null==b&&(b=wa.versionCheck("1.7.0_45+")?"asprise_scan.jar":"asprise_scan-legacy.jar",b=Y({name:"applet",attributes:{id:"com_asprise_scan_applet",codebase:a,archive:b,code:"com.asprise.imaging.scan.ui.web.ScanApplet",width:1,height:1,style:"z-index: -999;"},children:[{name:"param",attributes:{name:"permissions",value:"all-permissions"}},{name:"param",attributes:{name:"java_version",value:"1.6+"}},{name:"param",attributes:{name:"java_arguments",value:"-Xmx512m"}},{name:"param",attributes:{name:"separate_jvm",value:"true"}},{name:"param",attributes:{name:"codebase_lookup",value:"false"}},{name:"param",attributes:{name:"mayscript",value:"mayscript"}}]}),a=document.getElementsByTagName("body"),a=null!=a&&0<a.length?a.item(0):null,null==a?W('please do not execute com_asprise_scan_addScanAppletToDomIfNotExists in <header>. document.getElementsByTagName("body").length = '+document.getElementsByTagName("body").length):a.appendChild(b))}function xa(a){if("function"!=typeof F||F(a))D?La(a):(M(!1),a||La(a))}function La(a){var b=document.getElementById("asprise-web-scan-setup-dialog-wrapper");if(a||b){if(!b){b={name:"div",attributes:{id:"asprise-web-scan-setup-dialog-wrapper","class":"asprise-web-scan-dialog-wrapper "+qa},children:[{name:"div",attributes:{id:"asprise-web-scan-setup-dialog-overlay","class":"overlay asprise-web-scan-dialog-display",style:"display: none"}},{name:"div",attributes:{id:"asprise-web-scan-setup-dialog","class":"asprise-web-scan-dialog asprise-web-scan-dialog-display",style:"display: none"},children:[{name:"button",attributes:{"class":"top-right-closer",title:"Dismiss this dialog"}},{name:"div",attributes:{"class":"asprise-web-scan-setup",style:"margin: auto"},children:[{name:"h2",attributes:{text:"Please complete one-time setup"}},{name:"table",attributes:{"class":"asprise-web-scan-setup-instruction"},children:[{name:"tr",attributes:{"class":"icon"},children:[{name:"td",attributes:{width:"33%","class":"download"}},{name:"td",attributes:{width:"33%","class":"run"}},{name:"td",attributes:{width:"33%","class":"enjoy"}}]},{name:"tr",attributes:{"class":"after_icon"},children:[{name:"td",attributes:{colspan:"3"}}]},{name:"tr",attributes:{"class":"text"},children:[{name:"td",attributes:{"class":"download"},children:[{name:"h3",children:[{name:"a",attributes:{href:r,target:"_blank",text:"Download"}}]},{name:"p",children:[{name:"a",attributes:{"class":"underline",href:r,target:"_blank",title:"One time setup executable",text:"Download the setup"}},{name:"span",attributes:{text:";"}},{name:"br"},{name:"span",attributes:{style:"font-size: smaller",text:"Other formats: "}},{name:"a",attributes:{style:"font-size: smaller","class":"underline",href:r.substr(0,r.lastIndexOf("."))+".zip",target:"_blank",title:"Zip format",text:"zip"}},{name:"span",attributes:{style:"font-size: smaller",text:" \u00b7 "}},{name:"a",attributes:{style:"font-size: smaller","class":"underline",href:r.substr(0,r.lastIndexOf("."))+".7z",target:"_blank",title:"7Z format",text:"7z"}}]}]},{name:"td",attributes:{"class":"run"},children:[{name:"h3",attributes:{text:"Run"}},{name:"p",attributes:{text:"Run the setup, follow the instruction;"}}]},{name:"td",attributes:{"class":"enjoy"},children:[{name:"h3",attributes:{text:"Scan"}},{name:"p",attributes:{text:"Viola you're ready to scan!"}}]}]}]},{name:"p",children:[{name:"span",attributes:{text:"Already have the scan app set up? "}},{name:"a",attributes:{"class":"underline",href:"AspriseWebScan://browser",target:"_top",text:"Click here to enable it."}}]}]}]},{name:"div",attributes:{id:"asprise-web-scan-setup-ok-dialog","class":"asprise-web-scan-dialog small-dialog asprise-web-scan-setup-ok-dialog",style:"display: none"},children:[{name:"button",attributes:{"class":"top-right-closer",title:"Dismiss this dialog"}},{name:"div",attributes:{"class":"asprise-web-scan-setup-ok"},children:[{name:"div",attributes:{"class":"icon"}},{name:"div",children:[{name:"p",attributes:{text:"All set. You may scan now."}}]}]}]}]};var c=document.getElementsByTagName("body");c=null!=c&&0<c.length?c.item(0):null;if(null==c)return W("please do not execute displaySetupDialog in <header>!"),!1;c.appendChild(Y(b));if(b=document.getElementById("asprise-web-scan-setup-dialog-wrapper")){c=b.getElementsByClassName("top-right-closer");for(var d=0;c&&d<c.length;++d)c[d].addEventListener("click",function(){this.parentElement.previousElementSibling.style.display="none";this.parentElement.style.display="none"})}}a?Z(b,".asprise-web-scan-dialog-display","display","block"):(V()?(Z(b,".asprise-web-scan-setup-ok-dialog","display","block"),Z(b,".asprise-web-scan-setup-ok-dialog","opacity","1"),Ma(b.querySelectorAll(".asprise-web-scan-setup-ok-dialog"),2500)):Z(b,".asprise-web-scan-setup-ok-dialog","display","none"),Z(b,".asprise-web-scan-dialog-display","display","none"))}}function Z(a,b,c,d){a=a.querySelectorAll(b);for(b=0;a&&b<a.length;b++)a[b].style[c]=d}function Ma(a,b){if(null!=a&&0!=a.length)if(0<b)setTimeout(function(){Ma(a)},b);else var c=1,d=setInterval(function(){if(0>=c){clearInterval(d);for(var b=0;b<a.length;b++)a.item(b).style.display="none"}else{for(b=0;b<a.length;b++)a.item(b).style.opacity=c.toFixed(1);c-=.1}},50)}function sa(){for(var a=!1,b=document.getElementsByTagName("link"),c=0;c<b.length;c++){var d=b.item(c),f=new RegExp(L+"\\.css(\\?\\w*)?$");d.href&&d.href.match(f)&&(a=!0)}a||(a=Ka()+L+".css",b=document.createElement("link"),b.setAttribute("rel","stylesheet"),b.setAttribute("type","text/css"),b.setAttribute("href",a),document.getElementsByTagName("head")[0].appendChild(b))}function Da(a,b){if(!Array.isArray(a))throw"Expecting an Array, actual: "+a;if(0==a.length)b(!1,null);else{var c=a[0];a.splice(0,1);var d=new XMLHttpRequest;d.open("GET",c,!0);d.onreadystatechange=function(){d.readyState===XMLHttpRequest.DONE&&(200<=d.status&&300>d.status?b(!0,d.responseText):(O("Failed to "+c+": "+d.statusText,!0),Da(a,b)))};d.send()}}function Ja(a){if("WebSocket"in window)var b=new WebSocket(a);else if("MozWebSocket"in window)b=new MozWebSocket(a);else return;"function"===typeof Ga?b.onopen=function(){Ga(b)}:(O("No onOpenFunc specified for "+a),b.onopen=function(){O("WebSocket ["+b.url+"] opens.")});"function"===typeof Ha?b.onclose=function(a){z=a;Ha()}:(O("No onCloseFunc specified for "+a),b.onclose=function(a){z=a;O("WebSocket ["+b.url+"] closes: "+a.code+" / "+a.reason+" / clean? "+a.A)});"function"===typeof Ea?(b.onmessage=function(a){Ea(a)},b.onerror=function(a){ka=a;O("WebSocket ["+b.url+"] error occurs:"+JSON.stringify(a))},H&&H("disconnected",void 0)):W("You must specify onMesgFunc for "+a)}function R(){return"function"===typeof atob&&"function"===typeof ArrayBuffer&&"function"===typeof Uint8Array&&"function"===typeof Blob&&"function"===typeof FormData}function ca(a,b){if(!R())return W("base64ToBlob() is not supported in legacy browsers."),null;if(null!=a&&0==a.indexOf("data:")){var c=a.indexOf(";");!b&&0<c&&(b=a.substring(5,c));c=a.indexOf("base64,");0<c&&(a=a.substr(c+7))}a=a.replace(/(\r\n|\n|\r)/gm,"");a=atob(a);c=a.length;var d=new ArrayBuffer(c);d=new Uint8Array(d);for(var f=0;f<c;f++)d[f]=a.charCodeAt(f);a=new Blob([d],{type:b});if(!e){c=new Date;var e=[c.getFullYear(),c.getMonth()+1,c.getDate(),c.getHours(),c.getMinutes(),c.getSeconds()];e=""+(2E3<e[0]?e[0]-2E3:e[0])+(10>e[1]?"0":"")+e[1]+(10>e[2]?"0":"")+e[2]+(10>e[3]?"0":"")+e[3]+(10>e[4]?"0":"")+e[4]+(10>e[5]?"0":"")+e[5];c=c.getMilliseconds();d=1;for(f=0;2>f;f++)d*=10;for(d=""+(Math.floor(Math.random()*(d-0+1))+0);2>d.length;)d="0"+d;e=e+((100>c?(10>c?"0":"")+"0":"")+c)+d;e=e+"."+(null==b?"unknown":0<=b.toLowerCase().indexOf("bmp")?"bmp":0<=b.toLowerCase().indexOf("png")?"png":0<=b.toLowerCase().indexOf("jp")?"jpg":0<=b.toLowerCase().indexOf("tif")?"tif":0<=b.toLowerCase().indexOf("pdf")?"pdf":"unknown")}if(e)try{a.lastModifiedDate=new Date,a.name=e}catch(k){}return a}function ya(){window.sessionStorage&&(sessionStorage.getItem("pageLoadId")?ba=sessionStorage.getItem("pageLoadId"):sessionStorage.setItem("pageLoadId",ba));return ba}function va(){var a=wa.getJREs();return void 0==a||""==a||a instanceof Array&&0==a.length?!1:!0}function P(){if(!("version"in Q))return W("Invalid bowser"),!1;var a=Math.floor(Q.version);return Q.chrome?45>a:Q.firefox?53>a:Q.msedge?!1:Q.msie?!0:!1}function Y(a){var b=a.attributes,c=document.createElement(a.name);if(null!=b)for(var d in b)c.setAttribute(d,b[d]);(b=null!=b&&"text"in b?b.text:void 0)&&c.appendChild(document.createTextNode(b));if(a.children instanceof Array)for(a=a.children,b=0;b<a.length;b++)a[b]&&c.appendChild(Y(a[b]));return c}function O(a,b){if(!(da>(b?16:4)))if(window.console){var c=(new Date).toLocaleTimeString();b?console.error?console.error(c+" "+a):console.log(c+" ERROR: "+a):console.info?console.info(c+" "+a):console.log(c+" INFO: "+a)}else b&&window.alert&&alert("ERROR: "+a)}function W(a){O(a,!0)}function ra(){h||(h=window.FormData.prototype.append,window.FormData.prototype.append=function(a,b,c){b instanceof Blob&&null==c?h.apply(this,[a,b,b.name]):h.apply(this,arguments)})}var wa=deployJava;function ta(){if(0!=modelsToAppendToBodyFromDeployJava.length){var a=document.getElementsByTagName("body");a=null!=a&&0<a.length?a.item(0):null;if(null==a)W("Unexcepted error - unable to get body");else for(var b=0;b<modelsToAppendToBodyFromDeployJava.length;b++)a.appendChild(Y(modelsToAppendToBodyFromDeployJava[b]))}}var Q=window.EXT_LIB_DEF_FUNC_BOWSER();delete window.EXT_LIB_DEF_FUNC_BOWSER;window.scannerjs=window.scannerjs||{};window.scannerjs.webSocketSend=function(a){return w.send(a)};window.scannerjs.getWebSocket=function(){return w};window.scannerjs.getWebSocketLastErrorEvent=function(){return ka};window.scannerjs.getWebSocketLastCloseEvent=function(){return z};window.scannerjs.doesCurrentBrowserSupportNPAPI=P;window.scannerjs.onAppletStarted=function(a){q=!0;O("Applet started: "+a);Fa(!1)};window.scannerjs.getRequestFuncCall=function(){return C};window.scannerjs.functionReturn=X;window.scannerjs.getRequestStatus=function(){return A};window.scannerjs.setRequestStatus=function(a){return A=a};window.scannerjs.callFunction=U;window.scannerjs.scan=function(a,b,c,d){if("string"!==typeof b&&(!JSON||"function"!==typeof JSON.stringify))return W("JSON.stringify is not supported by your browser."),!1;var f="string"===typeof b?b:JSON.stringify(b);return U(a,"scan",f,3<=arguments.length?c:null,4<=arguments.length?d:null)};window.scannerjs.listSources=function(a,b,c,d,f,e){return U(a,"listSources",2<=arguments.length?b:!0,3<=arguments.length?c:null,4<=arguments.length?d:!1,5<=arguments.length?f:!0,6<=arguments.length&&null!=e?"string"===typeof e?e:JSON.stringify(e):"")};window.scannerjs.getSource=function(a,b,c,d,f,e,k,m){return U(a,"getSource",2<=arguments.length?b:"select",3<=arguments.length?c:!0,4<=arguments.length?d:null,5<=arguments.length?f:!0,6<=arguments.length?e:!1,7<=arguments.length?k:null,8<=arguments.length&&null!=m?"string"===typeof m?m:JSON.stringify(m):"")};window.scannerjs.getSystemInfo=function(a){return U(a,"asprise_scan_system_info")};window.scannerjs.initialize=M;window.scannerjs.getScannedImages=function(a,b,c){var d=[];2>arguments.length&&(b=!0);3>arguments.length&&(c=!1);if(!b&&!c)return W("getImages: will return no image as neither includeOriginals nor includeThumbnails is true."),d;if("string"===typeof a){if(6<a.length&&"<error"==a.substr(0,6))throw a;try{a=JSON.parse(a)}catch(x){throw a;}}if("object"===typeof a&&a.output instanceof Array)for(var f=a.output,e=0;e<f.length;e++){var k=f[e];if(b&&"return-base64"==k.type||c&&"return-base64-thumbnail"==k.type){var m=k.format;m=null==m?"application/octet-stream":0<=m.toLowerCase().indexOf("bmp")?"image/bmp":0<=m.toLowerCase().indexOf("png")?"image/png":0<=m.toLowerCase().indexOf("jp")?"image/jpeg":0<=m.toLowerCase().indexOf("tif")?"image/tiff":0<=m.toLowerCase().indexOf("pdf")?"application/pdf":"application/octet-stream";if("application/octet-stream"==m)O("Unable to find mime type for "+k.format);else if(k.result instanceof Array)for(var v=0;v<k.result.length;v++){var aa=a.images instanceof Array&&v<a.images.length?a.images[v]:null;d.push(new l(m,!0,"data:"+m+";base64,"+k.result[v],aa,aa?aa.image_info:void 0,k.hasOwnProperty("selected_action")?k.selected_action:void 0,k.hasOwnProperty("selected_filename")?k.selected_filename:void 0))}else O("Output contains no result records",!0)}}return d};window.scannerjs.getUploadResponse=function(a){if("string"===typeof a){if(6<a.length&&"<error"==a.substr(0,6))throw a;try{a=JSON.parse(a)}catch(d){throw a;}}if("object"===typeof a&&a.output instanceof Array){a=a.output;for(var b=0;b<a.length;b++){var c=a[b];if(("upload"==c.type||"upload-thumbnail"==c.type)&&c.result instanceof Array&&0<c.result.length)return c.result[0]}}};window.scannerjs.getSaveResponse=function(a){if("string"===typeof a){if(6<a.length&&"<error"==a.substr(0,6))throw a;try{a=JSON.parse(a)}catch(d){throw a;}}if("object"===typeof a&&a.output instanceof Array){a=a.output;for(var b=0;b<a.length;b++){var c=a[b];if("save"==c.type||"save-thumbnail"==c.type)return JSON.stringify(c.result)}}};window.scannerjs.createDomElementFromModel=Y;window.scannerjs.submitFormWithImages=function(a,b,c){if(b instanceof Array&&0!=b.length){for(var d=0;d<b.length;d++){var f=b[d];if(!(f instanceof l)){O("Invalid image object: "+f,!0);W("Invalid image object!");return}}var e=document.getElementById(a);if(null==e)W("Form doesn't exist: "+a);else{a=new FormData(e);for(d=0;d<b.length;d++)f=b[d],f.b?a.append(ma,ca(f.src,f.mimeType)):a.append(oa,f.src);O("POST images, count: "+b.length);var k=new XMLHttpRequest;k.open("POST",e.getAttribute("action"),!0);k.onreadystatechange=function(){"function"==typeof c&&c(k)};k.send(a);O("Form posted: "+k);return k}}else W("no images - form submit cancelled.")};window.scannerjs.getScannerJsConfig=n;window.scannerjs.cancelFuncCalls=Ba;window.scannerjs.logToConsole=O;window.scannerjs.base64ToUint8Array=function(a){if(!R())return W("base64ToBlob() is not supported in legacy browsers."),null;if(null!=a&&0==a.indexOf("data:")){var b=a.indexOf("base64,");0<b&&(a=a.substr(b+7))}a=a.replace(/(\r\n|\n|\r)/gm,"");a=atob(a);b=a.length;var c=new ArrayBuffer(b);c=new Uint8Array(c);for(var d=0;d<b;d++)c[d]=a.charCodeAt(d);return c};window.scannerjs.fadeOut=Ma;window.scannerjs.hasJava=va;window.scannerjs.hasWebSocketSupport=function(){var a="WebSocket"in window&&void 0!=window.WebSocket||"MozWebSocket"in window;a||W("WebSocket is not supported by this browser: "+Q.name+" "+Q.version);return a};window.scannerjs.isWindows=function(){if("navigator"in window&&void 0!=window.navigator&&"platform"in window.navigator)return-1<navigator.platform.indexOf("Win")};window.scannerjs.isHttps=function(){return"https:"==document.location.protocol};window.scannerjs.version="2.11.3";window.scannerjs.MIME_TYPE_BINARY="application/octet-stream";window.scannerjs.MIME_TYPE_BMP="image/bmp";window.scannerjs.MIME_TYPE_GIF="image/png";window.scannerjs.MIME_TYPE_JPEG="image/jpeg";window.scannerjs.MIME_TYPE_PNG="image/tiff";window.scannerjs.MIME_TYPE_PDF="application/pdf";window.scannerjs.EVENT_LOADED="loaded";window.scannerjs.EVENT_PRE_INIT="pre-init";window.scannerjs.EVENT_POST_INT="post-init";window.scannerjs.EVENT_FUNC_CALL="func-call";window.scannerjs.EVENT_FUNC_CANCELLED="func-cancelled";window.scannerjs.EVENT_FUNC_RETURN="func-return";window.scannerjs.EVENT_READY="ready";window.scannerjs.EVENT_FAILED_TO_CONNECT="failed-to-connect";window.scannerjs.EVENT_FAILED_TO_CONNECT_FINAL="failed-to-connect-final";window.scannerjs.EVENT_DISCONNECTED="disconnected";window.scannerjs.LOG_LEVEL_INFO=4;window.scannerjs.LOG_LEVEL_ERROR=16;window.scannerjs.LOG_LEVEL_ALL=0;window.scannerjs.LOG_LEVEL_OFF=1024;window.scannerjs.getIsInitialized=function(){return D};window.scannerjs.getIsReady=function(){return K};window.scannerjs.isConnectedToScanWebSocket=V;window.scannerjs.displaySetupDialog=La;window.scannerjs.doAjax=Da;window.scannerjs.ScannedImage=l;window.scannerjs.ScannedImage.prototype.getMimeType=l.prototype.v;window.scannerjs.ScannedImage.prototype.getSrcIsBase64=l.prototype.w;window.scannerjs.ScannedImage.prototype.getImageInfo=l.prototype.s;window.scannerjs.ScannedImage.prototype.getInfo=l.prototype.u;window.scannerjs.ScannedImage.prototype.getWidth=l.prototype.h;window.scannerjs.ScannedImage.prototype.getHeight=l.prototype.f;window.scannerjs.ScannedImage.prototype.isColor=l.prototype.j;window.scannerjs.ScannedImage.prototype.isGray=l.prototype.l;window.scannerjs.ScannedImage.prototype.isBlackWhite=l.prototype.i;window.scannerjs.ScannedImage.prototype.getResolution=l.prototype.g;window.scannerjs.ScannedImage.prototype.getBitsPerPixel=l.prototype.c;window.scannerjs.ScannedImage.prototype.getBase64NoPrefix=l.prototype.o;window.scannerjs.ScannedImage.prototype.toString=l.prototype.toString;"scanner"in window||(window.scanner=window.scannerjs);"ScannedImage"in window||(window.ScannedImage=window.scannerjs.ScannedImage);window&&(window.addEventListener?window.addEventListener("load",function(){pa&&M(!1)}):window.attachEvent&&window.attachEvent("onload",function(){pa&&M(!1)}));try{H&&H("loaded")}catch(a){};}).call(window);
@@ -1,19 +0,0 @@
1
- /**
2
- * Scanner.js allows users to scan documents from scanners within browsers.
3
- * Visit: http://asprise.com/document-scan-upload-image-browser
4
- *
5
- * Copyright (c) 2014-present, Asprise Pte Ltd. All rights reserved.
6
- *
7
- * NOTICE: All information contained herein is, and remains the property of Asprise
8
- * Pte Ltd. The intellectual and technical concepts contained herein are proprietary
9
- * to Asprise and they are protected by trade secret and copyright laws.
10
- *
11
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
13
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
15
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17
- */
18
-
19
- (function() {var modelsToAppendToBodyFromDeployJava=[];var s=null;var deployJava=(function(){function e(e){h.debug&&(console.log?console.log(e):alert(e));}function t(e,t){if(null==e||0==e.length){return !0;}var n=e.charAt(e.length-1);if("+"!=n&&"*"!=n&&-1!=e.indexOf("_")&&"_"!=n&&(e+="*",n="*"),e=e.substring(0,e.length-1),e.length>0){var i=e.charAt(e.length-1);("."==i||"_"==i)&&(e=e.substring(0,e.length-1));}return"*"==n?0==t.indexOf(e):"+"==n?t>=e:!1;}function n(){var e="//java.com/js/webstart.png";try{return -1!=document.location.protocol.indexOf("http")?e:"http:"+e;}catch(t){return"http:"+e;}}function i(e){var t="http://java.com/dt-redirect";return null==e||0==e.length?t:("&"==e.charAt(0)&&(e=e.substring(1,e.length)),t+"?"+e);}function r(e,t){for(var n=e.length,i=0;n>i;i++){if(e[i]===t){return !0;}}return !1;}function a(e){return r(u,e.toLowerCase());}function l(e){return"MSIE"!=deployJava.browserName?!0:deployJava.compareVersionToPattern(deployJava.getPlugin().version,["10","0","0"],!1,!0)?!0:null==e?!1:!t("1.6.0_33+",e);}var o={core:["id","class","title","style"],i18n:["lang","dir"],events:["onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup"],applet:["codebase","code","name","archive","object","width","height","alt","align","hspace","vspace"],object:["classid","codebase","codetype","data","type","archive","declare","standby","height","width","usemap","name","tabindex","align","border","hspace","vspace"]},u=(o.object.concat(o.core,o.i18n,o.events),o.applet.concat(o.core)),h={debug:null,version:"20120801",firefoxJavaVersion:null,myInterval:null,preInstallJREList:null,returnPage:null,brand:null,locale:null,installType:null,EAInstallEnabled:!1,EarlyAccessURL:null,oldMimeType:"application/npruntime-scriptable-plugin;DeploymentToolkit",mimeType:"application/java-deployment-toolkit",launchButtonPNG:n(),browserName:null,browserName2:null,getJREs:function(){var t=new Array;if(this.isPluginInstalled()){for(var n=this.getPlugin(),i=n.jvms,r=0;r<i.getLength();r++){t[r]=i.get(r).version;}}else{var a=this.getBrowser();"MSIE"==a?this.testUsingActiveX("1.7.0")?t[0]="1.7.0":this.testUsingActiveX("1.6.0")?t[0]="1.6.0":this.testUsingActiveX("1.5.0")?t[0]="1.5.0":this.testUsingActiveX("1.4.2")?t[0]="1.4.2":this.testForMSVM()&&(t[0]="1.1"):"Netscape Family"==a&&(this.getJPIVersionUsingMimeType(),null!=this.firefoxJavaVersion?t[0]=this.firefoxJavaVersion:this.testUsingMimeTypes("1.7")?t[0]="1.7.0":this.testUsingMimeTypes("1.6")?t[0]="1.6.0":this.testUsingMimeTypes("1.5")?t[0]="1.5.0":this.testUsingMimeTypes("1.4.2")?t[0]="1.4.2":"Safari"==this.browserName2&&(this.testUsingPluginsArray("1.7.0")?t[0]="1.7.0":this.testUsingPluginsArray("1.6")?t[0]="1.6.0":this.testUsingPluginsArray("1.5")?t[0]="1.5.0":this.testUsingPluginsArray("1.4.2")&&(t[0]="1.4.2")));}if(this.debug){for(var r=0;r<t.length;++r){e("[getJREs()] We claim to have detected Java SE "+t[r]);}}return t;},installJRE:function(e,t){if(this.isPluginInstalled()&&this.isAutoInstallEnabled(e)){var n=!1;return n=this.isCallbackSupported()?this.getPlugin().installJRE(e,t):this.getPlugin().installJRE(e),n&&(this.refresh(),null!=this.returnPage&&(document.location=this.returnPage)),n;}return this.installLatestJRE();},isAutoInstallEnabled:function(e){return this.isPluginInstalled()?("undefined"==typeof e&&(e=null),l(e)):!1;},isCallbackSupported:function(){return this.isPluginInstalled()&&this.compareVersionToPattern(this.getPlugin().version,["10","2","0"],!1,!0);},installLatestJRE:function(e){if(this.isPluginInstalled()&&this.isAutoInstallEnabled()){var t=!1;return t=this.isCallbackSupported()?this.getPlugin().installLatestJRE(e):this.getPlugin().installLatestJRE(),t&&(this.refresh(),null!=this.returnPage&&(document.location=this.returnPage)),t;}var n=this.getBrowser(),r=navigator.platform.toLowerCase();return"true"==this.EAInstallEnabled&&-1!=r.indexOf("win")&&null!=this.EarlyAccessURL?(this.preInstallJREList=this.getJREs(),null!=this.returnPage&&(this.myInterval=setInterval("deployJava.poll()",3000)),location.href=this.EarlyAccessURL,!1):"MSIE"==n?this.IEInstall():"Netscape Family"==n&&-1!=r.indexOf("win32")?this.FFInstall():(location.href=i((null!=this.returnPage?"&returnPage="+this.returnPage:"")+(null!=this.locale?"&locale="+this.locale:"")+(null!=this.brand?"&brand="+this.brand:"")),!1);},runApplet:function(t,n,i){("undefined"==i||null==i)&&(i="1.1");var r=i.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"$");if(null==this.returnPage&&(this.returnPage=document.location),null!=r){var a=this.getBrowser();"?"!=a?this.versionCheck(i+"+")?this.writeAppletTag(t,n):this.installJRE(i+"+")&&(this.refresh(),location.href=document.location,this.writeAppletTag(t,n)):this.writeAppletTag(t,n);}else{e("[runApplet()] Invalid minimumVersion argument to runApplet():"+i);}},writeAppletTag:function(e,t){var n="<applet ",i="",r="</applet>",s=!0;(null==t||"object"!=typeof t)&&(t=new Object);for(var l in e){a(l)?(n+=" "+l+'="'+e[l]+'"',"code"==l&&(s=!1)):t[l]=e[l];}var o=!1;for(var u in t){"codebase_lookup"==u&&(o=!0),("object"==u||"java_object"==u||"java_code"==u)&&(s=!1),i+='<param name="'+u+'" value="'+t[u]+'"/>';}o||(i+='<param name="codebase_lookup" value="false"/>'),s&&(n+=' code="dummy"'),n+=">",document.write(n+"\n"+i+"\n"+r);},versionCheck:function(t){var n=0,i=t.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"(\\*|\\+)?$");if(null!=i){for(var r=!1,a=!1,s=new Array,l=1;l<i.length;++l){"string"==typeof i[l]&&""!=i[l]&&(s[n]=i[l],n++);}"+"==s[s.length-1]?(a=!0,r=!1,s.length--):"*"==s[s.length-1]?(a=!1,r=!0,s.length--):s.length<4&&(a=!1,r=!0);for(var o=this.getJREs(),l=0;l<o.length;++l){if(this.compareVersionToPattern(o[l],s,r,a)){return !0;}}return !1;}var u="Invalid versionPattern passed to versionCheck: "+t;return e("[versionCheck()] "+u),alert(u),!1;},isWebStartInstalled:function(t){var n=this.getBrowser();if("?"==n){return !0;}("undefined"==t||null==t)&&(t="1.4.2");var i=!1,r=t.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"$");return null!=r?i=this.versionCheck(t+"+"):(e("[isWebStartInstaller()] Invalid minimumVersion argument to isWebStartInstalled(): "+t),i=this.versionCheck("1.4.2+")),i;},getJPIVersionUsingMimeType:function(){for(var e=0;e<navigator.mimeTypes.length;++e){var t=navigator.mimeTypes[e].type,n=t.match(/^application\/x-java-applet;jpi-version=(.*)$/);if(null!=n&&(this.firefoxJavaVersion=n[1],"Opera"!=this.browserName2)){break;}}},launchWebStartApplication:function(e){navigator.userAgent.toLowerCase();if(this.getJPIVersionUsingMimeType(),0==this.isWebStartInstalled("1.7.0")&&(0==this.installJRE("1.7.0+")||0==this.isWebStartInstalled("1.7.0"))){return !1;}var t=null;document.documentURI&&(t=document.documentURI),null==t&&(t=document.URL);var n,i=this.getBrowser();if("MSIE"==i?n='<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="0" height="0"><PARAM name="launchjnlp" value="'+e+'"><PARAM name="docbase" value="'+encodeURIComponent(t)+'"></object>':"Netscape Family"==i&&(n='<embed type="application/x-java-applet;jpi-version='+this.firefoxJavaVersion+'" width="0" height="0" launchjnlp="'+e+'"docbase="'+encodeURIComponent(t)+'" />'),"undefined"==document.body||null==document.body){document.write(n),document.location=t;}else{var r=document.createElement("div");r.id="div1",r.style.position="relative",r.style.left="-10000px",r.style.margin="0px auto",r.className="dynamicDiv",r.innerHTML=n,document.body.appendChild(r);}},createWebStartLaunchButtonEx:function(e,t){null==this.returnPage&&(this.returnPage=e);var n="javascript:deployJava.launchWebStartApplication('"+e+"');";document.write('<a href="'+n+'" onMouseOver="window.status=\'\'; return true;"><img src="'+this.launchButtonPNG+'" border="0" /></a>');},createWebStartLaunchButton:function(e,t){null==this.returnPage&&(this.returnPage=e);var n="javascript:if (!deployJava.isWebStartInstalled(&quot;"+t+"&quot;)) {if (deployJava.installLatestJRE()) {if (deployJava.launch(&quot;"+e+"&quot;)) {}}} else {if (deployJava.launch(&quot;"+e+"&quot;)) {}}";document.write('<a href="'+n+'" onMouseOver="window.status=\'\'; return true;"><img src="'+this.launchButtonPNG+'" border="0" /></a>');},launch:function(e){return document.location=e,!0;},isPluginInstalled:function(){var e=this.getPlugin();return e&&e.jvms?!0:!1;},isAutoUpdateEnabled:function(){return this.isPluginInstalled()?this.getPlugin().isAutoUpdateEnabled():!1;},setAutoUpdateEnabled:function(){return this.isPluginInstalled()?this.getPlugin().setAutoUpdateEnabled():!1;},setInstallerType:function(e){return this.installType=e,this.isPluginInstalled()?this.getPlugin().setInstallerType(e):!1;},setAdditionalPackages:function(e){return this.isPluginInstalled()?this.getPlugin().setAdditionalPackages(e):!1;},setEarlyAccess:function(e){this.EAInstallEnabled=e;},isPlugin2:function(){if(this.isPluginInstalled()&&this.versionCheck("1.6.0_10+")){try{return this.getPlugin().isPlugin2();}catch(e){}}return !1;},allowPlugin:function(){this.getBrowser();var e="Safari"!=this.browserName2&&"Opera"!=this.browserName2;return e;},getPlugin:function(){this.refresh();var e=null;return this.allowPlugin()&&(e=document.getElementById("deployJavaPlugin")),e;},compareVersionToPattern:function(e,t,n,i){if(void 0==e||void 0==t){return !1;}var r=e.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:[_\\.](\\d+))?)?)?"+"$");if(null!=r){for(var a=0,s=new Array,l=1;l<r.length;++l){"string"==typeof r[l]&&""!=r[l]&&(s[a]=r[l],a++);}var o=Math.min(s.length,t.length);if(i){for(var l=0;o>l;++l){var u=parseInt(s[l]),h=parseInt(t[l]);if(h>u){return !1;}if(u>h){return !0;}}return !0;}for(var l=0;o>l;++l){if(s[l]!=t[l]){return !1;}}return n?!0:s.length==t.length;}return !1;},getBrowser:function(){if(null==this.browserName){var t=navigator.userAgent.toLowerCase();e("[getBrowser()] navigator.userAgent.toLowerCase() -> "+t),-1!=t.indexOf("msie")&&-1==t.indexOf("opera")?(this.browserName="MSIE",this.browserName2="MSIE"):-1!=t.indexOf("trident")||-1!=t.indexOf("Trident")?(this.browserName="MSIE",this.browserName2="MSIE"):-1!=t.indexOf("iphone")?(this.browserName="Netscape Family",this.browserName2="iPhone"):-1!=t.indexOf("firefox")&&-1==t.indexOf("opera")?(this.browserName="Netscape Family",this.browserName2="Firefox"):-1!=t.indexOf("chrome")?(this.browserName="Netscape Family",this.browserName2="Chrome"):-1!=t.indexOf("safari")?(this.browserName="Netscape Family",this.browserName2="Safari"):-1!=t.indexOf("mozilla")&&-1==t.indexOf("opera")?(this.browserName="Netscape Family",this.browserName2="Other"):-1!=t.indexOf("opera")?(this.browserName="Netscape Family",this.browserName2="Opera"):(this.browserName="?",this.browserName2="unknown"),e("[getBrowser()] Detected browser name:"+this.browserName+", "+this.browserName2);}return this.browserName;},testUsingActiveX:function(t){var n="JavaWebStart.isInstalled."+t+".0";if("undefined"==typeof ActiveXObject||!ActiveXObject){return e("[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?"),!1;}try{return null!=new ActiveXObject(n);}catch(i){return !1;}},testForMSVM:function(){var e="{08B0E5C0-4FCB-11CF-AAA5-00401C608500}";if("undefined"!=typeof oClientCaps){var t=oClientCaps.getComponentVersion(e,"ComponentID");return""==t||"5,0,5000,0"==t?!1:!0;}return !1;},testUsingMimeTypes:function(t){if(!navigator.mimeTypes){return e("[testUsingMimeTypes()] Browser claims to be Netscape family, but no mimeTypes[] array?"),!1;}for(var n=0;n<navigator.mimeTypes.length;++n){s=navigator.mimeTypes[n].type;var i=s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);if(null!=i&&this.compareVersions(i[1],t)){return !0;}}return !1;},testUsingPluginsArray:function(e){if(!navigator.plugins||!navigator.plugins.length){return !1;}for(var t=navigator.platform.toLowerCase(),n=0;n<navigator.plugins.length;++n){if(s=navigator.plugins[n].description,-1!=s.search(/^Java Switchable Plug-in (Cocoa)/)){if(this.compareVersions("1.5.0",e)){return !0;}}else{if(-1!=s.search(/^Java/)&&-1!=t.indexOf("win")&&(this.compareVersions("1.5.0",e)||this.compareVersions("1.6.0",e))){return !0;}}}return this.compareVersions("1.5.0",e)?!0:!1;},IEInstall:function(){return location.href=i((null!=this.returnPage?"&returnPage="+this.returnPage:"")+(null!=this.locale?"&locale="+this.locale:"")+(null!=this.brand?"&brand="+this.brand:"")),!1;},done:function(e,t){},FFInstall:function(){return location.href=i((null!=this.returnPage?"&returnPage="+this.returnPage:"")+(null!=this.locale?"&locale="+this.locale:"")+(null!=this.brand?"&brand="+this.brand:"")+(null!=this.installType?"&type="+this.installType:"")),!1;},compareVersions:function(e,t){for(var n=e.split("."),i=t.split("."),r=0;r<n.length;++r){n[r]=Number(n[r]);}for(var r=0;r<i.length;++r){i[r]=Number(i[r]);}return 2==n.length&&(n[2]=0),n[0]>i[0]?!0:n[0]<i[0]?!1:n[1]>i[1]?!0:n[1]<i[1]?!1:n[2]>i[2]?!0:n[2]<i[2]?!1:!0;},enableAlerts:function(){this.browserName=null,this.debug=!0;},poll:function(){this.refresh();var e=this.getJREs();0==this.preInstallJREList.length&&0!=e.length&&(clearInterval(this.myInterval),null!=this.returnPage&&(location.href=this.returnPage)),0!=this.preInstallJREList.length&&0!=e.length&&this.preInstallJREList[0]!=e[0]&&(clearInterval(this.myInterval),null!=this.returnPage&&(location.href=this.returnPage));},writePluginTag:function(){var e=this.getBrowser();if("MSIE"==e){var t={name:"object",attributes:{id:"deployJavaPlugin",classid:"clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA",width:"0",height:"0"}};modelsToAppendToBodyFromDeployJava.push(t);}else{"Netscape Family"==e&&this.allowPlugin()&&this.writeEmbedTag();}},refresh:function(){navigator.plugins.refresh(!1);var e=this.getBrowser();if("Netscape Family"==e&&this.allowPlugin()){var t=document.getElementById("deployJavaPlugin");null==t&&this.writeEmbedTag();}},writeEmbedTag:function(){var e=!1;if(null!=navigator.mimeTypes){for(var t=0;t<navigator.mimeTypes.length;t++){if(navigator.mimeTypes[t].type==this.mimeType&&navigator.mimeTypes[t].enabledPlugin){var n={name:"embed",attributes:{id:"deployJavaPlugin",type:this.mimeType,hidden:"true"}};modelsToAppendToBodyFromDeployJava.push(n),e=!0;}}if(!e){for(var t=0;t<navigator.mimeTypes.length;t++){if(navigator.mimeTypes[t].type==this.oldMimeType&&navigator.mimeTypes[t].enabledPlugin){({name:"embed",attributes:{id:"deployJavaPlugin",type:this.oldMimeType,hidden:"true"}});modelsToAppendToBodyFromDeployJava.push(this.oldMimeType);}}}}}};if(h.writePluginTag(),null==h.locale){var c=null;if(null==c){try{c=navigator.userLanguage;}catch(g){}}if(null==c){try{c=navigator.systemLanguage;}catch(g){}}if(null==c){try{c=navigator.language;}catch(g){}}null!=c&&(c.replace("-","_"),h.locale=c);}return h;})();window["EXT_LIB_DEF_FUNC_BOWSER"]=function(){function t(t){function n(e){var n=t.match(e);return n&&n.length>1&&n[1]||"";}function r(e){var n=t.match(e);return n&&n.length>1&&n[2]||"";}function N(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return undefined;}}var i=n(/(ipod|iphone|ipad)/i).toLowerCase(),s=/like android/i.test(t),o=!s&&/android/i.test(t),u=/nexus\s*[0-6]\s*/i.test(t),a=!u&&/nexus\s*[0-9]+/i.test(t),f=/CrOS/.test(t),l=/silk/i.test(t),c=/sailfish/i.test(t),h=/tizen/i.test(t),p=/(web|hpw)os/i.test(t),d=/windows phone/i.test(t),v=/SamsungBrowser/i.test(t),m=!d&&/windows/i.test(t),g=!i&&!l&&/macintosh/i.test(t),y=!o&&!c&&!h&&!p&&/linux/i.test(t),b=n(/edge\/(\d+(\.\d+)?)/i),w=n(/version\/(\d+(\.\d+)?)/i),E=/tablet/i.test(t)&&!/tablet pc/i.test(t),S=!E&&/[^-]mobi/i.test(t),x=/xbox/i.test(t),T;/opera/i.test(t)?T={name:"Opera",opera:e,version:w||n(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?T={name:"Opera",opera:e,version:n(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||w}:/SamsungBrowser/i.test(t)?T={name:"Samsung Internet for Android",samsungBrowser:e,version:w||n(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(t)?T={name:"Opera Coast",coast:e,version:w||n(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(t)?T={name:"Yandex Browser",yandexbrowser:e,version:w||n(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?T={name:"UC Browser",ucbrowser:e,version:n(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?T={name:"Maxthon",maxthon:e,version:n(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?T={name:"Epiphany",epiphany:e,version:n(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?T={name:"Puffin",puffin:e,version:n(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?T={name:"Sleipnir",sleipnir:e,version:n(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?T={name:"K-Meleon",kMeleon:e,version:n(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:d?(T={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},b?(T.msedge=e,T.version=b):(T.msie=e,T.version=n(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?T={name:"Internet Explorer",msie:e,version:n(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:f?T={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/chrome.+? edge/i.test(t)?T={name:"Microsoft Edge",msedge:e,version:b}:/vivaldi/i.test(t)?T={name:"Vivaldi",vivaldi:e,version:n(/vivaldi\/(\d+(\.\d+)?)/i)||w}:c?T={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:n(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?T={name:"SeaMonkey",seamonkey:e,version:n(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(T={name:"Firefox",firefox:e,version:n(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(T.firefoxos=e,T.osname="Firefox OS")):l?T={name:"Amazon Silk",silk:e,version:n(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?T={name:"PhantomJS",phantom:e,version:n(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?T={name:"SlimerJS",slimer:e,version:n(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?T={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:w||n(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:p?(T={name:"WebOS",osname:"WebOS",webos:e,version:w||n(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(T.touchpad=e)):/bada/i.test(t)?T={name:"Bada",osname:"Bada",bada:e,version:n(/dolfin\/(\d+(\.\d+)?)/i)}:h?T={name:"Tizen",osname:"Tizen",tizen:e,version:n(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||w}:/qupzilla/i.test(t)?T={name:"QupZilla",qupzilla:e,version:n(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||w}:/chromium/i.test(t)?T={name:"Chromium",chromium:e,version:n(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||w}:/chrome|crios|crmo/i.test(t)?T={name:"Chrome",chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:o?T={name:"Android",version:w}:/safari|applewebkit/i.test(t)?(T={name:"Safari",safari:e},w&&(T.version=w)):i?(T={name:i=="iphone"?"iPhone":i=="ipad"?"iPad":"iPod"},w&&(T.version=w)):/googlebot/i.test(t)?T={name:"Googlebot",googlebot:e,version:n(/googlebot\/(\d+(\.\d+))/i)||w}:T={name:n(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!T.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(T.name=T.name||"Blink",T.blink=e):(T.name=T.name||"Webkit",T.webkit=e),!T.version&&w&&(T.version=w)):!T.opera&&/gecko\//i.test(t)&&(T.name=T.name||"Gecko",T.gecko=e,T.version=T.version||n(/gecko\/(\d+(\.\d+)?)/i)),!T.windowsphone&&!T.msedge&&(o||T.silk)?(T.android=e,T.osname="Android"):!T.windowsphone&&!T.msedge&&i?(T[i]=e,T.ios=e,T.osname="iOS"):g?(T.mac=e,T.osname="macOS"):x?(T.xbox=e,T.osname="Xbox"):m?(T.windows=e,T.osname="Windows"):y&&(T.linux=e,T.osname="Linux");var C="";T.windows?C=N(n(/Windows ((NT|XP)( \d\d?.\d)?)/i)):T.windowsphone?C=n(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):T.mac?(C=n(/Mac OS X (\d+([_\.\s]\d+)*)/i),C=C.replace(/[_\s]/g,".")):i?(C=n(/os (\d+([_\s]\d+)*) like mac os x/i),C=C.replace(/[_\s]/g,".")):o?C=n(/android[ \/-](\d+(\.\d+)*)/i):T.webos?C=n(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):T.blackberry?C=n(/rim\stablet\sos\s(\d+(\.\d+)*)/i):T.bada?C=n(/bada\/(\d+(\.\d+)*)/i):T.tizen&&(C=n(/tizen[\/\s](\d+(\.\d+)*)/i)),C&&(T.osversion=C);var k=!T.windows&&C.split(".")[0];if(E||a||i=="ipad"||o&&(k==3||k>=4&&!S)||T.silk){T.tablet=e;}else{if(S||i=="iphone"||i=="ipod"||o||u||T.blackberry||T.webos||T.bada){T.mobile=e;}}return T.msedge||T.msie&&T.version>=10||T.yandexbrowser&&T.version>=15||T.vivaldi&&T.version>=1||T.chrome&&T.version>=20||T.samsungBrowser&&T.version>=4||T.firefox&&T.version>=20||T.safari&&T.version>=6||T.opera&&T.version>=10||T.ios&&T.osversion&&T.osversion.split(".")[0]>=6||T.blackberry&&T.version>=10.1||T.chromium&&T.version>=20?T.a=e:T.msie&&T.version<10||T.chrome&&T.version<20||T.firefox&&T.version<20||T.safari&&T.version<6||T.opera&&T.version<10||T.ios&&T.osversion&&T.osversion.split(".")[0]<6||T.chromium&&T.version<20?T.c=e:T.x=e,T;}function r(e){return e.split(".").length;}function i(e,t){var n=[],r;if(Array.prototype.map){return Array.prototype.map.call(e,t);}for(r=0;r<e.length;r++){n.push(t(e[r]));}return n;}function s(e){var t=Math.max(r(e[0]),r(e[1])),n=i(e,function(e){var n=t-r(e);return e+=(new Array(n+1)).join(".0"),i(e.split("."),function(e){return(new Array(20-e.length)).join("0")+e;}).reverse();});while(--t>=0){if(n[0][t]>n[1][t]){return 1;}if(n[0][t]!==n[1][t]){return -1;}if(t===0){return 0;}}}function o(e,r,i){var o=n;typeof r=="string"&&(i=r,r=void 0),r===void 0&&(r=!1),i&&(o=t(i));var u=""+o.version;for(var a in e){if(e.hasOwnProperty(a)&&o[a]){if(typeof e[a]!="string"){throw new Error("Browser version in the minVersion map should be a string: "+a+": "+String(e));}return s([u,e[a]])<0;}}return r;}function u(e,t,n){return !o(e,t,n);}var e=!0,n=t(typeof navigator!="undefined"?navigator.userAgent||"":"");return n.test=function(e){for(var t=0;t<e.length;++t){var r=e[t];if(typeof r=="string"&&r in n){return !0;}}return !1;},n.isUnsupportedBrowser=o,n.compareVersions=s,n.check=u,n._detect=t,n;};var g,h,ba=(new Date).getTime()+"-"+Math.floor(1001*Math.random()+0);function l(a,b,c,d,f){this.mimeType=a;this.b=b;this.src=c;this.m=d;this.a=f}g=l.prototype;g.u=function(){return this.m};g.v=function(){return this.mimeType};g.w=function(){return this.b};g.s=function(){return this.a};g.h=function(){return"object"===typeof this.a?this.a.ImageWidth:void 0};g.f=function(){return"object"===typeof this.a?this.a.ImageLength:void 0};g.c=function(){return"object"===typeof this.a?this.a.BitsPerPixel:void 0};g.j=function(){return"object"===typeof this.a?2==this.a.PixelType:void 0};g.l=function(){return"object"===typeof this.a?1==this.a.PixelType:void 0};g.i=function(){return"object"===typeof this.a?0==this.a.PixelType:void 0};g.g=function(){return"object"===typeof this.a?Math.floor(this.a.XResolution):void 0};g.o=function(){if(this.b)return this.b?ca(this.src):void 0};g.toString=function(){var a="";this.j()?a+="Color ":this.l()?a+="Gray ":this.i()&&(a+="Black/white ");a+="image:";var b=this.h(),c=this.f(),d=this.c(),f=this.g();0<b&&0<c&&(a+=" "+b+" x "+c);0<d&&(a+=" "+d+"-bit");0<f&&(a+=" @ "+f+" DPI");return a};function n(a,b){var c="scannerjs_"+a;c=window&&c in window?window[c]:void 0;!c&&window&&"scannerjs_config"in window&&(c=a in window.scannerjs_config?window.scannerjs_config[a]:void 0);return void 0==c||null==c?b:c}var da,p,q,ea,r,fa,ha,ia,t,ja,u,w,y,z,ka,A,B,C,la,ma,oa,D,pa,E,F,G,H,I,J,K,qa,L,M;da=n("log_level",0);p=n("java_applet_enabled",!1);q=!1;ea=n("scan_app_enabled",!0);r=n("scan_app_download_url","http://cdn.asprise.com/scanapp/scan-setup.exe");fa=n("scan_app_min_version","2.04");ha=n("license","com_asprise_scan_app_license"in window?window.com_asprise_scan_app_license:null);ia=n("skip_load_default_css",!1);t=n("scan_app_port_range_lowest",9713);ja=n("scan_app_port_range_highest",9716);A=ka=z=y=w=u=void 0;B=[];la=C=void 0;ma=n("form_field_name_for_img_objects","com_asprise_scannerjs_images[]");oa=n("form_field_name_for_img_urls","com_asprise_scannerjs_images_urls[]");D=!1;pa=n("eager_init",!0);E=null;F=n("display_install_func",void 0);G=n("display_scan_ready_func",void 0);H=n("event_listener",void 0);I=n("sys_response_callback_func",void 0);J=n("reverse_request_handler_func",void 0);K=!1;qa=n("additional_css_classes_for_dialogs","");L=n("file_name_base","scanner");M=function(a){if(!D||a){a&&(da=n("log_level",0),t=n("scan_app_port_range_lowest",9713),ja=n("scan_app_port_range_highest",9716),F=n("display_install_func",void 0),G=n("display_scan_ready_func",void 0),H=n("event_listener",void 0),I=n("sys_response_callback_func",void 0),J=n("reverse_request_handler_func",void 0),N=n("max_conn_attempts",-1));E=new Date;H&&H("pre-init");n("skip_fix_formdata_append",!1)||ra();O("Initializing Scanner.js v2.11.3 \u00a9 Asprise ...");ia||sa();if(p&&P()){(a=window.location.href)&&0>a.toLowerCase().indexOf("http:")&&0>a.toLowerCase().indexOf("https:")&&(O("The scan applet does *NOT* work in local HTML files. Please host this page on localhost or any other servers and access it using http:// or https://.",!0),alert("The scan applet does *NOT* work in local HTML files. Please host this page on localhost or any other servers and access it using http:// or https://."));O("Attempt to enable Java applet for scanning ...");O(Q.name+" "+Q.version+" supports NPAPI? "+P());ta();try{ua()}catch(b){O("Failed to add applet element: "+b,!0)}ea&&R()&&(!va()||Q.firefox?window.setTimeout(function(){K||(O("Java applet doesn't seem running. Falling back to scan app ..."),S())},1E3):O("JRE: "+wa.getJREs()))}else p&&!P()&&O("The scanning Java applet is set to on, but this browser doesn't support NPAPI: "+Q.name+" "+Q.version,!0),S();O("Scanner.js initialized.");D=!0;H&&H("post-init")}};var T=null;function U(a,b,c,d,f,e,k,m,v,aa){V()||q||"scan"!=b&&"listSources"!=b&&"getSource"!=b&&"getSystemInfo"!=b||(T=arguments);if(!V()&&!q)return p&&P()?null!=E&&1E4<(new Date).getTime()-E.getTime()&&xa(!0):xa(!0),!1;if(2>arguments.length)return W("Invalid function call - func name is not specified"),!1;if("function"!==typeof a)return W("asprise_scanner_js_call_function requires a valid callbackFunc"),!1;if("PENDING"==A||"PROCESSING"==A)return W("You can not submit a new request as the previous request has not completed yet."),!1;if(!JSON||"function"!==typeof JSON.stringify)return W("JSON.stringify is not supported by your browser."),!1;for(var x={funcCallId:""+(new Date).getTime()+"-"+Math.floor(1E4*Math.random()),funcName:b,time:(new Date).getTime(),userAgent:navigator.userAgent,isModernBrowser:R(),windowTitle:document.title,url:window.location.href,pageLoadId:ya()},Aa=[],na=2;na<arguments.length;na++)Aa.push(arguments[na]);x.funcArgs=Aa;x=JSON.stringify(x);A="PENDING";C=x;la=a;H&&H("func-call",x);za();return!0}function Ba(){if("PENDING"==A||"PROCESSING"==A){var a=JSON.parse(C);B.push(a);O("Canceled func call: "+a.funcName+", call id: "+a.funcCallId);H&&H("func-cancelled",a)}A=void 0}function za(){if(V()&&"PENDING"==A)try{w.send(C),A="PROCESSING"}catch(a){X(!1,"Failed: "+a,null,null,null,null,null),O(a,!0)}}function Ca(a){var b=null;if("string"===typeof a&&6<a.length&&"<error"==a.substr(0,6))throw a;if(a&&7<a.length&&"SYSTEM/"==a.substr(0,7))try{var c=a.indexOf(":");if(0<c&&"NET"==a.substr(7,3)){var d=a.substr(0,c);Da(a.substr(c+1).trim().split("|"),function(a,b){try{w.send(d+":"+JSON.stringify({success:a,data:b}))}catch(x){O("Failed to send command: "+x,!0)}})}else I&&(0<c?I(a.substr(0,c),a.substr(c+1)):W("Invalid system response: "+a))}catch(v){O("Error while processing system request: "+v,!0)}else if(a&&3<a.length&&"RR:"==a.substr(0,3))try{var f=JSON.parse(a.substr(3)),e=f.rr_id,k=f.func,m=f.args;J?J(k,m,function(a,b){try{w.send("RR_RESULT:"+JSON.stringify({rr_id:e,result:{result:a,error:b}}))}catch(x){O("Failed to send response to scan app: "+x,!0)}}):w.send("RR_RESULT:"+JSON.stringify({rr_id:e,result:{result:null,error:"reverseRequestHandlerFunc is not set"}}))}catch(v){O("Error while processing RR: "+v,!0)}else{try{b=JSON.parse(a)}catch(v){W("Failed to parse JSON: "+a);X(!1,"Failed to parse JSON: "+a,null,null,null,null,null);return}b instanceof Array?X(b[0],b[1],b[2],b[3],b[4],5<b.length?b[5]:null,6<b.length?b[6]:null):X(!1,"JSON returned from WebSocket is not array",null,null,null,null,null)}}function X(a,b,c,d,f,e,k){null!=f&&1!=f&&W("resultCount should be null or 1, actual: "+f);if(k)for(c=0;c<B.length;c++)if(d=B[c],null!=d&&d.funcCallId==k){O("Response is ignored for cancelled func call: "+d.funcName+", call id: "+d.funcCallId+":\n"+e);return}A="COMPLETE";la(a,b,e);if(H)try{H("func-return")}catch(m){O("Exception occurred in event handler: "+m,!0)}try{window.focus()}catch(m){}}function Ea(a){Ca(a.data)}function V(){return void 0!=w}function Fa(a){K=!0;Ba();xa(!1);"function"==typeof G&&G();H&&H("ready",a);T&&2<=T.length&&U.apply(null,Array.prototype.slice.call(T))}function Ga(a){w=a;O("Scan WebSocket server connected: "+w.url);ha&&a.send("LICENSE: "+ha);fa&&a.send("MIN_VERSION: "+fa);Fa(!0);za()}function Ha(){w=void 0;S(!0)}var Ia=0,N=n("max_conn_attempts",-1);function S(a){if(ea)if(w)y=void 0,w.close();else{a||(u=void 0,Ia+=1);a=null!=window.location.href&&"http:"==window.location.href.substr(0,5)?"ws://127.0.0.1":"wss://local.scannerjs.com";var b=3<a.length&&"wss"==a.substr(0,3).toLowerCase();void 0==u?u=t:void 0!=y&&1E4>(new Date).getTime()-y&&(u+=1);u%2!=(b?0:1)&&(u+=1);if(u<t||u>ja)O("Failed to connect to WebSocket server.",!0),H&&H("failed-to-connect"),P(),N=n("max_conn_attempts",-1),!(0<N)||Ia<N?S():(Ia=0,H&&H("failed-to-connect-final"));else{y=(new Date).getTime();try{b=Ja;var c=a+":"+u+"/"+ya()+"/";var d=window.location.href;if(null==d)var f=d;else{var e=d.indexOf("#");f=0<=e?d.substr(0,e):d}b(c+encodeURIComponent(f))}catch(k){H&&H("disconnected",k),Ha()}}}else W("Scan app implementation is disabled explicitly.")}function Ka(){for(var a=document.getElementsByTagName("script"),b=0;b<a.length;b++){var c=a.item(b),d=new RegExp(L+"\\.js(\\?\\w*)?$");if(c.src&&c.src.match(d))return a=c.src,a.substring(0,a.lastIndexOf("/")+1)}return"https://cdn.asprise.com/scannerjs/"}function ua(){var a;(a=Ka())||(a="https://cdn.asprise.com/scannerjs/");-1<a.indexOf("FORCE_REFRESH")&&-1<window.location.href.indexOf("FORCE_REFRESH")&&(a=a.replace(/FORCE_REFRESH/g,"FORCE_REFRESH_"+(new Date).getTime()));var b=document.getElementById("com_asprise_scan_applet");null==b&&(b=wa.versionCheck("1.7.0_45+")?"asprise_scan.jar":"asprise_scan-legacy.jar",b=Y({name:"applet",attributes:{id:"com_asprise_scan_applet",codebase:a,archive:b,code:"com.asprise.imaging.scan.ui.web.ScanApplet",width:1,height:1,style:"z-index: -999;"},children:[{name:"param",attributes:{name:"permissions",value:"all-permissions"}},{name:"param",attributes:{name:"java_version",value:"1.6+"}},{name:"param",attributes:{name:"java_arguments",value:"-Xmx512m"}},{name:"param",attributes:{name:"separate_jvm",value:"true"}},{name:"param",attributes:{name:"codebase_lookup",value:"false"}},{name:"param",attributes:{name:"mayscript",value:"mayscript"}}]}),a=document.getElementsByTagName("body"),a=null!=a&&0<a.length?a.item(0):null,null==a?W('please do not execute com_asprise_scan_addScanAppletToDomIfNotExists in <header>. document.getElementsByTagName("body").length = '+document.getElementsByTagName("body").length):a.appendChild(b))}function xa(a){if("function"!=typeof F||F(a))D?La(a):(M(!1),a||La(a))}function La(a){var b=document.getElementById("asprise-web-scan-setup-dialog-wrapper");if(a||b){if(!b){b={name:"div",attributes:{id:"asprise-web-scan-setup-dialog-wrapper","class":"asprise-web-scan-dialog-wrapper "+qa},children:[{name:"div",attributes:{id:"asprise-web-scan-setup-dialog-overlay","class":"overlay asprise-web-scan-dialog-display",style:"display: none"}},{name:"div",attributes:{id:"asprise-web-scan-setup-dialog","class":"asprise-web-scan-dialog asprise-web-scan-dialog-display",style:"display: none"},children:[{name:"button",attributes:{"class":"top-right-closer",title:"Dismiss this dialog"}},{name:"div",attributes:{"class":"asprise-web-scan-setup",style:"margin: auto"},children:[{name:"h2",attributes:{text:"Please complete one-time setup"}},{name:"table",attributes:{"class":"asprise-web-scan-setup-instruction"},children:[{name:"tr",attributes:{"class":"icon"},children:[{name:"td",attributes:{width:"33%","class":"download"}},{name:"td",attributes:{width:"33%","class":"run"}},{name:"td",attributes:{width:"33%","class":"enjoy"}}]},{name:"tr",attributes:{"class":"after_icon"},children:[{name:"td",attributes:{colspan:"3"}}]},{name:"tr",attributes:{"class":"text"},children:[{name:"td",attributes:{"class":"download"},children:[{name:"h3",children:[{name:"a",attributes:{href:r,target:"_blank",text:"Download"}}]},{name:"p",children:[{name:"a",attributes:{"class":"underline",href:r,target:"_blank",title:"One time setup executable",text:"Download the setup"}},{name:"span",attributes:{text:";"}},{name:"br"},{name:"span",attributes:{style:"font-size: smaller",text:"Other formats: "}},{name:"a",attributes:{style:"font-size: smaller","class":"underline",href:r.substr(0,r.lastIndexOf("."))+".zip",target:"_blank",title:"Zip format",text:"zip"}},{name:"span",attributes:{style:"font-size: smaller",text:" \u00b7 "}},{name:"a",attributes:{style:"font-size: smaller","class":"underline",href:r.substr(0,r.lastIndexOf("."))+".7z",target:"_blank",title:"7Z format",text:"7z"}}]}]},{name:"td",attributes:{"class":"run"},children:[{name:"h3",attributes:{text:"Run"}},{name:"p",attributes:{text:"Run the setup, follow the instruction;"}}]},{name:"td",attributes:{"class":"enjoy"},children:[{name:"h3",attributes:{text:"Scan"}},{name:"p",attributes:{text:"Viola you're ready to scan!"}}]}]}]},{name:"p",children:[{name:"span",attributes:{text:"Already have the scan app set up? "}},{name:"a",attributes:{"class":"underline",href:"AspriseWebScan://browser",target:"_top",text:"Click here to enable it."}}]}]}]},{name:"div",attributes:{id:"asprise-web-scan-setup-ok-dialog","class":"asprise-web-scan-dialog small-dialog asprise-web-scan-setup-ok-dialog",style:"display: none"},children:[{name:"button",attributes:{"class":"top-right-closer",title:"Dismiss this dialog"}},{name:"div",attributes:{"class":"asprise-web-scan-setup-ok"},children:[{name:"div",attributes:{"class":"icon"}},{name:"div",children:[{name:"p",attributes:{text:"All set. You may scan now."}}]}]}]}]};var c=document.getElementsByTagName("body");c=null!=c&&0<c.length?c.item(0):null;if(null==c)return W("please do not execute displaySetupDialog in <header>!"),!1;c.appendChild(Y(b));if(b=document.getElementById("asprise-web-scan-setup-dialog-wrapper")){c=b.getElementsByClassName("top-right-closer");for(var d=0;c&&d<c.length;++d)c[d].addEventListener("click",function(){this.parentElement.previousElementSibling.style.display="none";this.parentElement.style.display="none"})}}a?Z(b,".asprise-web-scan-dialog-display","display","block"):(V()?(Z(b,".asprise-web-scan-setup-ok-dialog","display","block"),Z(b,".asprise-web-scan-setup-ok-dialog","opacity","1"),Ma(b.querySelectorAll(".asprise-web-scan-setup-ok-dialog"),2500)):Z(b,".asprise-web-scan-setup-ok-dialog","display","none"),Z(b,".asprise-web-scan-dialog-display","display","none"))}}function Z(a,b,c,d){a=a.querySelectorAll(b);for(b=0;a&&b<a.length;b++)a[b].style[c]=d}function Ma(a,b){if(null!=a&&0!=a.length)if(0<b)setTimeout(function(){Ma(a)},b);else var c=1,d=setInterval(function(){if(0>=c){clearInterval(d);for(var b=0;b<a.length;b++)a.item(b).style.display="none"}else{for(b=0;b<a.length;b++)a.item(b).style.opacity=c.toFixed(1);c-=.1}},50)}function sa(){for(var a=!1,b=document.getElementsByTagName("link"),c=0;c<b.length;c++){var d=b.item(c),f=new RegExp(L+"\\.css(\\?\\w*)?$");d.href&&d.href.match(f)&&(a=!0)}a||(a=Ka()+L+".css",b=document.createElement("link"),b.setAttribute("rel","stylesheet"),b.setAttribute("type","text/css"),b.setAttribute("href",a),document.getElementsByTagName("head")[0].appendChild(b))}function Da(a,b){if(!Array.isArray(a))throw"Expecting an Array, actual: "+a;if(0==a.length)b(!1,null);else{var c=a[0];a.splice(0,1);var d=new XMLHttpRequest;d.open("GET",c,!0);d.onreadystatechange=function(){d.readyState===XMLHttpRequest.DONE&&(200<=d.status&&300>d.status?b(!0,d.responseText):(O("Failed to "+c+": "+d.statusText,!0),Da(a,b)))};d.send()}}function Ja(a){if("WebSocket"in window)var b=new WebSocket(a);else if("MozWebSocket"in window)b=new MozWebSocket(a);else return;"function"===typeof Ga?b.onopen=function(){Ga(b)}:(O("No onOpenFunc specified for "+a),b.onopen=function(){O("WebSocket ["+b.url+"] opens.")});"function"===typeof Ha?b.onclose=function(a){z=a;Ha()}:(O("No onCloseFunc specified for "+a),b.onclose=function(a){z=a;O("WebSocket ["+b.url+"] closes: "+a.code+" / "+a.reason+" / clean? "+a.A)});"function"===typeof Ea?(b.onmessage=function(a){Ea(a)},b.onerror=function(a){ka=a;O("WebSocket ["+b.url+"] error occurs:"+JSON.stringify(a))},H&&H("disconnected",void 0)):W("You must specify onMesgFunc for "+a)}function R(){return"function"===typeof atob&&"function"===typeof ArrayBuffer&&"function"===typeof Uint8Array&&"function"===typeof Blob&&"function"===typeof FormData}function ca(a,b){if(!R())return W("base64ToBlob() is not supported in legacy browsers."),null;if(null!=a&&0==a.indexOf("data:")){var c=a.indexOf(";");!b&&0<c&&(b=a.substring(5,c));c=a.indexOf("base64,");0<c&&(a=a.substr(c+7))}a=a.replace(/(\r\n|\n|\r)/gm,"");a=atob(a);c=a.length;var d=new ArrayBuffer(c);d=new Uint8Array(d);for(var f=0;f<c;f++)d[f]=a.charCodeAt(f);a=new Blob([d],{type:b});if(!e){c=new Date;var e=[c.getFullYear(),c.getMonth()+1,c.getDate(),c.getHours(),c.getMinutes(),c.getSeconds()];e=""+(2E3<e[0]?e[0]-2E3:e[0])+(10>e[1]?"0":"")+e[1]+(10>e[2]?"0":"")+e[2]+(10>e[3]?"0":"")+e[3]+(10>e[4]?"0":"")+e[4]+(10>e[5]?"0":"")+e[5];c=c.getMilliseconds();d=1;for(f=0;2>f;f++)d*=10;for(d=""+(Math.floor(Math.random()*(d-0+1))+0);2>d.length;)d="0"+d;e=e+((100>c?(10>c?"0":"")+"0":"")+c)+d;e=e+"."+(null==b?"unknown":0<=b.toLowerCase().indexOf("bmp")?"bmp":0<=b.toLowerCase().indexOf("png")?"png":0<=b.toLowerCase().indexOf("jp")?"jpg":0<=b.toLowerCase().indexOf("tif")?"tif":0<=b.toLowerCase().indexOf("pdf")?"pdf":"unknown")}if(e)try{a.lastModifiedDate=new Date,a.name=e}catch(k){}return a}function ya(){window.sessionStorage&&(sessionStorage.getItem("pageLoadId")?ba=sessionStorage.getItem("pageLoadId"):sessionStorage.setItem("pageLoadId",ba));return ba}function va(){var a=wa.getJREs();return void 0==a||""==a||a instanceof Array&&0==a.length?!1:!0}function P(){if(!("version"in Q))return W("Invalid bowser"),!1;var a=Math.floor(Q.version);return Q.chrome?45>a:Q.firefox?53>a:Q.msedge?!1:Q.msie?!0:!1}function Y(a){var b=a.attributes,c=document.createElement(a.name);if(null!=b)for(var d in b)c.setAttribute(d,b[d]);(b=null!=b&&"text"in b?b.text:void 0)&&c.appendChild(document.createTextNode(b));if(a.children instanceof Array)for(a=a.children,b=0;b<a.length;b++)a[b]&&c.appendChild(Y(a[b]));return c}function O(a,b){if(!(da>(b?16:4)))if(window.console){var c=(new Date).toLocaleTimeString();b?console.error?console.error(c+" "+a):console.log(c+" ERROR: "+a):console.info?console.info(c+" "+a):console.log(c+" INFO: "+a)}else b&&window.alert&&alert("ERROR: "+a)}function W(a){O(a,!0)}function ra(){h||(h=window.FormData.prototype.append,window.FormData.prototype.append=function(a,b,c){b instanceof Blob&&null==c?h.apply(this,[a,b,b.name]):h.apply(this,arguments)})}var wa=deployJava;function ta(){if(0!=modelsToAppendToBodyFromDeployJava.length){var a=document.getElementsByTagName("body");a=null!=a&&0<a.length?a.item(0):null;if(null==a)W("Unexcepted error - unable to get body");else for(var b=0;b<modelsToAppendToBodyFromDeployJava.length;b++)a.appendChild(Y(modelsToAppendToBodyFromDeployJava[b]))}}var Q=window.EXT_LIB_DEF_FUNC_BOWSER();delete window.EXT_LIB_DEF_FUNC_BOWSER;window.scannerjs=window.scannerjs||{};window.scannerjs.webSocketSend=function(a){return w.send(a)};window.scannerjs.getWebSocket=function(){return w};window.scannerjs.getWebSocketLastErrorEvent=function(){return ka};window.scannerjs.getWebSocketLastCloseEvent=function(){return z};window.scannerjs.doesCurrentBrowserSupportNPAPI=P;window.scannerjs.onAppletStarted=function(a){q=!0;O("Applet started: "+a);Fa(!1)};window.scannerjs.getRequestFuncCall=function(){return C};window.scannerjs.functionReturn=X;window.scannerjs.getRequestStatus=function(){return A};window.scannerjs.setRequestStatus=function(a){return A=a};window.scannerjs.callFunction=U;window.scannerjs.scan=function(a,b,c,d){if("string"!==typeof b&&(!JSON||"function"!==typeof JSON.stringify))return W("JSON.stringify is not supported by your browser."),!1;var f="string"===typeof b?b:JSON.stringify(b);return U(a,"scan",f,3<=arguments.length?c:null,4<=arguments.length?d:null)};window.scannerjs.listSources=function(a,b,c,d,f,e){return U(a,"listSources",2<=arguments.length?b:!0,3<=arguments.length?c:null,4<=arguments.length?d:!1,5<=arguments.length?f:!0,6<=arguments.length&&null!=e?"string"===typeof e?e:JSON.stringify(e):"")};window.scannerjs.getSource=function(a,b,c,d,f,e,k,m){return U(a,"getSource",2<=arguments.length?b:"select",3<=arguments.length?c:!0,4<=arguments.length?d:null,5<=arguments.length?f:!0,6<=arguments.length?e:!1,7<=arguments.length?k:null,8<=arguments.length&&null!=m?"string"===typeof m?m:JSON.stringify(m):"")};window.scannerjs.getSystemInfo=function(a){return U(a,"asprise_scan_system_info")};window.scannerjs.initialize=M;window.scannerjs.getScannedImages=function(a,b,c){var d=[];2>arguments.length&&(b=!0);3>arguments.length&&(c=!1);if(!b&&!c)return W("getImages: will return no image as neither includeOriginals nor includeThumbnails is true."),d;if("string"===typeof a){if(6<a.length&&"<error"==a.substr(0,6))throw a;try{a=JSON.parse(a)}catch(x){throw a;}}if("object"===typeof a&&a.output instanceof Array)for(var f=a.output,e=0;e<f.length;e++){var k=f[e];if(b&&"return-base64"==k.type||c&&"return-base64-thumbnail"==k.type){var m=k.format;m=null==m?"application/octet-stream":0<=m.toLowerCase().indexOf("bmp")?"image/bmp":0<=m.toLowerCase().indexOf("png")?"image/png":0<=m.toLowerCase().indexOf("jp")?"image/jpeg":0<=m.toLowerCase().indexOf("tif")?"image/tiff":0<=m.toLowerCase().indexOf("pdf")?"application/pdf":"application/octet-stream";if("application/octet-stream"==m)O("Unable to find mime type for "+k.format);else if(k.result instanceof Array)for(var v=0;v<k.result.length;v++){var aa=a.images instanceof Array&&v<a.images.length?a.images[v]:null;d.push(new l(m,!0,"data:"+m+";base64,"+k.result[v],aa,aa?aa.image_info:void 0,k.hasOwnProperty("selected_action")?k.selected_action:void 0,k.hasOwnProperty("selected_filename")?k.selected_filename:void 0))}else O("Output contains no result records",!0)}}return d};window.scannerjs.getUploadResponse=function(a){if("string"===typeof a){if(6<a.length&&"<error"==a.substr(0,6))throw a;try{a=JSON.parse(a)}catch(d){throw a;}}if("object"===typeof a&&a.output instanceof Array){a=a.output;for(var b=0;b<a.length;b++){var c=a[b];if(("upload"==c.type||"upload-thumbnail"==c.type)&&c.result instanceof Array&&0<c.result.length)return c.result[0]}}};window.scannerjs.getSaveResponse=function(a){if("string"===typeof a){if(6<a.length&&"<error"==a.substr(0,6))throw a;try{a=JSON.parse(a)}catch(d){throw a;}}if("object"===typeof a&&a.output instanceof Array){a=a.output;for(var b=0;b<a.length;b++){var c=a[b];if("save"==c.type||"save-thumbnail"==c.type)return JSON.stringify(c.result)}}};window.scannerjs.createDomElementFromModel=Y;window.scannerjs.submitFormWithImages=function(a,b,c){if(b instanceof Array&&0!=b.length){for(var d=0;d<b.length;d++){var f=b[d];if(!(f instanceof l)){O("Invalid image object: "+f,!0);W("Invalid image object!");return}}var e=document.getElementById(a);if(null==e)W("Form doesn't exist: "+a);else{a=new FormData(e);for(d=0;d<b.length;d++)f=b[d],f.b?a.append(ma,ca(f.src,f.mimeType)):a.append(oa,f.src);O("POST images, count: "+b.length);var k=new XMLHttpRequest;k.open("POST",e.getAttribute("action"),!0);k.onreadystatechange=function(){"function"==typeof c&&c(k)};k.send(a);O("Form posted: "+k);return k}}else W("no images - form submit cancelled.")};window.scannerjs.getScannerJsConfig=n;window.scannerjs.cancelFuncCalls=Ba;window.scannerjs.logToConsole=O;window.scannerjs.base64ToUint8Array=function(a){if(!R())return W("base64ToBlob() is not supported in legacy browsers."),null;if(null!=a&&0==a.indexOf("data:")){var b=a.indexOf("base64,");0<b&&(a=a.substr(b+7))}a=a.replace(/(\r\n|\n|\r)/gm,"");a=atob(a);b=a.length;var c=new ArrayBuffer(b);c=new Uint8Array(c);for(var d=0;d<b;d++)c[d]=a.charCodeAt(d);return c};window.scannerjs.fadeOut=Ma;window.scannerjs.hasJava=va;window.scannerjs.hasWebSocketSupport=function(){var a="WebSocket"in window&&void 0!=window.WebSocket||"MozWebSocket"in window;a||W("WebSocket is not supported by this browser: "+Q.name+" "+Q.version);return a};window.scannerjs.isWindows=function(){if("navigator"in window&&void 0!=window.navigator&&"platform"in window.navigator)return-1<navigator.platform.indexOf("Win")};window.scannerjs.isHttps=function(){return"https:"==document.location.protocol};window.scannerjs.version="2.11.3";window.scannerjs.MIME_TYPE_BINARY="application/octet-stream";window.scannerjs.MIME_TYPE_BMP="image/bmp";window.scannerjs.MIME_TYPE_GIF="image/png";window.scannerjs.MIME_TYPE_JPEG="image/jpeg";window.scannerjs.MIME_TYPE_PNG="image/tiff";window.scannerjs.MIME_TYPE_PDF="application/pdf";window.scannerjs.EVENT_LOADED="loaded";window.scannerjs.EVENT_PRE_INIT="pre-init";window.scannerjs.EVENT_POST_INT="post-init";window.scannerjs.EVENT_FUNC_CALL="func-call";window.scannerjs.EVENT_FUNC_CANCELLED="func-cancelled";window.scannerjs.EVENT_FUNC_RETURN="func-return";window.scannerjs.EVENT_READY="ready";window.scannerjs.EVENT_FAILED_TO_CONNECT="failed-to-connect";window.scannerjs.EVENT_FAILED_TO_CONNECT_FINAL="failed-to-connect-final";window.scannerjs.EVENT_DISCONNECTED="disconnected";window.scannerjs.LOG_LEVEL_INFO=4;window.scannerjs.LOG_LEVEL_ERROR=16;window.scannerjs.LOG_LEVEL_ALL=0;window.scannerjs.LOG_LEVEL_OFF=1024;window.scannerjs.getIsInitialized=function(){return D};window.scannerjs.getIsReady=function(){return K};window.scannerjs.isConnectedToScanWebSocket=V;window.scannerjs.displaySetupDialog=La;window.scannerjs.doAjax=Da;window.scannerjs.ScannedImage=l;window.scannerjs.ScannedImage.prototype.getMimeType=l.prototype.v;window.scannerjs.ScannedImage.prototype.getSrcIsBase64=l.prototype.w;window.scannerjs.ScannedImage.prototype.getImageInfo=l.prototype.s;window.scannerjs.ScannedImage.prototype.getInfo=l.prototype.u;window.scannerjs.ScannedImage.prototype.getWidth=l.prototype.h;window.scannerjs.ScannedImage.prototype.getHeight=l.prototype.f;window.scannerjs.ScannedImage.prototype.isColor=l.prototype.j;window.scannerjs.ScannedImage.prototype.isGray=l.prototype.l;window.scannerjs.ScannedImage.prototype.isBlackWhite=l.prototype.i;window.scannerjs.ScannedImage.prototype.getResolution=l.prototype.g;window.scannerjs.ScannedImage.prototype.getBitsPerPixel=l.prototype.c;window.scannerjs.ScannedImage.prototype.getBase64NoPrefix=l.prototype.o;window.scannerjs.ScannedImage.prototype.toString=l.prototype.toString;"scanner"in window||(window.scanner=window.scannerjs);"ScannedImage"in window||(window.ScannedImage=window.scannerjs.ScannedImage);window&&(window.addEventListener?window.addEventListener("load",function(){pa&&M(!1)}):window.attachEvent&&window.attachEvent("onload",function(){pa&&M(!1)}));try{H&&H("loaded")}catch(a){};}).call(window);