1778692616
441d63ebbc39eba359c9061ece8482bd-phpdoc%3A7955ad6711e902f624447fc1ba2efaa5-cd4888187736e0fc1bdec6d2128161ee
s:5076:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjE1OiJjb21tYW5kX2J1cy5waHAiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YTowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaGFzaCI7czozMjoiY2Q0ODg4MTg3NzM2ZTBmYzFiZGVjNmQyMTI4MTYxZWUiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo2MDoidmVuZG9yL3BocGRvY3VtZW50b3IvZ3VpZGVzL3Jlc291cmNlcy9jb25maWcvY29tbWFuZF9idXMucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoyODYyOiI8P3BocAoKZGVjbGFyZShzdHJpY3RfdHlwZXM9MSk7Cgp1c2UgTGVhZ3VlXFRhY3RpY2lhblxDb21tYW5kQnVzOwp1c2UgTGVhZ3VlXFRhY3RpY2lhblxIYW5kbGVyXENvbW1hbmRIYW5kbGVyTWlkZGxld2FyZTsKdXNlIExlYWd1ZVxUYWN0aWNpYW5cSGFuZGxlclxDb21tYW5kTmFtZUV4dHJhY3RvclxDbGFzc05hbWVFeHRyYWN0b3I7CnVzZSBMZWFndWVcVGFjdGljaWFuXEhhbmRsZXJcTWV0aG9kTmFtZUluZmxlY3RvclxIYW5kbGVJbmZsZWN0b3I7CnVzZSBMZWFndWVcVGFjdGljaWFuXFBsdWdpbnNcTG9ja2luZ01pZGRsZXdhcmU7CnVzZSBwaHBEb2N1bWVudG9yXEd1aWRlc1xEZXBlbmRlbmN5SW5qZWN0aW9uXENvbW1hbmRMb2NhdG9yOwp1c2UgcGhwRG9jdW1lbnRvclxHdWlkZXNcRmlsZUNvbGxlY3RvcjsKdXNlIHBocERvY3VtZW50b3JcR3VpZGVzXEhhbmRsZXJzXENvbXBpbGVEb2N1bWVudHNDb21tYW5kOwp1c2UgcGhwRG9jdW1lbnRvclxHdWlkZXNcSGFuZGxlcnNcQ29tcGlsZURvY3VtZW50c0hhbmRsZXI7CnVzZSBwaHBEb2N1bWVudG9yXEd1aWRlc1xIYW5kbGVyc1xQYXJzZURpcmVjdG9yeUNvbW1hbmQ7CnVzZSBwaHBEb2N1bWVudG9yXEd1aWRlc1xIYW5kbGVyc1xQYXJzZURpcmVjdG9yeUhhbmRsZXI7CnVzZSBwaHBEb2N1bWVudG9yXEd1aWRlc1xIYW5kbGVyc1xQYXJzZUZpbGVDb21tYW5kOwp1c2UgcGhwRG9jdW1lbnRvclxHdWlkZXNcSGFuZGxlcnNcUGFyc2VGaWxlSGFuZGxlcjsKdXNlIHBocERvY3VtZW50b3JcR3VpZGVzXEhhbmRsZXJzXFJlbmRlckNvbW1hbmQ7CnVzZSBwaHBEb2N1bWVudG9yXEd1aWRlc1xIYW5kbGVyc1xSZW5kZXJEb2N1bWVudENvbW1hbmQ7CnVzZSBwaHBEb2N1bWVudG9yXEd1aWRlc1xIYW5kbGVyc1xSZW5kZXJEb2N1bWVudEhhbmRsZXI7CnVzZSBwaHBEb2N1bWVudG9yXEd1aWRlc1xIYW5kbGVyc1xSZW5kZXJIYW5kbGVyOwp1c2UgUHNyXEV2ZW50RGlzcGF0Y2hlclxFdmVudERpc3BhdGNoZXJJbnRlcmZhY2U7CnVzZSBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXExvYWRlclxDb25maWd1cmF0b3JcQ29udGFpbmVyQ29uZmlndXJhdG9yOwoKdXNlIGZ1bmN0aW9uIFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cTG9hZGVyXENvbmZpZ3VyYXRvclxpbmxpbmVfc2VydmljZTsKdXNlIGZ1bmN0aW9uIFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cTG9hZGVyXENvbmZpZ3VyYXRvclxzZXJ2aWNlOwp1c2UgZnVuY3Rpb24gU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxMb2FkZXJcQ29uZmlndXJhdG9yXHRhZ2dlZF9sb2NhdG9yOwoKcmV0dXJuIHN0YXRpYyBmdW5jdGlvbiAoQ29udGFpbmVyQ29uZmlndXJhdG9yICRjb250YWluZXIpOiB2b2lkIHsKICAgICRjb250YWluZXItPnNlcnZpY2VzKCkKICAgICAgICAtPmRlZmF1bHRzKCktPmF1dG93aXJlKCkKCiAgICAgICAgLT5zZXQoUGFyc2VGaWxlSGFuZGxlcjo6Y2xhc3MpCiAgICAgICAgLT50YWcoJ3BocGRvYy5ndWlkZXMuY29tbWFuZCcsIFsnY29tbWFuZCcgPT4gUGFyc2VGaWxlQ29tbWFuZDo6Y2xhc3NdKQoKICAgICAgICAtPnNldChQYXJzZURpcmVjdG9yeUhhbmRsZXI6OmNsYXNzKQogICAgICAgIC0+YXJncyhbaW5saW5lX3NlcnZpY2UoRmlsZUNvbGxlY3Rvcjo6Y2xhc3MpLT5hdXRvd2lyZSgpXSkKICAgICAgICAtPnRhZygncGhwZG9jLmd1aWRlcy5jb21tYW5kJywgWydjb21tYW5kJyA9PiBQYXJzZURpcmVjdG9yeUNvbW1hbmQ6OmNsYXNzXSkKCiAgICAgICAgLT5zZXQoUmVuZGVySGFuZGxlcjo6Y2xhc3MpCiAgICAgICAgLT50YWcoJ3BocGRvYy5ndWlkZXMuY29tbWFuZCcsIFsnY29tbWFuZCcgPT4gUmVuZGVyQ29tbWFuZDo6Y2xhc3NdKQoKICAgICAgICAtPnNldChDb21waWxlRG9jdW1lbnRzSGFuZGxlcjo6Y2xhc3MpCiAgICAgICAgLT50YWcoJ3BocGRvYy5ndWlkZXMuY29tbWFuZCcsIFsnY29tbWFuZCcgPT4gQ29tcGlsZURvY3VtZW50c0NvbW1hbmQ6OmNsYXNzXSkKCiAgICAgICAgLT5zZXQoUmVuZGVyRG9jdW1lbnRIYW5kbGVyOjpjbGFzcykKICAgICAgICAtPnRhZygncGhwZG9jLmd1aWRlcy5jb21tYW5kJywgWydjb21tYW5kJyA9PiBSZW5kZXJEb2N1bWVudENvbW1hbmQ6OmNsYXNzXSkKICAgICAgICAtPmFyZygnJHJlbmRlcmVyJywgc2VydmljZSgncGhwZG9jLmd1aWRlcy5vdXRwdXRfbm9kZV9yZW5kZXJlcicpKQogICAgICAgIC0+YXJnKCckZXZlbnREaXNwYXRjaGVyJywgc2VydmljZShFdmVudERpc3BhdGNoZXJJbnRlcmZhY2U6OmNsYXNzKSkKCiAgICAgICAgLT5zZXQoQ29tbWFuZEJ1czo6Y2xhc3MpCiAgICAgICAgLT5hcmdzKFsKICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgaW5saW5lX3NlcnZpY2UoQ29tbWFuZEhhbmRsZXJNaWRkbGV3YXJlOjpjbGFzcykKICAgICAgICAgICAgICAgIC0+YXJncyhbCiAgICAgICAgICAgICAgICAgICAgaW5saW5lX3NlcnZpY2UoQ2xhc3NOYW1lRXh0cmFjdG9yOjpjbGFzcyksCiAgICAgICAgICAgICAgICAgICAgaW5saW5lX3NlcnZpY2UoQ29tbWFuZExvY2F0b3I6OmNsYXNzKS0+YXJncygKICAgICAgICAgICAgICAgICAgICAgICAgW3RhZ2dlZF9sb2NhdG9yKCdwaHBkb2MuZ3VpZGVzLmNvbW1hbmQnLCAnY29tbWFuZCcpXSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgIGlubGluZV9zZXJ2aWNlKEhhbmRsZUluZmxlY3Rvcjo6Y2xhc3MpLAogICAgICAgICAgICAgICAgXSksCiAgICAgICAgICAgICAgICBpbmxpbmVfc2VydmljZShMb2NraW5nTWlkZGxld2FyZTo6Y2xhc3MpLAogICAgICAgICAgICBdLAogICAgICAgIF0pOwp9OwoiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZG9jQmxvY2siO047czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBtZXRhZGF0YSI7YTowOnt9fQ==";