pjsip-pjproject/pjmedia/build/Jbtest.dat

579 lines
25 KiB
Plaintext

#
# ======================================================================
# Jitter Buffer test data, containing one or more test sessions
# ======================================================================
#
# A test session format:
#
# 1. Session title, started with '=', example:
# = Bursty environment
#
# 2. Session setting, started with '%', followed by params:
# - mode, possible values: 'adaptive' or 'fixed'
# - initial prefetch, in frames
# - minimum prefetch (for adaptive mode only), in frames
# - maximum prefetch (for adaptive mode only), in frames
# Example:
# %adaptive 0 0 40
# %fixed 10
#
# 3. Success conditions, started with '!', followed by condition name
# and its maximum tolerable value, in frames unit. Recognized condition
# names are: burst, discard, lost, empty, delay, delay_min. These
# conditions will be verified with jitter buffer statistics after all
# session test data are executed.
# Example:
# !delay 10 <- average delay of jbuf is 10 frames
#
# 4. Session test data, containing sequence of jitter buffer events,
# an event is represented by a character as follow:
# - P: PUT a frame into jitter buffer
# - G: GET a frame from jitter buffer
# - L: generate a Lost frame, i.e: sequence jump by 1
# - R: sequence Restart
# - J: sequence Jump by 20
# - D: generate a Duplicated frame
# - O: generate an Old/late (and perhaps also duplicated) frame
# Example:
# PGPGPGPGPG <- ideal condition, PUT and GET one after another
#
# 5. End of session test data, marked by '.'
#
# ======================================================================
#
= Ideal condition
%adaptive 0 0 10
!burst 1
!discard 0
!lost 0
!empty 0
!delay 1
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
.
= DTX
%adaptive 0 0 10
!burst 1
!discard 0
!lost 0
!empty 20
!delay 1
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
# Start silence
GGGGGGGGGGGGGGGGGGGG
# End silence
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
.
= Regular burst (three gets three puts)
%adaptive 0 0 10
!burst 3
!discard 0
!lost 0
!empty 0
!delay 3
PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG
PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG
.
= Random burst (no drift)
%adaptive 0 0 10
!burst 4
!discard 1 <- there may be delay adaptation caused by multiple empty GETs followed by multiple PUTs, later when burst level reaches 'stable' condition, JB may shrink some excess frames
!lost 0
!empty 4
!delay 4
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
.
= Random burst (with drift, PUT > GET)
%adaptive 0 0 10
!burst 4
!discard 68 <- number of PUT - GET, JB does shrinking by discarding frames
!lost 68 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal
!empty 4
!delay 8 <- should be less than or equal to twice of burst
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG
.
= Random burst (with drift, PUT < GET)
%adaptive 0 0 10
!burst 4
!discard 0
!lost 0
!empty 70 <- GET - PUT = 66, added 4 for tolerating empty caused by burst
!delay 4 <- should be less than or equal to burst
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG
.
= Packet lost
%adaptive 0 0 10
!burst 1
!discard 0
!lost 7
!empty 3
!delay 3
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
# Some losts
LGPGPGLGPGPGPGLGPGPG
# Normal
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
# More losts
PLPGGGPPPGGGPLPGGGPG PLPGGGPPPGGGPLPGGGPG
# Normal
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
.
= Sequence restart
%adaptive 0 0 10
!burst 1
!discard 0
!lost 0
!empty 0
!delay 1
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
# seq restarted after 120 PUTs (default MAX_MISORDER == 100)
R
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
.
= Duplicated frames
= e.g.: some Forward Error Correction (FEC) methods.
%adaptive 0 0 10
!burst 1
!discard 40
!lost 0
!empty 0
!delay 1
PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG
PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG
.
= Late frames
%adaptive 0 0 10
!burst 1
!discard 8 <- late frames are discarded + delay adaptation
!lost 4
!empty 4
!delay 4
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
# Suddenly there are some lost frames
LGLGPGLGLGPG
# Those lost frames are actually late (+misordered), here they come
OOOO
# Then back to normal
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
.
= PUT burst at the beginning
%adaptive 0 0 10
!burst 1
!discard 50 <- frames discarded for delay adaptation
!lost 50 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal
!empty 0
!delay_min 2 <- minimum delay, JB is able to adapt the delay
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
.
= Fixed mode prefetch 5, with two empty events
%fixed 5
!burst 1
!discard 0 <- #1612: no frame discard for delay adjustment in fixed mode
!lost 0 <- #1612: no frame discard for delay adjustment in fixed mode
!empty 10 <- 5 from GET burst + 5 from prefetching
!delay 5
G
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
GGGGG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
.
= Fixed mode prefetch 5, with random burst
%fixed 5
!burst 3
!discard 0 <- (see above test scenario)
!lost 0 <- (see above test scenario)
!empty 5
!delay 6
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG
.
= Fixed mode prefetch 10, PUT burst at the beginning
%fixed 10
!burst 1
!discard 1 <- frames discarded due to JB full (JB default size = 50 frames)
!lost 1 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal
!empty 0
!delay_min 50 <- #1612: no frame discard for delay adjustment in fixed mode
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
.
= Large PUT burst at beginning, then normal with burst level 10 and periodic burst spikes
%adaptive 0 0 40
!burst 12
!discard 300 <- not so relevant for long period session with many delay adjustments needed (i.e: for first burst and periodic spikes)
!lost 300 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal
!empty 60 <- delay adjustment effect, as there is actually no drift
!delay 20 <- twice of burst level average
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
.