2026-03-12 20:23:15

This commit is contained in:
root
2026-03-12 21:23:47 +01:00
parent eab4b36eca
commit 93039b8489
3332 changed files with 699614 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
-- Script written based on Alex Nuijten's finding:
-- http://nuijten.blogspot.com/2015/06/deadlock-with-virtual-column.html
--
-- This should be reproducible all the way up to 12.1.0.2 versions (like the Oracle 12cR1 Developer VM)
DROP TABLE t_dl;
CREATE TABLE t_dl AS SELECT dummy a, rownum b FROM dual;
CREATE OR REPLACE FUNCTION VC (p_a in t_dl.a%TYPE ,p_b in t_dl.b%TYPE) RETURN VARCHAR2 DETERMINISTIC
IS
BEGIN
RETURN p_a || p_b;
END vc;
/
ALTER TABLE t_dl ADD c AS (vc (a, b));
TRUNCATE TABLE t_dl;
-- Back in Oracle 9i days you could have used this too (not anymore):
-- SQL> CREATE OR REPLACE PROCEDURE p1 AS BEGIN p2; END;
-- 2 /
--
-- Warning: Procedure created with compilation errors.
--
-- SQL>
-- SQL> CREATE OR REPLACE PROCEDURE p2 AS BEGIN p1; END;
-- 2 /
--
-- Warning: Procedure created with compilation errors.
--
-- SQL> ALTER PROCEDURE p1 COMPILE;
-- ALTER PROCEDURE p1 COMPILE
-- *
-- ERROR at line 1:
-- ORA-04020: deadlock detected while trying to lock object SYS.P1

View File

@@ -0,0 +1,23 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
SET TIMING ON
DROP TABLE t_lock;
CREATE TABLE t_lock AS SELECT * FROM dual;
@pd enqueue_deadlock
DECLARE
PROCEDURE p IS
PRAGMA AUTONOMOUS_TRANSACTION;
j VARCHAR2(100);
BEGIN
--UPDATE t_lock SET dummy = 'Z';
SELECT dummy INTO j FROM t_lock FOR UPDATE WAIT 6;
END;
BEGIN
UPDATE t_lock SET dummy = 'Z';
p();
END;
/

7
tpt/aot/README.txt Normal file
View File

@@ -0,0 +1,7 @@
Advanced Oracle Troubleshooting course scripts by Tanel Poder
DON'T JUST RUN THE SCRIPTS HERE WITHOUT CHECKING WHAT THEY DO!
DON'T TEST THESE SCRIPTS IN PRODUCTION!
These scripts are designed to cause trouble, so that they could be troubleshooted.

28
tpt/aot/bh_private.sql Normal file
View File

@@ -0,0 +1,28 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
col bhla_object head object for a40 truncate
col bhla_DBA head DBA for a20
col flg_lruflg head "FLAG:LRUFLAG"
select /*+ ORDERED */
trim(to_char(bh.flag, 'XXXXXXXX')) ||':'||
trim(to_char(bh.lru_flag, 'XXXXXXXX')) flg_lruflg,
bh.obj,
o.object_type,
o.owner||'.'||o.object_name bhla_object,
bh.tch,
file# ||' '||dbablk bhla_DBA,
bh.class,
bh.state,
bh.mode_held,
bh.dirty_queue DQ
from
x$bh bh,
dba_objects o
where
bh.obj = o.data_object_id
and bitand(flag,8)=8
order by
tch asc
/

4105
tpt/aot/bigcomment.sql Normal file

File diff suppressed because it is too large Load Diff

14713
tpt/aot/bigp.sql Normal file

File diff suppressed because it is too large Load Diff

469
tpt/aot/bigsql.sql Normal file
View File

@@ -0,0 +1,469 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
DELETE FROM t
WHERE 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1 OR 1=1
/

39
tpt/aot/cbchammer.sh Normal file
View File

@@ -0,0 +1,39 @@
#!/bin/bash
# Copyright 2020 Tanel Poder. All rights reserved. More info at https://tanelpoder.com
# Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
# usage: ./cbchammer <num_loops>
# schema creation:
#
# CREATE TABLE cbchammer (a INT);
# INSERT INTO cbchammer VALUES (1);
# INSERT INTO cbchammer VALUES (2);
# COMMIT;
# EXEC DBMS_STATS.GATHER_TABLE_STATS(user, 'CBCHAMMER')
CONN=system/oracle@linux01/linprd
SQL_CMD="
CONNECT $CONN
ALTER SESSION SET plsql_optimize_level = 0;
DECLARE
x NUMBER;
BEGIN
FOR I IN 1 .. $1 LOOP
SELECT a INTO x FROM cbchammer WHERE ROWNUM = 1;
END LOOP;
END;
/
"
while true
do
#printf "$SQL_CMD"
printf "$SQL_CMD" | sqlplus -s /nolog
#sleep 0.1
done

53
tpt/aot/cbchammer2.sh Normal file
View File

@@ -0,0 +1,53 @@
#!/bin/bash
# Copyright 2020 Tanel Poder. All rights reserved. More info at https://tanelpoder.com
# Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
# usage: ./cbchammer2 <num_loops>
# notes:
# the updated version will do an exclusive CBC get every 1000 loop iterations for long-running tasks
# so if you schedule only 1000 loop iterations per connect, these guys will do just shared gets
# after 1000th iteration we consider the task long running and they will start doing a select for update
# with exclusive CBC get every 1000 iterations
#
# schema creation:
#
# CREATE TABLE cbchammer (a INT);
# INSERT INTO cbchammer VALUES (1);
# INSERT INTO cbchammer VALUES (2);
# COMMIT;
# EXEC DBMS_STATS.GATHER_TABLE_STATS(user, 'CBCHAMMER')
CONN=system/oracle@linux01/linprd
SQL_CMD="
CONNECT $CONN
ALTER SESSION SET plsql_optimize_level = 0;
DECLARE
x NUMBER;
BEGIN
FOR i IN 1 .. $1 LOOP
IF i / 1000 <= 1 THEN
SELECT a INTO x FROM cbchammer WHERE a = 1;
ELSE
IF MOD(i,1000) = 0 THEN
SELECT a INTO x FROM cbchammer WHERE a = 2 FOR UPDATE;
COMMIT WRITE NOWAIT;
ELSE
SELECT a INTO x FROM cbchammer WHERE a = 1;
END IF;
END IF;
END LOOP;
END;
/
"
while true
do
#printf "$SQL_CMD"
printf "$SQL_CMD" | sqlplus -s /nolog
#sleep 0.1
done

103
tpt/aot/demo1.sql Normal file
View File

@@ -0,0 +1,103 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
--------------------------------------------------------------------------------
--
-- File name: demo1.sql
--
-- Purpose: Advanced Oracle Troubleshooting Seminar demo script
-- Depending on the speed of LGWR IO will cause the session to wait
-- for log buffer space and log switch wait events (demo works
-- ok on a single hard disk laptop, probably will not wait so much
-- on a server with write cached storage)
--
-- Author: Tanel Poder ( http://www.tanelpoder.com )
-- Copyright: (c) Tanel Poder
--
--------------------------------------------------------------------------------
prompt Initializing Demo1...
set feedback off termout off
drop table t;
drop table t2;
create table t tablespace users as select * from dba_source;
create table t2 tablespace users as select * from dba_source where 1=0;
alter system switch logfile;
alter system switch logfile;
set termout on
--prompt Taking Statspack report...
--EXEC statspack.snap
prompt Starting Demo1 (running a "batch job")
set termout off
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
commit;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
commit;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
insert into t2 select * from t;
commit;
set termout on
prompt "Batch job" finished...
--prompt Taking Statspack report...
--EXEC statspack.snap

55
tpt/aot/demo11.sql Normal file
View File

@@ -0,0 +1,55 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
-- Bug 12345717 - ORA-600 [13013] or hang/spin from MERGE into table with added column [ID 12345717.8]
--
-- ORA-600 [13013] can occur when executing a MERGE statement
-- with an UPDATE clause into a table which has had an ADD COLUMN
-- executed against it with a DEFAULT value with add column
-- optimization enabled.
--
--
-- Rediscovery Notes:
-- ORA-600 [13013] on a MERGE SQL.
-- In some cases this problem can also show up as a spin
-- executing a MERGE SQL against a table with an added column.
--
-- In both cases the problem can occur only if the target table has
-- a NOT NULL added column with a default value.
-- You can check this with SQL of the form below which shows such columns:
-- select owner, object_name, name
-- from dba_objects, col$
-- where bitand(col$.PROPERTY,1073741824)=1073741824
-- and object_id=obj#;
--
-- Workaround
-- Set _add_col_optim_enabled=false before adding columns
-- (this can cause the ADD COLUMN DDL to take longer as
-- all rows need updating)
-- For existing tables set the parameter then rebuild the table
-- to remove any existing optimized columns.
-- DROP TABLE tab1;
-- DROP TABLE tab2;
CREATE TABLE TAB1 ( ID_NACE NUMBER(5) );
ALTER TABLE TAB1 ADD (
ID_INDUSTRY NUMBER(5) DEFAULT -1 NOT NULL
);
insert into TAB1 values(1, 1);
insert into TAB1 values(2, 2);
CREATE TABLE TAB2 (
ID_NACE NUMBER(5),
ID_INDUSTRY NUMBER(5)
);
insert into TAB2 values(1, 3);
commit;
MERGE /*+ LEADING(c) */
INTO TAB1 c
USING (SELECT * from TAB2 b) a
ON (c.id_nace=a.id_nace)
WHEN matched THEN
UPDATE SET c.ID_INDUSTRY=a.ID_INDUSTRY;

36
tpt/aot/demo1a.sql Normal file
View File

@@ -0,0 +1,36 @@
-- demo1
-- the idea is to show that "slow sessions" do not always spend majority of time
-- actively working in the database, but spend time waiting for the application
-- to send the next command (application think time)
SET TIMING ON
SET ARRAYSIZE 15
SET APPINFO ON
PROMPT Running Report...
SET AUTOTRACE TRACE STAT
-- a "simple report" that returns lots of records
SELECT * FROM soe.customers WHERE credit_limit > 10;
--SELECT /*+ NO_PARALLEL */
-- c.customer_id
-- , c.cust_first_name ||' '||c.cust_last_name
-- , c.credit_limit
--FROM
-- soe.orders o
-- , soe.order_items oi
-- , soe.customers c
--WHERE
---- join conditions
-- c.customer_id = o.customer_id
--AND o.order_id = oi.order_id
---- constant filter conditions
--AND c.customer_id BETWEEN 100000 AND 200000
----AND c.dob BETWEEN DATE'2000-01-01' AND DATE'2001-01-01'
--AND o.order_mode = 'online'
--AND o.order_status = 5
--/
SET AUTOTRACE OFF

106
tpt/aot/demo2.sql Normal file
View File

@@ -0,0 +1,106 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
--------------------------------------------------------------------------------
--
-- File name: demo2.sql
--
-- Purpose: Advanced Oracle Troubleshooting Seminar demo script
-- Makes a single fetch to generate lots of LIOs by
-- nested looping over full table scans.
-- Requires lotslios.sql script from TPT scripts.
--
-- Author: Tanel Poder ( http://www.tanelpoder.com )
-- Copyright: (c) Tanel Poder
--
--------------------------------------------------------------------------------
prompt Starting Demo2...
-- @@lotslios 1000000000000
--------------------------------------------------------------------------------
--
-- File name: demos/bind_peeking_nested_loops.sql
-- Purpose: this script demos how a "wrong" bind variable value
-- can cause an execution plan to be compiled which is
-- very inefficient for the next execution with different bind variable
-- values (with large number of matching rows)
-- the second execution of the query takes very long time to complete
-- despite adaptive bind variable peeking, which would kick in during the
-- next (3rd) execution
--
-- This problem happens even on Oracle 11.2 despite adaptive bind peeking
-- and cardinality feedback (due design, not a bug)
--
-- Author: Tanel Poder (tanel@e2sn.com)
-- Copyright: (c) http://tech.e2sn.com
--
--------------------------------------------------------------------------------
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
CREATE TABLE t1 AS SELECT * FROM dba_objects;
CREATE TABLE t2 AS SELECT * FROM dba_objects;
CREATE TABLE t3 AS SELECT * FROM dba_objects;
CREATE INDEX i1 ON t1(owner);
CREATE INDEX i2 ON t2(owner);
CREATE INDEX i3 ON t3(owner);
EXEC DBMS_STATS.GATHER_TABLE_STATS(user,'T1',cascade=>TRUE, method_opt=>'FOR ALL INDEXED COLUMNS SIZE 254');
EXEC DBMS_STATS.GATHER_TABLE_STATS(user,'T2',cascade=>TRUE, method_opt=>'FOR ALL INDEXED COLUMNS SIZE 254');
EXEC DBMS_STATS.GATHER_TABLE_STATS(user,'T3',cascade=>TRUE, method_opt=>'FOR ALL INDEXED COLUMNS SIZE 254');
ALTER SESSION SET OPTIMIZER_INDEX_COST_ADJ=1;
VAR v VARCHAR2(100)
EXEC :v:='SCOTT'
SET TIMING ON
--PROMPT Running query first time, this should be fast (and should use nested loops execution plan)
SELECT
MIN(t1.created), MAX(t1.created)
FROM
t1
, t2
, t3
WHERE
t1.object_id = t2.object_id
AND t2.object_id = t3.object_id
AND t1.owner = :v
AND t2.owner = :v
AND t3.owner = :v
/
SET TIMING OFF
--SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'ALLSTATS LAST ADVANCED'));
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null,null));
EXEC :v:='SYS'
SET TIMING ON
PROMPT Running the "report"...
--PROMPT Now running the same query with different bind variables (this query should take very long time)
SELECT
MIN(t1.created), MAX(t1.created)
FROM
t1
, t2
, t3
WHERE
t1.object_id = t2.object_id
AND t2.object_id = t3.object_id
AND t1.owner = :v
AND t2.owner = :v
AND t3.owner = :v
/

39
tpt/aot/demo2a.sql Normal file
View File

@@ -0,0 +1,39 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
--------------------------------------------------------------------------------
--
-- File name: demo2a.sql
--
-- Purpose: Advanced Oracle Troubleshooting Seminar demo script
-- Will cause some recursive dynamic sampling activity
-- that does not show up in V$SESSION and ASH
--
-- Uses SwingBench Order Entry schema table (but you can use
-- any other large table for testing this effect).
--
-- Requires Oracle 11.2 or lower (12c works slightly differently)
--
-- Author: Tanel Poder ( http://tanelpoder.com )
-- Copyright: (c) Tanel Poder
--
--------------------------------------------------------------------------------
prompt Starting Demo2a...
set echo on
ALTER SYSTEM FLUSH SHARED_POOL;
SELECT /*+ DYNAMIC_SAMPLING(o 10) */ * FROM soe.order_items o WHERE order_id = 1;
SELECT /*+ DYNAMIC_SAMPLING(o 10) */ * FROM soe.order_items o WHERE order_id = 1;
SELECT /*+ DYNAMIC_SAMPLING(o 10) */ * FROM soe.order_items o WHERE order_id = 1;
ALTER SYSTEM FLUSH SHARED_POOL;
SELECT /*+ DYNAMIC_SAMPLING(o 10) */ * FROM soe.order_items o WHERE order_id = 1;
SELECT /*+ DYNAMIC_SAMPLING(o 10) */ * FROM soe.order_items o WHERE order_id = 1;
SELECT /*+ DYNAMIC_SAMPLING(o 10) */ * FROM soe.order_items o WHERE order_id = 1;
set echo off

52
tpt/aot/demo3.sql Normal file
View File

@@ -0,0 +1,52 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
--------------------------------------------------------------------------------
--
-- File name: demo3.sql
--
-- Purpose: Advanced Oracle Troubleshooting Seminar demo script
-- Causes a session hang by reading from external table
-- which in turn reads from a Unix named pipe. Before 11.1.0.7
-- this wait was uninstrumented.
--
-- Author: Tanel Poder ( http://www.tanelpoder.com )
-- Copyright: (c) Tanel Poder
--
-- Notes: Meant to be executed from an Unix/Linux Oracle DB server
--
--------------------------------------------------------------------------------
prompt Running demo3...
set feedback off termout off
CREATE OR REPLACE DIRECTORY mydir AS '/tmp';
host rm -f /tmp/myfile
host mknod /tmp/myfile p
DROP TABLE mytab;
CREATE TABLE mytab (
a int
)
ORGANIZATION EXTERNAL (
TYPE oracle_loader
DEFAULT DIRECTORY mydir
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ','
(a)
)
LOCATION ('myfile')
)
/
select * from mytab;
set feedback on termout on
drop table mytab;

131
tpt/aot/demo4.sql Normal file
View File

@@ -0,0 +1,131 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
--------------------------------------------------------------------------------
--
-- File name: demo4.sql
--
-- Purpose: Advanced Oracle Troubleshooting Seminar demo script
-- Causes optimizer to loop in CBO code for very long time
--
-- Author: Tanel Poder ( http://www.tanelpoder.com )
-- Copyright: (c) Tanel Poder
--
--------------------------------------------------------------------------------
prompt Starting demo4...
set termout off feedback off
drop table t;
create table t as select * from all_objects where 1=0;
exec dbms_stats.gather_table_stats(user,'T');
alter session set "_optimizer_search_limit"=100;
select *
from
t t1
,t t2
,t t3
,t t4
,t t5
,t t6
,t t7
,t t8
,t t9
,t t10
,t t11
,t t12
,t t13
,t t14
,t t15
,t t16
,t t17
,t t18
,t t19
,t t20
,t t21
,t t22
,t t23
,t t24
,t t25
,t t26
,t t27
,t t28
,t t29
,t t30
,t t31
,t t32
,t t33
,t t34
,t t35
,t t36
,t t37
,t t38
,t t39
,t t40
,t t41
,t t42
,t t43
,t t44
,t t45
,t t46
,t t47
,t t48
,t t49
,t t50
,t t51
,t t52
,t t53
,t t54
,t t55
,t t56
,t t57
,t t58
,t t59
,t t60
,t t61
,t t62
,t t63
,t t64
,t t65
,t t66
,t t67
,t t68
,t t69
,t t70
,t t71
,t t72
,t t73
,t t74
,t t75
,t t76
,t t77
,t t78
,t t79
,t t80
,t t81
,t t82
,t t83
,t t84
,t t85
,t t86
,t t87
,t t88
,t t89
,t t90
,t t91
,t t92
,t t93
,t t94
,t t95
,t t96
,t t97
,t t98
,t t99
/
set termout on feedback on

131
tpt/aot/demo4_ora600.sql Normal file
View File

@@ -0,0 +1,131 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
--------------------------------------------------------------------------------
--
-- File name: demo4_ora600.sql
--
-- Purpose: Advanced Oracle Troubleshooting Seminar demo script
-- Causes optimizer to loop in CBO code for very long time
-- OR an ORA-600 crash on Oracle 12.1.0.2 (fixed in 12.2)
--
-- Author: Tanel Poder ( http://www.tanelpoder.com )
-- Copyright: (c) Tanel Poder
--
--------------------------------------------------------------------------------
prompt Starting demo4...
drop table t;
-- use this (table with a number of rows) for ORA-600 testing on 12.1.0.2
create table t as select * from all_objects;
exec dbms_stats.gather_table_stats(user,'T');
alter session set "_optimizer_search_limit"=100;
select *
from
t t1
,t t2
,t t3
,t t4
,t t5
,t t6
,t t7
,t t8
,t t9
,t t10
,t t11
,t t12
,t t13
,t t14
,t t15
,t t16
,t t17
,t t18
,t t19
,t t20
,t t21
,t t22
,t t23
,t t24
,t t25
,t t26
,t t27
,t t28
,t t29
,t t30
,t t31
,t t32
,t t33
,t t34
,t t35
,t t36
,t t37
,t t38
,t t39
,t t40
,t t41
,t t42
,t t43
,t t44
,t t45
,t t46
,t t47
,t t48
,t t49
,t t50
,t t51
,t t52
,t t53
,t t54
,t t55
,t t56
,t t57
,t t58
,t t59
,t t60
,t t61
,t t62
,t t63
,t t64
,t t65
,t t66
,t t67
,t t68
,t t69
,t t70
,t t71
,t t72
,t t73
,t t74
,t t75
,t t76
,t t77
,t t78
,t t79
,t t80
,t t81
,t t82
,t t83
,t t84
,t t85
,t t86
,t t87
,t t88
,t t89
,t t90
,t t91
,t t92
,t t93
,t t94
,t t95
,t t96
,t t97
,t t98
,t t99
/
set termout on feedback on

29
tpt/aot/demo5.sql Normal file
View File

@@ -0,0 +1,29 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
--------------------------------------------------------------------------------
--
-- File name: demo5.sql
--
-- Purpose: Advanced Oracle Troubleshooting Seminar demo script
-- Causes a session hang by creating a pipe instead of a tracefile
-- and enabling tracing then
--
-- Author: Tanel Poder ( http://www.tanelpoder.com )
-- Copyright: (c) Tanel Poder
--
-- Notes: Meant to be executed from an Unix/Linux Oracle DB server
-- Requires the TPT toolset login.sql to be executed (via putting
-- TPT directory into SQLPATH) so that &trc variable would be
-- initialized with tracefile name.
--
--------------------------------------------------------------------------------
prompt Starting demo5...
host mknod &trc p
alter session set sql_trace=true;
select * from dual;

12
tpt/aot/demo6.sql Normal file
View File

@@ -0,0 +1,12 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
-- on 10.2.0.1
-- doesn't work in all cases...
set feedback off termout off
alter session set optimizer_mode=first_rows;
select * from dba_lock_internal;
set feedback on termout on

33
tpt/aot/demo7.sql Normal file
View File

@@ -0,0 +1,33 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
-- from metalink bug 2456257
-- drop table fact;
create table fact (
id number primary key,
col01 number, col02 number, col03 number, col04 number,
col05 number, col06 number, col07 number, col08 number,
col09 number, col10 number, col11 number, col12 number,
col13 number, col14 number, col15 number, col16 number,
col17 number, col18 number, col19 number, col20 number,
dat01 number, dat02 number, dat03 number, dat04 number,
dat05 number, dat06 number, dat07 number, dat08 number,
dat09 number, dat10 number
);
select
id,
col01, col02, col03, col04, col05, col06, col07, col08, col09, col10,
col11, col12, col13, col14, col15, col16, col17, col18, col19, col20,
sum(dat01), sum(dat02), sum(dat03), sum(dat04), sum(dat05),
sum(dat06), sum(dat07), sum(dat08), sum(dat09), sum(dat10)
from
fact
group by cube ( id,
col01, col02, col03, col04, col05, col06, col07, col08, col09, col10,
col11, col12, col13, col14, col15, col16, col17, col18, col19, col20
);

48
tpt/aot/demo8.sql Normal file
View File

@@ -0,0 +1,48 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
-- test case from http://forums.oracle.com/forums/thread.jspa?threadID=2228426
--
-- When I choose a high_value > 100000 the grouping query runs < 1 sec.
-- With high_value = 100000: < 1 sec
-- With high_value = 90000: < 1 sec
-- With high_value = 80000: 3 sec
-- With high_value = 70000: 9 sec
-- With high_value = 60000: 17 sec
-- With high_value = 50000: 28 sec
-- With high_value = 40000: 34 sec
-- With high_value = 30000: 47 sec
-- With high_value = 20000: 61 sec
-- With high_value = 10000: 76 sec
-- With high_value = 1: 102 sec
set verify off
undefine high_value
drop table test_interval_p1_&&high_value;
create table test_interval_p1_&high_value
partition by range (id)
interval (1)
(partition test_p1 values less than (&high_value))
as
select 100000 id
, t.*
from all_objects t
where 1 = 0;
insert into test_interval_p1_&high_value
select 100000 id
, t.*
from all_objects t;
commit;
-- pause
select id, count(*)
from test_interval_p1_&high_value
group by id;

19
tpt/aot/demo9.sql Normal file
View File

@@ -0,0 +1,19 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
drop table a;
drop table b;
create table A(col11 number, col12 number);
create table B(col21 number, col22 number);
insert into a values (-3,-7);
insert into a values (null,-1);
insert into b values ( -7,-3);
update a set col11 =
(select avg(b.col22) keep (dense_rank first order by (col22))
FROM b where b.col21= a.col12)
/

View File

@@ -0,0 +1,25 @@
#!/bin/bash
# Copyright 2020 Tanel Poder. All rights reserved.
# Licensed under the Apache License, Version 2.0.
# Purpose: disable I/O throttling for a block device using cgroups
#
# Usage: find block device major:minor numbers using ls -l /dev or lsblk
# ./disable_throttle.sh <major:minor>
# ./disable_throttle.sh 259:3
#
# More info at https://tanelpoder.com
DEVICE_ID=$1
DEVICE_IOPS=0
DEVICE_BPS=0
echo $DEVICE_ID $DEVICE_IOPS > /sys/fs/cgroup/blkio/blkio.throttle.write_iops_device
echo $DEVICE_ID $DEVICE_IOPS > /sys/fs/cgroup/blkio/blkio.throttle.read_iops_device
echo $DEVICE_ID $DEVICE_BPS > /sys/fs/cgroup/blkio/blkio.throttle.write_bps_device
echo $DEVICE_ID $DEVICE_BPS > /sys/fs/cgroup/blkio/blkio.throttle.read_bps_device
grep . /sys/fs/cgroup/blkio/blkio.throttle*device

View File

@@ -0,0 +1,25 @@
#!/bin/bash
# Copyright 2020 Tanel Poder. All rights reserved.
# Licensed under the Apache License, Version 2.0.
# Purpose: enable I/O throttling for a block device using cgroups
#
# Usage: find block device major:minor numbers using ls -l /dev or lsblk
# ./enable_throttle.sh <major:minor> <max_iops> <max_bps>
# ./enable_throttle.sh 259:3 500 100000000
#
# More info at https://tanelpoder.com
DEVICE_ID=$1
DEVICE_IOPS=$2
DEVICE_BPS=$3
echo $DEVICE_ID $DEVICE_IOPS > /sys/fs/cgroup/blkio/blkio.throttle.write_iops_device
echo $DEVICE_ID $DEVICE_IOPS > /sys/fs/cgroup/blkio/blkio.throttle.read_iops_device
echo $DEVICE_ID $DEVICE_BPS > /sys/fs/cgroup/blkio/blkio.throttle.write_bps_device
echo $DEVICE_ID $DEVICE_BPS > /sys/fs/cgroup/blkio/blkio.throttle.read_bps_device
grep . /sys/fs/cgroup/blkio/blkio.throttle*device

View File

@@ -0,0 +1,13 @@
-- ALTER SESSION SET plsql_optimize_level=0;
VAR n NUMBER
BEGIN
LOOP
BEGIN
EXECUTE IMMEDIATE 'select count(*) into :n from nonexistent'||TO_CHAR(ROUND(DBMS_RANDOM.VALUE(1,1000000)));
EXCEPTION WHEN OTHERS THEN NULL;
END;
END LOOP;
END;
/

View File

@@ -0,0 +1,9 @@
-- a simple script for (hopefully) showing just the "fatal" background
-- processes. when these processes disappear, it will bring the whole
-- database instance down. other processes are typically just restarted
SELECT indx,ksuprpnm,TO_CHAR(ksuprflg,'XXXXXXXXXXXXXXXX')
FROM x$ksupr
WHERE BITAND(ksuprflg,4) = 4 ORDER BY indx
/

30
tpt/aot/fulltrace.sql Normal file
View File

@@ -0,0 +1,30 @@
EXEC DBMS_MONITOR.SESSION_TRACE_ENABLE(binds=>TRUE, waits=>TRUE);
ALTER SESSION SET EVENTS '10051 trace name context forever, level 1';
ORADEBUG SETMYPID
ORADEBUG TRACEFILE_NAME
-- ORA-10079: trace data sent/received via SQL*Net
ORADEBUG EVENT 10079 TRACE NAME CONTEXT FOREVER, LEVEL 1;
-- looks like this event disabled in newer Oracle versions when using ALTER SESSION:
--
-- SQL> ALTER SESSION SET EVENTS '10079 trace name context forever, level 1';
-- ERROR:
-- ORA-01031: insufficient privileges
--
-- This is to prevent users with a simple ALTER SESSION privilege from setting
-- events that could expose sensitive data or crash/hang the system
-- MOS note: ORA-1031 When Setting The Event 10079 (or how to set event 10079 in session) (Doc ID 2199860.1)
--
-- An alternative would be to use:
-- ORADEBUG SETMYPID
-- ORADEBUG DUMP SQLNET_SERVER_TRACE 16
-- trace wait event stack traces (this will slow stuff down)
--
-- ALTER SESSION SET EVENTS 'wait_event[all] trace(''event="%" ela=% p1=% p2=% p3=%\n'', evargs(5), evargn(1), evargn(2), evargn(3), evargn(4))';
-- trace enqueue gets (ksq)
-- ALTER SESSION SET EVENTS '10704 trace name context forever, level 4';
-- trace rowcache gets (kqr)
-- ALTER SESSION SET EVENTS '10222 trace name context forever, level 15';

10
tpt/aot/hang.sh Normal file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
sqlplus $1 @hang_1.sql &
sleep 3
sqlplus $1 @hang_2.sql &
sleep 3
sqlplus $1 @hang_3.sql &
sleep 3
sqlplus $1 @hang_4.sql &

3
tpt/aot/hang_1.sql Normal file
View File

@@ -0,0 +1,3 @@
DELETE FROM t1 WHERE rownum = 1;
EXEC dbms_lock.sleep(9999999)

4
tpt/aot/hang_2.sql Normal file
View File

@@ -0,0 +1,4 @@
DELETE FROM t2 WHERE rownum = 1;
LOCK TABLE t3 IN SHARE MODE;
DELETE FROM t1;

2
tpt/aot/hang_3.sql Normal file
View File

@@ -0,0 +1,2 @@
UPDATE t4 SET owner = 'X' WHERE rownum <= 100;
UPDATE t3 SET owner = 'X' WHERE rownum <= 100;

1
tpt/aot/hang_4.sql Normal file
View File

@@ -0,0 +1 @@
UPDATE t4 SET object_id = object_id + 1 WHERE object_id = 500;

1
tpt/aot/hang_run.sql Normal file
View File

@@ -0,0 +1 @@
@&1

15
tpt/aot/hang_setup.sql Normal file
View File

@@ -0,0 +1,15 @@
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE t4;
DROP TABLE t5;
CREATE TABLE t1 AS SELECT * FROM dba_objects WHERE object_id IS NOT NULL;
CREATE TABLE t2 AS SELECT * FROM t1;
CREATE TABLE t3 AS SELECT * FROM t1;
CREATE TABLE t4 AS SELECT * FROM t1;
CREATE TABLE t5 AS SELECT * FROM t1;
ALTER TABLE t1 ADD PRIMARY KEY (object_id);

23
tpt/aot/hash.sql Normal file
View File

@@ -0,0 +1,23 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
col aot_hash_owner head OWNER for a12
col aot_hash_name head NAME word_wrap for a30
col aot_hash_dblink head DBLINK for a12
SELECT
kglnaown aot_hash_OWNER
, kglnaobj aot_hash_NAME
, kglnadlk aot_hash_DBLINK
, kglnahsh HASH_VALUE
, TO_CHAR(kglnahsh, 'xxxxxxxx') HASH_HEX
, kglnahsv MD5_HASH
, kglobt03 SQL_ID
, kglobt30 PLAN_HASH
, kglobt31 LIT_HASH
, kglobt46 OLD_HASH
FROM
x$kglob
WHERE
lower(kglnaobj) like lower('&1')
/

29
tpt/aot/hash_demo.sql Normal file
View File

@@ -0,0 +1,29 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
prompt Dropping and creating users...
drop user a cascade;
drop user aa cascade;
set echo on
create user A identified by x;
create user AA identified by x;
alter user a quota unlimited on users;
alter user aa quota unlimited on users;
-- about to create two tables under different usernames...
pause
create table A.AA(a int);
create table AA.A(a int);
-- about to run @aot/hash <object_name> commands for both tables...
pause
set echo off
@aot/hash a
@aot/hash aa

78
tpt/aot/insert_loop.sql Normal file
View File

@@ -0,0 +1,78 @@
COL c1 FOR A20
--DROP TABLE sys.tbind;
--CREATE TABLE sys.tbind (c1 VARCHAR2(4000), c2 NUMBER, c3 NUMBER, c4 NUMBER, c5 NUMBER);
--DROP TABLE system.tbind;
--CREATE TABLE system.tbind (c1 VARCHAR2(4000), c2 VARCHAR2(4000), c3 VARCHAR2(4000), c4 VARCHAR2(4000), c5 VARCHAR2(4000));
VAR b1 VARCHAR2(10)
VAR b2 NUMBER
VAR b3 NUMBER
VAR b4 NUMBER
VAR b5 NUMBER
EXEC :b1 := 'A'
EXEC :b2 := 1;
-- b3-b5 are NULL
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
VAR b1 VARCHAR2(33)
EXEC :b1 := 'A'
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
VAR b1 VARCHAR2(129)
EXEC :b1 := 'A'
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
VAR b1 VARCHAR2(2001)
EXEC :b1 := 'A'
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
VAR b1 VARCHAR2(4000)
EXEC :b1 := 'A'
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
VAR b1 CHAR
EXEC :b1 := 'A'
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
VAR b1 NCHAR
EXEC :b1 := 'A'
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
ALTER SESSION SET current_schema = SYSTEM;
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
ALTER SESSION SET nls_date_format = 'YYYY:MM:DD';
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
INSERT INTO tbind VALUES (:b1, :b2, :b3, :b4, :b5);
--@sqlid gbusbc081f8m4 %
--@nonshared gbusbc081f8m4 %

29
tpt/aot/kill_cpu.sql Normal file
View File

@@ -0,0 +1,29 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
prompt
prompt Jonathan Lewis'es kill_cpu script
prompt
set termout off
--drop table kill_cpu;
create table kill_cpu (n, primary key(n)) organization index
as
select rownum n
from all_objects
where rownum <= 50
;
set termout on echo on
alter session set "_old_connect_by_enabled"=true;
select count(*) X
from kill_cpu
connect by n > prior n
start with n = 1
;
set echo off

24
tpt/aot/lookup_cbc.sql Normal file
View File

@@ -0,0 +1,24 @@
-- Cause CBC latch contention
-- CREATE TABLE lookup AS SELECT * FROM dba_objects
-- WHERE object_id IS NOT NULL
-- AND rownum <= 50;
--
-- CREATE INDEX idx_lookup ON lookup(object_id);
-- ALTER TABLE lookup ADD CONSTRAINT pk_lookup PRIMARY KEY (object_id);
--
-- @gts lookup
ALTER SESSION SET plsql_optimize_level = 0;
VAR x NUMBER
BEGIN
LOOP
SELECT data_object_id INTO :x
FROM lookup
WHERE object_id IN (10,-1,-2,-3,-4,-5,-6,-7,-8,-9);
END LOOP;
END;
/

View File

@@ -0,0 +1,23 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
-- show which locks' id1/id2 columns have matching columns in v$session_wait/ASH
select /*+ leading(e) */
e.name
, lt.type
, lt.id1_tag
, lt.id2_tag
, lt.description lock_description
from
v$lock_type lt
, v$event_name e
where
substr(e.name, 6,2) = lt.type
and e.parameter2 = lt.id1_tag
and e.parameter3 = lt.id2_tag
and e.name like 'enq: %'
order by
e.name
/

View File

@@ -0,0 +1,12 @@
VAR n NUMBER
DECLARE
scn NUMBER;
BEGIN
scn := dbms_flashback.GET_SYSTEM_CHANGE_NUMBER;
LOOP
SELECT COUNT(*) INTO :n FROM t AS OF SCN scn;
END LOOP;
END;
/

24
tpt/aot/optimizer_bug.sql Normal file
View File

@@ -0,0 +1,24 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
DROP TABLE t;
CREATE TABLE t AS SELECT * FROM dba_objects;
CREATE INDEX i1 ON t(owner);
CREATE INDEX i2 ON t(owner,object_name);
CREATE INDEX i3 ON t(owner,subobject_name);
CREATE INDEX i4 ON t(owner,object_id);
CREATE INDEX i5 ON t(owner,data_object_id);
CREATE INDEX i6 ON t(owner,object_type);
CREATE INDEX i7 ON t(owner,created);
CREATE INDEX i8 ON t(owner,last_ddl_time);
CREATE INDEX i9 ON t(owner,timestamp);
CREATE INDEX i10 ON t(owner,status);
EXEC DBMS_STATS.GATHER_TABLE_STATS(USER,'T',NULL,100,METHOD_OPT=>'FOR ALL COLUMNS SIZE 254');
SELECT * FROM t
WHERE owner IN (SELECT owner FROM t GROUP BY owner HAVING count(*) > 1)
AND owner NOT IN (SELECT owner FROM t WHERE owner NOT LIKE 'S%')
;

41
tpt/aot/ora4031.sql Normal file
View File

@@ -0,0 +1,41 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
-- metalink bug 7340448
-- oracle 10.2.0.4
drop table t;
drop table t1;
drop table t2;
create table t ( pat varchar2(10) );
begin
for i in 1 .. 1000 loop
insert into t values('abcdedghi');
end loop;
end;
/
commit;
create table t1 ( pk number , val varchar2(100) );
begin
for i in 1 .. 1000 loop
insert into t1 values(i,'a');
end loop;
end;
/
commit;
create table t2 as
select /*+ USE_NL(t) ordered */
pk, val, pat
from
t1,t
where
regexp_like(val,pat)
/

View File

@@ -0,0 +1,32 @@
SET SERVEROUTPUT ON SIZE UNLIMITED
BEGIN
FOR x IN 1..&1*10 LOOP
DBMS_OUTPUT.PUT_LINE(LPAD('x',100,'x'));
END LOOP;
END;
/
SET SERVEROUT OFF
DBMS_OUTPUT.PUT_LINE ('...')
SET SERVEROUT ON
-> DBMS_OUTPUT.ENABLE(1000000)
-> DBMS_OUTPUT.PUT_LINE ('...') -> "plsql vc2 collection" (UGA)
-> DBMS_OUTPUT.PUT_LINE ('...') -> "plsql vc2 collection" (UGA)
-> DBMS_OUTPUT.PUT_LINE ('...') -> "plsql vc2 collection" (UGA)
-> DBMS_OUTPUT.PUT_LINE ('...') -> "plsql vc2 collection" (UGA)
-> DBMS_OUTPUT.PUT_LINE ('...') -> "plsql vc2 collection" (UGA)
-> DBMS_OUTPUT.PUT_LINE ('...') -> "plsql vc2 collection" (UGA)
-> DBMS_OUTPUT.PUT_LINE ('...') -> "plsql vc2 collection" (UGA)
-> DBMS_OUTPUT.PUT_LINE ('...') -> "plsql vc2 collection" (UGA)
-> DBMS_OUTPUT.PUT_LINE ('...') -> "plsql vc2 collection" (UGA)
-> DBMS_OUTPUT.PUT_LINE ('...') -> "plsql vc2 collection" (UGA)
DBMS_OUTPUT.GET_LINES(.....)

51
tpt/aot/pga_memleak.sql Normal file
View File

@@ -0,0 +1,51 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
-- Bug 16855783 : MEMORY LEAK IN PGA ON INSERT OF XMLTYPE COLUMN
SET sqlblanklines ON;
SET serveroutput ON;
--drop table memleak_test_tab;
--CREATE TABLE memleak_test_tab (my_xmltype XMLTYPE);
DECLARE
l_my_varchar2 VARCHAR2(4001 CHAR); -- change this to CLOB and there will be a reduced memory leak.
--l_my_varchar2 CLOB;
l_pga_used_mb NUMBER;
l_dummy NUMBER;
l_my_xmltype XMLTYPE;
BEGIN
-- build XML string with length of 4001 characters.
l_my_varchar2 := '<abc>';
FOR i IN 1 .. (4000/20) - 10
LOOP
l_my_varchar2 := l_my_varchar2 || '<def>1234567890</def>'; -- reduce string size by removing final 0
END LOOP;
l_my_varchar2 := l_my_varchar2 || '</abc>';
dbms_output.put_line('Input string length: [' || LENGTH(l_my_varchar2) || ']');
-- repeatedly insert the same value in a table (XMLType column)
l_my_xmltype := XMLTYPE(l_my_varchar2);
FOR i IN 1 .. 5000
LOOP
-- l_my_xmltype := XMLTYPE(l_my_varchar2);
INSERT INTO memleak_test_tab (my_xmltype)
VALUES (l_my_xmltype);
-- following insert throws ORA-1461 which I suppose is also a bug
-- ORA-1461: can bind a LONG value only for insert into a LONG column
-- INSERT INTO memleak_test_tab (my_xmltype)
-- VALUES (XMLTYPE(l_my_varchar2));
END LOOP;
ROLLBACK;
-- Check how much memory are we currently using
SELECT round(p.pga_used_mem/1024/1024, 2) INTO l_pga_used_mb
FROM v$session s
JOIN v$process p ON p.addr = s.paddr
WHERE s."SID"=sys_context('userenv', 'sid');
dbms_output.put_line('Currently used PGA: [' || l_pga_used_mb || '] MB');
END;
/

View File

@@ -0,0 +1,26 @@
prompt
prompt WARNING!!! This script will query X$KSMSP, which will cause heavy shared pool latch contention
prompt in systems under load and with large shared pool. This may even completely hang
prompt your instance until the query has finished! You probably do not want to run this in production!
prompt
pause Press ENTER to continue, CTRL+C to cancel...
COL chunk_comment FOR A20
BREAK ON ksmchdur SKIP 1 DUPLICATES
SELECT
ksmchdur
, ksmchcls
, SUBSTR(ksmchcom,1,DECODE(INSTR(ksmchcom,'^'),0,99,INSTR(ksmchcom,'^'))) chunk_comment
, COUNT(*),MIN(ksmchsiz),MAX(ksmchsiz),SUM(ksmchsiz)
FROM
x$ksmsp
GROUP BY
ksmchdur
, ksmchcls
, SUBSTR(ksmchcom,1,DECODE(INSTR(ksmchcom,'^'),0,99,INSTR(ksmchcom,'^')))
ORDER BY
ksmchdur
, SUM(ksmchsiz) DESC
/

View File

@@ -0,0 +1,99 @@
-- MOS: Bug 13250244 : ORA-4031 ERRORS SEEN WHEN PARAMETER _KGHDSIDX_COUNT IS SET TO >1 DUE TO MEM LEAK
-- ~~~~~~~~~~~~~
-- Testcase
-- ~~~~~~~~~~~~~~~~~
--
-- Files: BDETC.tar.Z (containing init.ora, setup.sql, tc.sql)
--
-- Steps:
-- ** IMPORTANT ** Merge init.ora into the pfile used to start the instance.
--
-- ie: Ensure the instance has _kghdsidx_count=4 set
--
--
-- sqlplus /nolog @setup
-- Creates a user TC with table FOO and a few stored outlines.
-- eg:
-- create table foo ( a number );
-- insert into foo values(10);
-- commit;
-- create index ifoo on foo(a);
-- analyze table foo compute statistics;
-- create sequence seq;
-- alter session set create_stored_outlines=true;
-- declare n number;
-- begin
-- for i in 1 .. 10 loop
-- execute immediate 'select count(*) from foo where a='||i INTO n;
-- end loop;
-- end;
-- /
--
-- sqlplus /nolog @tc
-- Sets USE_STORED_OUTLINES=TRUE and runs a load of literal selects.
-- eg:
-- alter session set use_stored_outlines=true;
-- declare n number;
-- begin
-- for i in 1 .. 40000
-- loop
-- select seq.nextval into n from dual;
-- execute immediate 'select count(*) from foo where a='||n INTO n;
-- end loop;
-- end;
-- /
--
-- Then flushes the shared pool and shows the number of 'STORED OUTLINE'
-- objects in V$DB_OBJECT_CACHE (ie: In the library cache).
-- eg:
-- select count(*) from v$db_object_cache
-- where namespace='STORED OUTLINE';
--
-- ^
-- After one run of tc.sql you will see there are many thousand
-- STORED OUTLINE objects in the library cache even after a flush
-- of the shared pool. These objects are not in use by anyone
-- but are not on the shared pool LRU so just accumulate "KGLHD"
-- space.
--
-- If you run tc.sql several times then eventually you will get
-- ORA-4031 errors as all free space is taken by the STORED OUTLINE
-- KGLHD handles.
--
--
-- Reproduced
-- ~~~~~~~~~~
-- Reproduced in 11.2.0.2
-- Reproduced in 11.2.0.3
-- Reproduced in RDBMS_MAIN_LINUX.X64_111025
--
--
-- Workaround/s
-- ~~~~~~~~~~~~
-- Use plan baselines and related 11g options to control the execution
-- plans instead of using stored outlines.
-- OR
-- The problem does not seem to occur if there is only one SGA subpool.
-- ie: Instance runs with "_kghdsidx_count"=1
-- (but setting this to 1 may affect shared pool concurrency on some systems)
--
-- The problem is aggravated by having USE_STORED_OUTLINES set for sessions
-- running literal SQL as each literal statement gets a STORED OUTLINE
-- handle , even if there is no matching outline (this is expected).
-- Hence avoiding literal SQL in sessions with USE_STORED_OUTLINES
-- can help reduce/eliminate any impact from this problem
-- eg: If the DB has CURSOR_SHARING=FORCE then the example test above
-- leaks no KGLHD STORED OUTLINE handles
--
--
-- Diagnostic Notes
-- ~~~~~~~~~~~~~~~~
-- If a session has USE_STORED_OUTLINES set then any SQL issued by the
-- session gets an outline handle, even if there is no actual outline.
-- This is normal and expected.
--
-- However,
-- It seems that if there is more than one shared pool subpool then
-- we somehow manage to get some stored outline handles left off of
-- the LRU list leading to a leak of KGLHD STORED OUTLINE handles over

1718
tpt/aot/short_stack.sql Normal file

File diff suppressed because it is too large Load Diff

39
tpt/aot/soe_indexes.sql Normal file
View File

@@ -0,0 +1,39 @@
-- undo optimizations to bad scalability
-- ALTER SEQUENCE SOE.ORDERS_SEQ NOORDER CACHE 2; -- enq: SV
ALTER SEQUENCE SOE.ORDERS_SEQ NOORDER CACHE 2; -- enq: SQ
--@disable_restricting_fks SOE.ORDERS
ALTER TABLE SOE.ORDER_ITEMS DISABLE CONSTRAINT ORDER_ITEMS_ORDER_ID_FK;
ALTER TABLE soe.orders DISABLE CONSTRAINT order_pk;
DROP INDEX soe.order_pk;
DROP INDEX soe.ord_order_date_ix;
CREATE UNIQUE INDEX SOE.ORDER_PK ON SOE.ORDERS (ORDER_ID)
NOLOGGING TABLESPACE SOE PARALLEL 4;
CREATE INDEX SOE.ORD_ORDER_DATE_IX ON SOE.ORDERS (ORDER_DATE)
NOLOGGING TABLESPACE SOE PARALLEL 4;
CREATE BITMAP INDEX SOE.ORDER_MAGIC ON SOE.ORDERS(ORDER_ID,ORDER_DATE)
NOLOGGING TABLESPACE SOE PARALLEL 4;
ALTER INDEX SOE.ORDER_PK NOPARALLEL;
ALTER INDEX SOE.ORD_ORDER_DATE_IX NOPARALLEL;
ALTER INDEX SOE.ORDER_MAGIC NOPARALLEL;
ALTER TABLE soe.orders ENABLE VALIDATE CONSTRAINT order_pk;
ALTER SESSION SET ddl_lock_timeout = 10;
ALTER TABLE soe.orders ENABLE VALIDATE CONSTRAINT order_pk;
ALTER TABLE soe.orders ENABLE VALIDATE CONSTRAINT orders_customer_id_fk;
-- reverse key
-- recreate above indexes with REVERSE flag

39
tpt/aot/sqlidconv.sql Normal file
View File

@@ -0,0 +1,39 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
@saveset
set serverout on
def convstr=0123456789abcdfghjkmnpqrstuvwxyz
def base=32
declare
r number := 0;
j number := 0;
a number := 0;
begin
for i in 1..length('&1') loop
j := length('&1') - i + 1;
-- dbms_output.put_line('i='||i||' j='||j||' chr='||substr('&1',i,1));
a := (( power(&base, j-1) * (instr('&convstr',substr('&1',i,1))-1) ));
-- dbms_output.put_line(' a='||a);
r := r + a;
-- dbms_output.put_line(' r='||to_char(r,'XXXXXXXXXXXXXXXX'));
-- dbms_output.put_line('power='||to_char(power(&base, i-1)));
-- dbms_output.put_line(' mult='||to_char(instr('&convstr',substr('&1',i,1))-1) );
-- dbms_output.put_line('--');
dbms_output.put_line('j='||j||' i='||i||' c='||substr('&1',i,1)||' mult='||to_char(instr('&convstr',substr('&1',i,1))-1)||' power='||to_char(power(&base, i-1))||' a='||a );
end loop;
dbms_output.put_line('result= '||r||' 0x'||trim(to_char(r, 'xxxxxxxxxxxxxxxxxxxxxxxx')));
dbms_output.put_line('last 4B= '||trunc(mod(r,power(2,32)))||' 0x'||trim(to_char(trunc(mod(r,power(2,32))), 'xxxxxxxxxxxxxxxxxxxxxxxx')));
dbms_output.put_line(chr(10)||'sqlid=&1 hash_value='|| trunc(mod(r,power(2,32))) );
end;
/
@loadset

View File

@@ -0,0 +1,25 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
DROP TABLE t1 PURGE;
DROP TABLE t2 PURGE;
SET ECHO ON
CREATE TABLE t1(a INT) TABLESPACE users;
CREATE TABLE t2(a INT) TABLESPACE system;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM CHECKPOINT;
PAUSE
SET TIMING ON
EXEC FOR i IN 1..300000 LOOP INSERT INTO t1 VALUES(i); END LOOP;
ALTER SYSTEM CHECKPOINT;
EXEC FOR i IN 1..300000 LOOP INSERT INTO t2 VALUES(i); END LOOP;
SET TIMING OFF ECHO OFF

20
tpt/aot/temp_io.sql Normal file
View File

@@ -0,0 +1,20 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
ALTER SESSION SET workarea_size_policy=MANUAL;
ALTER SESSION SET sort_area_size=40960;
ALTER SESSION SET sort_area_retained_size=40960;
VAR c REFCURSOR
DECLARE
t VARCHAR2(4000);
BEGIN
LOOP
OPEN :c FOR SELECT TO_CHAR(rownum)||LPAD('x',3900,'x') text FROM dual CONNECT BY LEVEL <=1000 ORDER BY text;
FETCH :c INTO t;
CLOSE :c;
END LOOP;
END;
/

189
tpt/aot/tx_lock_diag.txt Normal file
View File

@@ -0,0 +1,189 @@
SQL> @s 152
SID STATE EVENT SEQ# SEC_IN_WAIT P1 P2 P3 P1TRANSL
------- ------- ---------------------------------------- ---------- ----------- ---------- ---------- ---------- ------------------------------------------
152 WAITING enq: TX - row lock contention 21 3 1415053318 393221 6000 0x54580006: TX mode 6
SQL> select obj, tch, file#, dbablk
2 from x$bh
3 where bitand(flag,8)=8;
no rows selected
SQL>
SQL>
SQL>
SQL>
SQL>
SQL> desc v$transaction
Name Null? Type
------------------------------------------------------------------------------------------------------ -------- ----------------------------------------------------------------------------
1 ADDR RAW(8)
2 XIDUSN NUMBER
3 XIDSLOT NUMBER
4 XIDSQN NUMBER
5 UBAFIL NUMBER
6 UBABLK NUMBER
7 UBASQN NUMBER
8 UBAREC NUMBER
9 STATUS VARCHAR2(16)
10 START_TIME VARCHAR2(20)
11 START_SCNB NUMBER
12 START_SCNW NUMBER
13 START_UEXT NUMBER
14 START_UBAFIL NUMBER
15 START_UBABLK NUMBER
16 START_UBASQN NUMBER
17 START_UBAREC NUMBER
18 SES_ADDR RAW(8)
19 FLAG NUMBER
20 SPACE VARCHAR2(3)
21 RECURSIVE VARCHAR2(3)
22 NOUNDO VARCHAR2(3)
23 PTX VARCHAR2(3)
24 NAME VARCHAR2(256)
25 PRV_XIDUSN NUMBER
26 PRV_XIDSLT NUMBER
27 PRV_XIDSQN NUMBER
28 PTX_XIDUSN NUMBER
29 PTX_XIDSLT NUMBER
30 PTX_XIDSQN NUMBER
31 DSCN-B NUMBER
32 DSCN-W NUMBER
33 USED_UBLK NUMBER
34 USED_UREC NUMBER
35 LOG_IO NUMBER
36 PHY_IO NUMBER
37 CR_GET NUMBER
38 CR_CHANGE NUMBER
39 START_DATE DATE
40 DSCN_BASE NUMBER
41 DSCN_WRAP NUMBER
42 START_SCN NUMBER
43 DEPENDENT_SCN NUMBER
44 XID RAW(8)
45 PRV_XID RAW(8)
46 PTX_XID RAW(8)
SQL> @dec 1415053318
DEC HEX
----------------------------------- --------------------
1415053318.000000 54580006
SQL> @lt TX
TYPE LOCK NAME ID1 MEANING ID2 MEANING LT_ DESCRIPTION
---- ------------------------------ ------------------------- ------------------------- --- ------------------------------------------------------------
TX Transaction usn<<16 | slot sequence YES Lock held by a transaction to allow other transactions to
wait for it
SQL> @s 152
SID STATE EVENT SEQ# SEC_IN_WAIT P1 P2 P3 P1TRANSL
------- ------- ---------------------------------------- ---------- ----------- ---------- ---------- ---------- ------------------------------------------
152 WAITING enq: TX - row lock contention 21 78 1415053318 393221 6000 0x54580006: TX mode 6
SQL>
SQL>
SQL> @s 152
SID STATE EVENT SEQ# SEC_IN_WAIT P1 P2 P3 P1TRANSL
------- ------- ---------------------------------------- ---------- ----------- ---------- ---------- ---------- ------------------------------------------
152 WAITING enq: TX - row lock contention 21 81 1415053318 393221 6000 0x54580006: TX mode 6
SQL>
SQL> select * from v$lock where sid = 152;
ADDR KADDR SID TY ID1 ID2 LMODE REQUEST CTIME BLOCK
---------------- ---------------- ---------- -- ---------- ---------- ---------- ---------- ---------- ----------
00000003DA32CE88 00000003DA32CEA8 152 TX 393221 6000 0 6 99 0
00000003DA99E260 00000003DA99E288 152 TM 58197 0 3 0 99 0
SQL> select * from v$lock where sid = 152 and request != 0;
ADDR KADDR SID TY ID1 ID2 LMODE REQUEST CTIME BLOCK
---------------- ---------------- ---------- -- ---------- ---------- ---------- ---------- ---------- ----------
00000003DA32CE88 00000003DA32CEA8 152 TX 393221 6000 0 6 108 0
SQL> select mod(393221,power(2,16)) from dual;
MOD(393221,POWER(2,16))
-----------------------
5
SQL> select 393221/power(2,16) usn, mod(393221,power(2,16)) slot from dual;
USN SLOT
---------- ----------
6.00007629 5
SQL> select trunc(393221/power(2,16)) usn, mod(393221,power(2,16)) slot from dual;
USN SLOT
---------- ----------
6 5
SQL>
SQL>
SQL>
SQL> select ses_addr from v$transaction where XIDUSN = 6 and XIDSLOT = 5;
SES_ADDR
----------------
00000003DD24CBA0
SQL> select sid, sql_hash_value from v$session where saddr = '00000003DD24CBA0';
SID SQL_HASH_VALUE
---------- --------------
144 3935459581
SQL> @sql 3935459581
CH# SQL_TEXT
---- ------------------------------------------------------------------------------------------------------------------------------------------------------
0 BEGIN dbms_lock.sleep(600); END;
CH# PARENT_HANDLE OBJECT_HANDLE PARSES H_PARSES EXECUTIONS FETCHES ROWS_PROCESSED LIOS PIOS SORTS CPU_MS ELA_MS USERS_EXECUTING
---- ---------------- ---------------- ---------- ---------- ---------- ---------- -------------- ---------- ---------- ---------- ---------- ---------- ---------------
0 00000003DC63AD80 00000003DC4EF988 1 1 0 0 0 0 0 0 3.729 3.729 1
SQL>
SQL>
SQL> desc v$open_cursor
Name Null? Type
------------------------------------------------------------------------------------------------------ -------- ----------------------------------------------------------------------------
1 SADDR RAW(8)
2 SID NUMBER
3 USER_NAME VARCHAR2(30)
4 ADDRESS RAW(8)
5 HASH_VALUE NUMBER
6 SQL_ID VARCHAR2(13)
7 SQL_TEXT VARCHAR2(60)
SQL> select hash_value, sql_text from v$open_cursor where sid = 144;
HASH_VALUE SQL_TEXT
---------- ------------------------------------------------------------
1420612433 update smon_scn_time set orig_thread=0, time_mp=:1, time_dp=
3114265815 select local_tran_id, global_tran_fmt, global_oracle_id, glo
3935459581 BEGIN dbms_lock.sleep(600); END;
541202592 select obj, tch, file#, dbablk from x$bh where bitand(flag,8
599212612 select s.username i_username, i.instance_name i_instance
2953317698 update mytest set dummy = 'Y'
2509924099 select value ||'/'||(select instance_name from v$instance)
7 rows selected.
SQL>
-- these were the troublemakers
3935459581 BEGIN dbms_lock.sleep(600); END;
2953317698 update mytest set dummy = 'Y'

28
tpt/aot/wrong_results.sql Normal file
View File

@@ -0,0 +1,28 @@
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
-- BUG 10259620
-- https://supporthtml.oracle.com/ep/faces/secure/km/DocumentDisplay.jspx?id=10259620.8
drop table t;
create table t(c1 number, c2 number, c3 as (c1 + 2));
insert into t(c1, c2) values (1, 2);
insert into t(c1, c2) values (2, 3);
commit;
create index btix_1 on t (c2 desc);
create index btix_2 on t (c3, c2);
@sl all
select c2, c3
from t where c2 = 3 or (c3 = 3)
order by c2, c3;
@x
select /*+ use_concat index(t) */ c2, c3
from t where c2 = 3 or (c3 = 3)
order by c2, c3;
@x