ZGlmZiAtLWdpdCBhL3NyYy9kaWdyYXBoLmMgYi9zcmMvZGlncmFwaC5jCmluZGV4IDhhM2JmMTIuLjc1OGMyM2QgMTAwNjQ0Ci0tLSBhL3NyYy9kaWdyYXBoLmMKKysrIGIvc3JjL2RpZ3JhcGguYwpAQCAtNDAsNjIgKzQwLDYyIEBACiAJICogQVRBUkkgZGlncmFwaHMKIAkgKi8KICAgICAgICB7eydDJywgJywnLCAxMjh9LAkvKiB+QCBYWCAqLwotCXsndScsICciJywgMTI5fSwJLyoggSAqLwotCXsnZScsICdcJycsIDEzMH0sCS8qIIIgKi8KLQl7J2EnLCAnXicsIDEzMX0sCS8qIIMgKi8KLQl7J2EnLCAnIicsIDEzMn0sCS8qIIQgKi8KLQl7J2EnLCAnYCcsIDEzM30sCS8qIIUgKi8KLQl7J2EnLCAnQCcsIDEzNH0sCS8qIIYgKi8KKwl7J3UnLCAnIicsIDEyOX0sCS8qIMKBICovCisJeydlJywgJ1wnJywgMTMwfSwJLyogwoIgKi8KKwl7J2EnLCAnXicsIDEzMX0sCS8qIMKDICovCisJeydhJywgJyInLCAxMzJ9LAkvKiDChCAqLworCXsnYScsICdgJywgMTMzfSwJLyogwoUgKi8KKwl7J2EnLCAnQCcsIDEzNH0sCS8qIMKGICovCiAJeydjJywgJywnLCAxMzV9LAkvKiB+RyBYWCAqLwogCXsnZScsICdeJywgMTM2fSwJLyogfkggWFggKi8KLQl7J2UnLCAnIicsIDEzN30sCS8qIIkgKi8KLQl7J2UnLCAnYCcsIDEzOH0sCS8qIIogKi8KLQl7J2knLCAnIicsIDEzOX0sCS8qIIsgKi8KLQl7J2knLCAnXicsIDE0MH0sCS8qIIwgKi8KLQl7J2knLCAnYCcsIDE0MX0sCS8qII0gKi8KLQl7J0EnLCAnIicsIDE0Mn0sCS8qII4gKi8KLQl7J0EnLCAnQCcsIDE0M30sCS8qII8gKi8KLQl7J0UnLCAnXCcnLCAxNDR9LAkvKiCQICovCi0JeydhJywgJ2UnLCAxNDV9LAkvKiCRICovCi0JeydBJywgJ0UnLCAxNDZ9LAkvKiCSICovCi0JeydvJywgJ14nLCAxNDd9LAkvKiCTICovCi0JeydvJywgJyInLCAxNDh9LAkvKiCUICovCi0JeydvJywgJ2AnLCAxNDl9LAkvKiCVICovCi0Jeyd1JywgJ14nLCAxNTB9LAkvKiCWICovCi0Jeyd1JywgJ2AnLCAxNTF9LAkvKiCXICovCi0Jeyd5JywgJyInLCAxNTJ9LAkvKiCYICovCi0JeydPJywgJyInLCAxNTN9LAkvKiCZICovCi0JeydVJywgJyInLCAxNTR9LAkvKiCaICovCi0JeydjJywgJ3wnLCAxNTV9LAkvKiCbICovCi0JeyckJywgJyQnLCAxNTZ9LAkvKiCcICovCisJeydlJywgJyInLCAxMzd9LAkvKiDCiSAqLworCXsnZScsICdgJywgMTM4fSwJLyogwoogKi8KKwl7J2knLCAnIicsIDEzOX0sCS8qIMKLICovCisJeydpJywgJ14nLCAxNDB9LAkvKiDCjCAqLworCXsnaScsICdgJywgMTQxfSwJLyogwo0gKi8KKwl7J0EnLCAnIicsIDE0Mn0sCS8qIMKOICovCisJeydBJywgJ0AnLCAxNDN9LAkvKiDCjyAqLworCXsnRScsICdcJycsIDE0NH0sCS8qIMKQICovCisJeydhJywgJ2UnLCAxNDV9LAkvKiDCkSAqLworCXsnQScsICdFJywgMTQ2fSwJLyogwpIgKi8KKwl7J28nLCAnXicsIDE0N30sCS8qIMKTICovCisJeydvJywgJyInLCAxNDh9LAkvKiDClCAqLworCXsnbycsICdgJywgMTQ5fSwJLyogwpUgKi8KKwl7J3UnLCAnXicsIDE1MH0sCS8qIMKWICovCisJeyd1JywgJ2AnLCAxNTF9LAkvKiDClyAqLworCXsneScsICciJywgMTUyfSwJLyogwpggKi8KKwl7J08nLCAnIicsIDE1M30sCS8qIMKZICovCisJeydVJywgJyInLCAxNTR9LAkvKiDCmiAqLworCXsnYycsICd8JywgMTU1fSwJLyogwpsgKi8KKwl7JyQnLCAnJCcsIDE1Nn0sCS8qIMKcICovCiAJeydZJywgJy0nLCAxNTd9LAkvKiB+XSBYWCAqLwotCXsncycsICdzJywgMTU4fSwJLyogniAqLwotCXsnZicsICdmJywgMTU5fSwJLyognyAqLwotCXsnYScsICdcJycsIDE2MH0sCS8qIKAgKi8KLQl7J2knLCAnXCcnLCAxNjF9LAkvKiChICovCi0JeydvJywgJ1wnJywgMTYyfSwJLyogoiAqLwotCXsndScsICdcJycsIDE2M30sCS8qIKMgKi8KLQl7J24nLCAnficsIDE2NH0sCS8qIKQgKi8KLQl7J04nLCAnficsIDE2NX0sCS8qIKUgKi8KLQl7J2EnLCAnYScsIDE2Nn0sCS8qIKYgKi8KLQl7J28nLCAnbycsIDE2N30sCS8qIKcgKi8KLQl7J34nLCAnPycsIDE2OH0sCS8qIKggKi8KLQl7Jy0nLCAnYScsIDE2OX0sCS8qIKkgKi8KLQl7J2EnLCAnLScsIDE3MH0sCS8qIKogKi8KLQl7JzEnLCAnMicsIDE3MX0sCS8qIKsgKi8KLQl7JzEnLCAnNCcsIDE3Mn0sCS8qIKwgKi8KLQl7J34nLCAnIScsIDE3M30sCS8qIK0gKi8KLQl7JzwnLCAnPCcsIDE3NH0sCS8qIK4gKi8KLQl7Jz4nLCAnPicsIDE3NX0sCS8qIK8gKi8KLQl7J2onLCAndScsIDIzMH0sCS8qIOYgKi8KLQl7J28nLCAnLycsIDIzN30sCS8qIO0gKi8KLQl7JysnLCAnLScsIDI0MX0sCS8qIPEgKi8KLQl7Jz4nLCAnPScsIDI0Mn0sCS8qIPIgKi8KLQl7JzwnLCAnPScsIDI0M30sCS8qIPMgKi8KLQl7JzonLCAnLScsIDI0Nn0sCS8qIPYgKi8KLQl7J34nLCAnficsIDI0N30sCS8qIPcgKi8KLQl7J34nLCAnbycsIDI0OH0sCS8qIPggKi8KLQl7JzInLCAnMicsIDI1M30sCS8qIP0gKi8KKwl7J3MnLCAncycsIDE1OH0sCS8qIMKeICovCisJeydmJywgJ2YnLCAxNTl9LAkvKiDCnyAqLworCXsnYScsICdcJycsIDE2MH0sCS8qIMKgICovCisJeydpJywgJ1wnJywgMTYxfSwJLyogwqEgKi8KKwl7J28nLCAnXCcnLCAxNjJ9LAkvKiDCoiAqLworCXsndScsICdcJycsIDE2M30sCS8qIMKjICovCisJeyduJywgJ34nLCAxNjR9LAkvKiDCpCAqLworCXsnTicsICd+JywgMTY1fSwJLyogwqUgKi8KKwl7J2EnLCAnYScsIDE2Nn0sCS8qIMKmICovCisJeydvJywgJ28nLCAxNjd9LAkvKiDCpyAqLworCXsnficsICc/JywgMTY4fSwJLyogwqggKi8KKwl7Jy0nLCAnYScsIDE2OX0sCS8qIMKpICovCisJeydhJywgJy0nLCAxNzB9LAkvKiDCqiAqLworCXsnMScsICcyJywgMTcxfSwJLyogwqsgKi8KKwl7JzEnLCAnNCcsIDE3Mn0sCS8qIMKsICovCisJeyd+JywgJyEnLCAxNzN9LAkvKiDCrSAqLworCXsnPCcsICc8JywgMTc0fSwJLyogwq4gKi8KKwl7Jz4nLCAnPicsIDE3NX0sCS8qIMKvICovCisJeydqJywgJ3UnLCAyMzB9LAkvKiDDpiAqLworCXsnbycsICcvJywgMjM3fSwJLyogw60gKi8KKwl7JysnLCAnLScsIDI0MX0sCS8qIMOxICovCisJeyc+JywgJz0nLCAyNDJ9LAkvKiDDsiAqLworCXsnPCcsICc9JywgMjQzfSwJLyogw7MgKi8KKwl7JzonLCAnLScsIDI0Nn0sCS8qIMO2ICovCisJeyd+JywgJ34nLCAyNDd9LAkvKiDDtyAqLworCXsnficsICdvJywgMjQ4fSwJLyogw7ggKi8KKwl7JzInLCAnMicsIDI1M30sCS8qIMO9ICovCiAJe05VTCwgTlVMLCBOVUx9CiAJfTsKIApAQCAtMTA1LDEwMCArMTA1LDEwMCBAQAogCS8qCiAJICogZGlmZmVyZW50IEhQVVggZGlncmFwaHMKIAkgKi8KLSAgICAgICB7eydBJywgJ2AnLCAxNjF9LAkvKiChICovCi0JeydBJywgJ14nLCAxNjJ9LAkvKiCiICovCi0JeydFJywgJ2AnLCAxNjN9LAkvKiCjICovCi0JeydFJywgJ14nLCAxNjR9LAkvKiCkICovCi0JeydFJywgJyInLCAxNjV9LAkvKiClICovCi0JeydJJywgJ14nLCAxNjZ9LAkvKiCmICovCi0JeydJJywgJyInLCAxNjd9LAkvKiCnICovCi0JeydcJycsICdcJycsIDE2OH0sCS8qIKggKi8KLQl7J2AnLCAnYCcsIDE2OX0sCS8qIKkgKi8KLQl7J14nLCAnXicsIDE3MH0sCS8qIKogKi8KLQl7JyInLCAnIicsIDE3MX0sCS8qIKsgKi8KLQl7J34nLCAnficsIDE3Mn0sCS8qIKwgKi8KLQl7J1UnLCAnYCcsIDE3M30sCS8qIK0gKi8KLQl7J1UnLCAnXicsIDE3NH0sCS8qIK4gKi8KLQl7J0wnLCAnPScsIDE3NX0sCS8qIK8gKi8KLQl7J34nLCAnXycsIDE3Nn0sCS8qILAgKi8KLQl7J1knLCAnXCcnLCAxNzd9LAkvKiCxICovCi0Jeyd5JywgJ1wnJywgMTc4fSwJLyogsiAqLwotCXsnficsICdvJywgMTc5fSwJLyogsyAqLwotCXsnQycsICcsJywgMTgwfSwJLyogtCAqLwotCXsnYycsICcsJywgMTgxfSwJLyogtSAqLwotCXsnTicsICd+JywgMTgyfSwJLyogtiAqLwotCXsnbicsICd+JywgMTgzfSwJLyogtyAqLwotCXsnficsICchJywgMTg0fSwJLyoguCAqLwotCXsnficsICc/JywgMTg1fSwJLyoguSAqLwotCXsnbycsICd4JywgMTg2fSwJLyoguiAqLwotCXsnTCcsICctJywgMTg3fSwJLyoguyAqLwotCXsnWScsICc9JywgMTg4fSwJLyogvCAqLwotCXsncCcsICdwJywgMTg5fSwJLyogvSAqLwotCXsnZicsICdsJywgMTkwfSwJLyogviAqLwotCXsnYycsICd8JywgMTkxfSwJLyogvyAqLwotCXsnYScsICdeJywgMTkyfSwJLyogwCAqLwotCXsnZScsICdeJywgMTkzfSwJLyogwSAqLwotCXsnbycsICdeJywgMTk0fSwJLyogwiAqLwotCXsndScsICdeJywgMTk1fSwJLyogwyAqLwotCXsnYScsICdcJycsIDE5Nn0sCS8qIMQgKi8KLQl7J2UnLCAnXCcnLCAxOTd9LAkvKiDFICovCi0JeydvJywgJ1wnJywgMTk4fSwJLyogxiAqLwotCXsndScsICdcJycsIDE5OX0sCS8qIMcgKi8KLQl7J2EnLCAnYCcsIDIwMH0sCS8qIMggKi8KLQl7J2UnLCAnYCcsIDIwMX0sCS8qIMkgKi8KLQl7J28nLCAnYCcsIDIwMn0sCS8qIMogKi8KLQl7J3UnLCAnYCcsIDIwM30sCS8qIMsgKi8KLQl7J2EnLCAnIicsIDIwNH0sCS8qIMwgKi8KLQl7J2UnLCAnIicsIDIwNX0sCS8qIM0gKi8KLQl7J28nLCAnIicsIDIwNn0sCS8qIM4gKi8KLQl7J3UnLCAnIicsIDIwN30sCS8qIM8gKi8KLQl7J0EnLCAnbycsIDIwOH0sCS8qINAgKi8KLQl7J2knLCAnXicsIDIwOX0sCS8qINEgKi8KLQl7J08nLCAnLycsIDIxMH0sCS8qINIgKi8KLQl7J0EnLCAnRScsIDIxMX0sCS8qINMgKi8KLQl7J2EnLCAnbycsIDIxMn0sCS8qINQgKi8KLQl7J2knLCAnXCcnLCAyMTN9LAkvKiDVICovCi0JeydvJywgJy8nLCAyMTR9LAkvKiDWICovCi0JeydhJywgJ2UnLCAyMTV9LAkvKiDXICovCi0JeydBJywgJyInLCAyMTZ9LAkvKiDYICovCi0JeydpJywgJ2AnLCAyMTd9LAkvKiDZICovCi0JeydPJywgJyInLCAyMTh9LAkvKiDaICovCi0JeydVJywgJyInLCAyMTl9LAkvKiDbICovCi0JeydFJywgJ1wnJywgMjIwfSwJLyog3CAqLwotCXsnaScsICciJywgMjIxfSwJLyog3SAqLwotCXsncycsICdzJywgMjIyfSwJLyog3iAqLwotCXsnTycsICdeJywgMjIzfSwJLyog3yAqLwotCXsnQScsICdcJycsIDIyNH0sCS8qIOAgKi8KLQl7J0EnLCAnficsIDIyNX0sCS8qIOEgKi8KLQl7J2EnLCAnficsIDIyNn0sCS8qIOIgKi8KLQl7J0QnLCAnLScsIDIyN30sCS8qIOMgKi8KLQl7J2QnLCAnLScsIDIyOH0sCS8qIOQgKi8KLQl7J0knLCAnXCcnLCAyMjl9LAkvKiDlICovCi0JeydJJywgJ2AnLCAyMzB9LAkvKiDmICovCi0JeydPJywgJ1wnJywgMjMxfSwJLyog5yAqLwotCXsnTycsICdgJywgMjMyfSwJLyog6CAqLwotCXsnTycsICd+JywgMjMzfSwJLyog6SAqLwotCXsnbycsICd+JywgMjM0fSwJLyog6iAqLwotCXsnUycsICd+JywgMjM1fSwJLyog6yAqLwotCXsncycsICd+JywgMjM2fSwJLyog7CAqLwotCXsnVScsICdcJycsIDIzN30sCS8qIO0gKi8KLQl7J1knLCAnIicsIDIzOH0sCS8qIO4gKi8KLQl7J3knLCAnIicsIDIzOX0sCS8qIO8gKi8KLQl7J3AnLCAnLScsIDI0MH0sCS8qIPAgKi8KLQl7J3AnLCAnficsIDI0MX0sCS8qIPEgKi8KLQl7J34nLCAnLicsIDI0Mn0sCS8qIPIgKi8KLQl7J2onLCAndScsIDI0M30sCS8qIPMgKi8KLQl7J1AnLCAncCcsIDI0NH0sCS8qIPQgKi8KLQl7JzMnLCAnNCcsIDI0NX0sCS8qIPUgKi8KLQl7Jy0nLCAnLScsIDI0Nn0sCS8qIPYgKi8KLQl7JzEnLCAnNCcsIDI0N30sCS8qIPcgKi8KLQl7JzEnLCAnMicsIDI0OH0sCS8qIPggKi8KLQl7J2EnLCAnXycsIDI0OX0sCS8qIPkgKi8KLQl7J28nLCAnXycsIDI1MH0sCS8qIPogKi8KLQl7JzwnLCAnPCcsIDI1MX0sCS8qIPsgKi8KLQl7J3gnLCAneCcsIDI1Mn0sCS8qIPwgKi8KLQl7Jz4nLCAnPicsIDI1M30sCS8qIP0gKi8KLQl7JysnLCAnLScsIDI1NH0sCS8qIP4gKi8KKyAgICAgICB7eydBJywgJ2AnLCAxNjF9LAkvKiDCoSAqLworCXsnQScsICdeJywgMTYyfSwJLyogwqIgKi8KKwl7J0UnLCAnYCcsIDE2M30sCS8qIMKjICovCisJeydFJywgJ14nLCAxNjR9LAkvKiDCpCAqLworCXsnRScsICciJywgMTY1fSwJLyogwqUgKi8KKwl7J0knLCAnXicsIDE2Nn0sCS8qIMKmICovCisJeydJJywgJyInLCAxNjd9LAkvKiDCpyAqLworCXsnXCcnLCAnXCcnLCAxNjh9LAkvKiDCqCAqLworCXsnYCcsICdgJywgMTY5fSwJLyogwqkgKi8KKwl7J14nLCAnXicsIDE3MH0sCS8qIMKqICovCisJeyciJywgJyInLCAxNzF9LAkvKiDCqyAqLworCXsnficsICd+JywgMTcyfSwJLyogwqwgKi8KKwl7J1UnLCAnYCcsIDE3M30sCS8qIMKtICovCisJeydVJywgJ14nLCAxNzR9LAkvKiDCriAqLworCXsnTCcsICc9JywgMTc1fSwJLyogwq8gKi8KKwl7J34nLCAnXycsIDE3Nn0sCS8qIMKwICovCisJeydZJywgJ1wnJywgMTc3fSwJLyogwrEgKi8KKwl7J3knLCAnXCcnLCAxNzh9LAkvKiDCsiAqLworCXsnficsICdvJywgMTc5fSwJLyogwrMgKi8KKwl7J0MnLCAnLCcsIDE4MH0sCS8qIMK0ICovCisJeydjJywgJywnLCAxODF9LAkvKiDCtSAqLworCXsnTicsICd+JywgMTgyfSwJLyogwrYgKi8KKwl7J24nLCAnficsIDE4M30sCS8qIMK3ICovCisJeyd+JywgJyEnLCAxODR9LAkvKiDCuCAqLworCXsnficsICc/JywgMTg1fSwJLyogwrkgKi8KKwl7J28nLCAneCcsIDE4Nn0sCS8qIMK6ICovCisJeydMJywgJy0nLCAxODd9LAkvKiDCuyAqLworCXsnWScsICc9JywgMTg4fSwJLyogwrwgKi8KKwl7J3AnLCAncCcsIDE4OX0sCS8qIMK9ICovCisJeydmJywgJ2wnLCAxOTB9LAkvKiDCviAqLworCXsnYycsICd8JywgMTkxfSwJLyogwr8gKi8KKwl7J2EnLCAnXicsIDE5Mn0sCS8qIMOAICovCisJeydlJywgJ14nLCAxOTN9LAkvKiDDgSAqLworCXsnbycsICdeJywgMTk0fSwJLyogw4IgKi8KKwl7J3UnLCAnXicsIDE5NX0sCS8qIMODICovCisJeydhJywgJ1wnJywgMTk2fSwJLyogw4QgKi8KKwl7J2UnLCAnXCcnLCAxOTd9LAkvKiDDhSAqLworCXsnbycsICdcJycsIDE5OH0sCS8qIMOGICovCisJeyd1JywgJ1wnJywgMTk5fSwJLyogw4cgKi8KKwl7J2EnLCAnYCcsIDIwMH0sCS8qIMOIICovCisJeydlJywgJ2AnLCAyMDF9LAkvKiDDiSAqLworCXsnbycsICdgJywgMjAyfSwJLyogw4ogKi8KKwl7J3UnLCAnYCcsIDIwM30sCS8qIMOLICovCisJeydhJywgJyInLCAyMDR9LAkvKiDDjCAqLworCXsnZScsICciJywgMjA1fSwJLyogw40gKi8KKwl7J28nLCAnIicsIDIwNn0sCS8qIMOOICovCisJeyd1JywgJyInLCAyMDd9LAkvKiDDjyAqLworCXsnQScsICdvJywgMjA4fSwJLyogw5AgKi8KKwl7J2knLCAnXicsIDIwOX0sCS8qIMORICovCisJeydPJywgJy8nLCAyMTB9LAkvKiDDkiAqLworCXsnQScsICdFJywgMjExfSwJLyogw5MgKi8KKwl7J2EnLCAnbycsIDIxMn0sCS8qIMOUICovCisJeydpJywgJ1wnJywgMjEzfSwJLyogw5UgKi8KKwl7J28nLCAnLycsIDIxNH0sCS8qIMOWICovCisJeydhJywgJ2UnLCAyMTV9LAkvKiDDlyAqLworCXsnQScsICciJywgMjE2fSwJLyogw5ggKi8KKwl7J2knLCAnYCcsIDIxN30sCS8qIMOZICovCisJeydPJywgJyInLCAyMTh9LAkvKiDDmiAqLworCXsnVScsICciJywgMjE5fSwJLyogw5sgKi8KKwl7J0UnLCAnXCcnLCAyMjB9LAkvKiDDnCAqLworCXsnaScsICciJywgMjIxfSwJLyogw50gKi8KKwl7J3MnLCAncycsIDIyMn0sCS8qIMOeICovCisJeydPJywgJ14nLCAyMjN9LAkvKiDDnyAqLworCXsnQScsICdcJycsIDIyNH0sCS8qIMOgICovCisJeydBJywgJ34nLCAyMjV9LAkvKiDDoSAqLworCXsnYScsICd+JywgMjI2fSwJLyogw6IgKi8KKwl7J0QnLCAnLScsIDIyN30sCS8qIMOjICovCisJeydkJywgJy0nLCAyMjh9LAkvKiDDpCAqLworCXsnSScsICdcJycsIDIyOX0sCS8qIMOlICovCisJeydJJywgJ2AnLCAyMzB9LAkvKiDDpiAqLworCXsnTycsICdcJycsIDIzMX0sCS8qIMOnICovCisJeydPJywgJ2AnLCAyMzJ9LAkvKiDDqCAqLworCXsnTycsICd+JywgMjMzfSwJLyogw6kgKi8KKwl7J28nLCAnficsIDIzNH0sCS8qIMOqICovCisJeydTJywgJ34nLCAyMzV9LAkvKiDDqyAqLworCXsncycsICd+JywgMjM2fSwJLyogw6wgKi8KKwl7J1UnLCAnXCcnLCAyMzd9LAkvKiDDrSAqLworCXsnWScsICciJywgMjM4fSwJLyogw64gKi8KKwl7J3knLCAnIicsIDIzOX0sCS8qIMOvICovCisJeydwJywgJy0nLCAyNDB9LAkvKiDDsCAqLworCXsncCcsICd+JywgMjQxfSwJLyogw7EgKi8KKwl7J34nLCAnLicsIDI0Mn0sCS8qIMOyICovCisJeydqJywgJ3UnLCAyNDN9LAkvKiDDsyAqLworCXsnUCcsICdwJywgMjQ0fSwJLyogw7QgKi8KKwl7JzMnLCAnNCcsIDI0NX0sCS8qIMO1ICovCisJeyctJywgJy0nLCAyNDZ9LAkvKiDDtiAqLworCXsnMScsICc0JywgMjQ3fSwJLyogw7cgKi8KKwl7JzEnLCAnMicsIDI0OH0sCS8qIMO4ICovCisJeydhJywgJ18nLCAyNDl9LAkvKiDDuSAqLworCXsnbycsICdfJywgMjUwfSwJLyogw7ogKi8KKwl7JzwnLCAnPCcsIDI1MX0sCS8qIMO7ICovCisJeyd4JywgJ3gnLCAyNTJ9LAkvKiDDvCAqLworCXsnPicsICc+JywgMjUzfSwJLyogw70gKi8KKwl7JysnLCAnLScsIDI1NH0sCS8qIMO+ICovCiAJeyduJywgJ3UnLCAyNTV9LAkvKiB4IFhYICovCiAJe05VTCwgTlVMLCBOVUx9CiAJfTsKQEAgLTIxMSwxMDcgKzIxMSwxMDcgQEAKIAkgKiBFQkNESUMgLSBJU08gZGlncmFwaHMKIAkgKiBUT0RPOiBFQkNESUMgVGFibGUgaXMgQ29kZS1QYWdlIDEwNDcKIAkgKi8KLSAgICAgICB7eydhJywgJ14nLCAgICA2Nn0sCS8qIOIgKi8KLQl7J2EnLCAnIicsICAgIDY3fSwJLyog5CAqLwotCXsnYScsICdgJywgICAgNjh9LAkvKiDgICovCi0JeydhJywgJ1wnJywgICA2OX0sCS8qIOEgKi8KLQl7J2EnLCAnficsICAgIDcwfSwJLyog4yAqLwotCXsnYScsICdAJywgICAgNzF9LAkvKiDlICovCi0JeydhJywgJ2EnLCAgICA3MX0sCS8qIOUgKi8KLQl7J2MnLCAnLCcsICAgIDcyfSwJLyog5yAqLwotCXsnbicsICd+JywgICAgNzN9LAkvKiDxICovCi0JeydjJywgJ3wnLCAgICA3NH0sCS8qIKIgKi8KLQl7J2UnLCAnXCcnLCAgIDgxfSwJLyog6SAqLwotCXsnZScsICdeJywgICAgODJ9LAkvKiDqICovCi0JeydlJywgJyInLCAgICA4M30sCS8qIOsgKi8KLQl7J2UnLCAnYCcsICAgIDg0fSwJLyog6CAqLwotCXsnaScsICdcJycsICAgODV9LAkvKiDtICovCi0JeydpJywgJ14nLCAgICA4Nn0sCS8qIO4gKi8KLQl7J2knLCAnIicsICAgIDg3fSwJLyog7yAqLwotCXsnaScsICdgJywgICAgODh9LAkvKiDsICovCi0JeydzJywgJ3MnLCAgICA4OX0sCS8qIN8gKi8KLQl7J0EnLCAnXicsICAgIDk4fSwJLyogwiAqLwotCXsnQScsICciJywgICAgOTl9LAkvKiDEICovCi0JeydBJywgJ2AnLCAgIDEwMH0sCS8qIMAgKi8KLQl7J0EnLCAnXCcnLCAgMTAxfSwJLyogwSAqLwotCXsnQScsICd+JywgICAxMDJ9LAkvKiDDICovCi0JeydBJywgJ0AnLCAgIDEwM30sCS8qIMUgKi8KLQl7J0EnLCAnQScsICAgMTAzfSwJLyogxSAqLwotCXsnQycsICcsJywgICAxMDR9LAkvKiDHICovCi0JeydOJywgJ34nLCAgIDEwNX0sCS8qINEgKi8KLQl7J3wnLCAnfCcsICAgMTA2fSwJLyogpiAqLwotCXsnbycsICcvJywgICAxMTJ9LAkvKiD4ICovCi0JeydFJywgJ1wnJywgIDExM30sCS8qIMkgKi8KLQl7J0UnLCAnXicsICAgMTE0fSwJLyogyiAqLwotCXsnRScsICciJywgICAxMTV9LAkvKiDLICovCi0JeydFJywgJ2AnLCAgIDExNn0sCS8qIMggKi8KLQl7J0knLCAnXCcnLCAgMTE3fSwJLyogzSAqLwotCXsnSScsICdeJywgICAxMTh9LAkvKiDOICovCi0JeydJJywgJyInLCAgIDExOX0sCS8qIM8gKi8KLQl7J0knLCAnYCcsICAgMTIwfSwJLyogzCAqLworICAgICAgIHt7J2EnLCAnXicsICAgIDY2fSwJLyogw6IgKi8KKwl7J2EnLCAnIicsICAgIDY3fSwJLyogw6QgKi8KKwl7J2EnLCAnYCcsICAgIDY4fSwJLyogw6AgKi8KKwl7J2EnLCAnXCcnLCAgIDY5fSwJLyogw6EgKi8KKwl7J2EnLCAnficsICAgIDcwfSwJLyogw6MgKi8KKwl7J2EnLCAnQCcsICAgIDcxfSwJLyogw6UgKi8KKwl7J2EnLCAnYScsICAgIDcxfSwJLyogw6UgKi8KKwl7J2MnLCAnLCcsICAgIDcyfSwJLyogw6cgKi8KKwl7J24nLCAnficsICAgIDczfSwJLyogw7EgKi8KKwl7J2MnLCAnfCcsICAgIDc0fSwJLyogwqIgKi8KKwl7J2UnLCAnXCcnLCAgIDgxfSwJLyogw6kgKi8KKwl7J2UnLCAnXicsICAgIDgyfSwJLyogw6ogKi8KKwl7J2UnLCAnIicsICAgIDgzfSwJLyogw6sgKi8KKwl7J2UnLCAnYCcsICAgIDg0fSwJLyogw6ggKi8KKwl7J2knLCAnXCcnLCAgIDg1fSwJLyogw60gKi8KKwl7J2knLCAnXicsICAgIDg2fSwJLyogw64gKi8KKwl7J2knLCAnIicsICAgIDg3fSwJLyogw68gKi8KKwl7J2knLCAnYCcsICAgIDg4fSwJLyogw6wgKi8KKwl7J3MnLCAncycsICAgIDg5fSwJLyogw58gKi8KKwl7J0EnLCAnXicsICAgIDk4fSwJLyogw4IgKi8KKwl7J0EnLCAnIicsICAgIDk5fSwJLyogw4QgKi8KKwl7J0EnLCAnYCcsICAgMTAwfSwJLyogw4AgKi8KKwl7J0EnLCAnXCcnLCAgMTAxfSwJLyogw4EgKi8KKwl7J0EnLCAnficsICAgMTAyfSwJLyogw4MgKi8KKwl7J0EnLCAnQCcsICAgMTAzfSwJLyogw4UgKi8KKwl7J0EnLCAnQScsICAgMTAzfSwJLyogw4UgKi8KKwl7J0MnLCAnLCcsICAgMTA0fSwJLyogw4cgKi8KKwl7J04nLCAnficsICAgMTA1fSwJLyogw5EgKi8KKwl7J3wnLCAnfCcsICAgMTA2fSwJLyogwqYgKi8KKwl7J28nLCAnLycsICAgMTEyfSwJLyogw7ggKi8KKwl7J0UnLCAnXCcnLCAgMTEzfSwJLyogw4kgKi8KKwl7J0UnLCAnXicsICAgMTE0fSwJLyogw4ogKi8KKwl7J0UnLCAnIicsICAgMTE1fSwJLyogw4sgKi8KKwl7J0UnLCAnYCcsICAgMTE2fSwJLyogw4ggKi8KKwl7J0knLCAnXCcnLCAgMTE3fSwJLyogw40gKi8KKwl7J0knLCAnXicsICAgMTE4fSwJLyogw44gKi8KKwl7J0knLCAnIicsICAgMTE5fSwJLyogw48gKi8KKwl7J0knLCAnYCcsICAgMTIwfSwJLyogw4wgKi8KIAl7J08nLCAnLycsICAgMTI4fSwJLyogMC8gWFggKi8KLQl7JzwnLCAnPCcsICAgMTM4fSwJLyogqyAqLwotCXsnPicsICc+JywgICAxMzl9LAkvKiC7ICovCi0JeydkJywgJy0nLCAgIDE0MH0sCS8qIPAgKi8KLQl7J3knLCAnXCcnLCAgMTQxfSwJLyog/SAqLwotCXsnaScsICdwJywgICAxNDJ9LAkvKiD+ICovCi0JeycrJywgJy0nLCAgIDE0M30sCS8qILEgKi8KLQl7J34nLCAnbycsICAgMTQ0fSwJLyogsCAqLwotCXsnYScsICctJywgICAxNTR9LAkvKiCqICovCi0JeydvJywgJy0nLCAgIDE1NX0sCS8qILogKi8KLQl7J2EnLCAnZScsICAgMTU2fSwJLyog5iAqLworCXsnPCcsICc8JywgICAxMzh9LAkvKiDCqyAqLworCXsnPicsICc+JywgICAxMzl9LAkvKiDCuyAqLworCXsnZCcsICctJywgICAxNDB9LAkvKiDDsCAqLworCXsneScsICdcJycsICAxNDF9LAkvKiDDvSAqLworCXsnaScsICdwJywgICAxNDJ9LAkvKiDDviAqLworCXsnKycsICctJywgICAxNDN9LAkvKiDCsSAqLworCXsnficsICdvJywgICAxNDR9LAkvKiDCsCAqLworCXsnYScsICctJywgICAxNTR9LAkvKiDCqiAqLworCXsnbycsICctJywgICAxNTV9LAkvKiDCuiAqLworCXsnYScsICdlJywgICAxNTZ9LAkvKiDDpiAqLwogCXsnLCcsICcsJywgICAxNTd9LAkvKiAsIFhYICovCi0JeydBJywgJ0UnLCAgIDE1OH0sCS8qIMYgKi8KLQl7J28nLCAneCcsICAgMTU5fSwJLyogpCAtIGN1cnJlbmN5IHN5bWJvbCBpbiBJU08gODg1OS0xICovCi0JeydlJywgJz0nLCAgIDE1OX0sCS8qIKQgLSBldXJvIHN5bWJvbCBpbiBJU08gODg1OS0xNSAqLwotCXsnRScsICd1JywgICAxNTl9LAkvKiCkIC0gZXVybyBzeW1ib2wgaW4gSVNPIDg4NTktMTUgKi8KLQl7J2onLCAndScsICAgMTYwfSwJLyogtSAqLworCXsnQScsICdFJywgICAxNTh9LAkvKiDDhiAqLworCXsnbycsICd4JywgICAxNTl9LAkvKiDCpCAtIGN1cnJlbmN5IHN5bWJvbCBpbiBJU08gODg1OS0xICovCisJeydlJywgJz0nLCAgIDE1OX0sCS8qIMKkIC0gZXVybyBzeW1ib2wgaW4gSVNPIDg4NTktMTUgKi8KKwl7J0UnLCAndScsICAgMTU5fSwJLyogwqQgLSBldXJvIHN5bWJvbCBpbiBJU08gODg1OS0xNSAqLworCXsnaicsICd1JywgICAxNjB9LAkvKiDCtSAqLwogCXsneScsICciJywgICAxNjd9LAkvKiB4IFhYICovCi0Jeyd+JywgJyEnLCAgIDE3MH0sCS8qIKEgKi8KLQl7J34nLCAnPycsICAgMTcxfSwJLyogvyAqLwotCXsnRCcsICctJywgICAxNzJ9LAkvKiDQICovCi0JeydJJywgJ3AnLCAgIDE3NH0sCS8qIN4gKi8KLQl7J3InLCAnTycsICAgMTc1fSwJLyogriAqLwotCXsnLScsICcsJywgICAxNzZ9LAkvKiCsICovCi0JeyckJywgJyQnLCAgIDE3N30sCS8qIKMgKi8KLQl7J1knLCAnLScsICAgMTc4fSwJLyogpSAqLwotCXsnficsICcuJywgICAxNzl9LAkvKiC3ICovCi0JeydjJywgJ08nLCAgIDE4MH0sCS8qIKkgKi8KLQl7J3AnLCAnYScsICAgMTgxfSwJLyogpyAqLwotCXsncCcsICdwJywgICAxODJ9LAkvKiC2ICovCi0JeycxJywgJzQnLCAgIDE4M30sCS8qILwgKi8KLQl7JzEnLCAnMicsICAgMTg0fSwJLyogvSAqLwotCXsnMycsICc0JywgICAxODV9LAkvKiC+ICovCi0JeydZJywgJ1wnJywgIDE4Nn0sCS8qIN0gKi8KLQl7JyInLCAnIicsICAgMTg3fSwJLyogqCAqLwotCXsnLScsICc9JywgICAxODh9LAkvKiCvICovCi0JeydcJycsICdcJycsIDE5MH0sCS8qILQgKi8KLQl7J08nLCAnRScsICAgMTkxfSwJLyog1yAtIE9FIGluIElTTyA4ODU5LTE1ICovCi0JeycvJywgJ1xcJywgIDE5MX0sCS8qINcgLSBtdWx0aXBsaWNhdGlvbiBzeW1ib2wgaW4gSVNPIDg4NTktMSAqLwotCXsnLScsICctJywgICAyMDJ9LAkvKiCtICovCi0JeydvJywgJ14nLCAgIDIwM30sCS8qIPQgKi8KLQl7J28nLCAnIicsICAgMjA0fSwJLyog9iAqLwotCXsnbycsICdgJywgICAyMDV9LAkvKiDyICovCi0JeydvJywgJ1wnJywgIDIwNn0sCS8qIPMgKi8KLQl7J28nLCAnficsICAgMjA3fSwJLyog9SAqLwotCXsnMScsICcxJywgICAyMTh9LAkvKiC5ICovCi0Jeyd1JywgJ14nLCAgIDIxOX0sCS8qIPsgKi8KLQl7J3UnLCAnIicsICAgMjIwfSwJLyog/CAqLwotCXsndScsICdgJywgICAyMjF9LAkvKiD5ICovCi0Jeyd1JywgJ1wnJywgIDIyMn0sCS8qIPogKi8KLQl7JzonLCAnLScsICAgMjI1fSwJLyog9yAtIGRpdmlzaW9uIHN5bWJvbCBpbiBJU08gODg1OS0xICovCi0JeydvJywgJ2UnLCAgIDIyNX0sCS8qIPcgLSBvZSBpbiBJU08gODg1OS0xNSAqLwotCXsnMicsICcyJywgICAyMzR9LAkvKiCyICovCi0JeydPJywgJ14nLCAgIDIzNX0sCS8qINQgKi8KLQl7J08nLCAnIicsICAgMjM2fSwJLyog1iAqLwotCXsnTycsICdgJywgICAyMzd9LAkvKiDSICovCi0JeydPJywgJ1wnJywgIDIzOH0sCS8qINMgKi8KLQl7J08nLCAnficsICAgMjM5fSwJLyog1SAqLwotCXsnMycsICczJywgICAyNTB9LAkvKiCzICovCi0JeydVJywgJ14nLCAgIDI1MX0sCS8qINsgKi8KLQl7J1UnLCAnIicsICAgMjUyfSwJLyog3CAqLwotCXsnVScsICdgJywgICAyNTN9LAkvKiDZICovCi0JeydVJywgJ1wnJywgIDI1NH0sCS8qINogKi8KKwl7J34nLCAnIScsICAgMTcwfSwJLyogwqEgKi8KKwl7J34nLCAnPycsICAgMTcxfSwJLyogwr8gKi8KKwl7J0QnLCAnLScsICAgMTcyfSwJLyogw5AgKi8KKwl7J0knLCAncCcsICAgMTc0fSwJLyogw54gKi8KKwl7J3InLCAnTycsICAgMTc1fSwJLyogwq4gKi8KKwl7Jy0nLCAnLCcsICAgMTc2fSwJLyogwqwgKi8KKwl7JyQnLCAnJCcsICAgMTc3fSwJLyogwqMgKi8KKwl7J1knLCAnLScsICAgMTc4fSwJLyogwqUgKi8KKwl7J34nLCAnLicsICAgMTc5fSwJLyogwrcgKi8KKwl7J2MnLCAnTycsICAgMTgwfSwJLyogwqkgKi8KKwl7J3AnLCAnYScsICAgMTgxfSwJLyogwqcgKi8KKwl7J3AnLCAncCcsICAgMTgyfSwJLyogwrYgKi8KKwl7JzEnLCAnNCcsICAgMTgzfSwJLyogwrwgKi8KKwl7JzEnLCAnMicsICAgMTg0fSwJLyogwr0gKi8KKwl7JzMnLCAnNCcsICAgMTg1fSwJLyogwr4gKi8KKwl7J1knLCAnXCcnLCAgMTg2fSwJLyogw50gKi8KKwl7JyInLCAnIicsICAgMTg3fSwJLyogwqggKi8KKwl7Jy0nLCAnPScsICAgMTg4fSwJLyogwq8gKi8KKwl7J1wnJywgJ1wnJywgMTkwfSwJLyogwrQgKi8KKwl7J08nLCAnRScsICAgMTkxfSwJLyogw5cgLSBPRSBpbiBJU08gODg1OS0xNSAqLworCXsnLycsICdcXCcsICAxOTF9LAkvKiDDlyAtIG11bHRpcGxpY2F0aW9uIHN5bWJvbCBpbiBJU08gODg1OS0xICovCisJeyctJywgJy0nLCAgIDIwMn0sCS8qIMKtICovCisJeydvJywgJ14nLCAgIDIwM30sCS8qIMO0ICovCisJeydvJywgJyInLCAgIDIwNH0sCS8qIMO2ICovCisJeydvJywgJ2AnLCAgIDIwNX0sCS8qIMOyICovCisJeydvJywgJ1wnJywgIDIwNn0sCS8qIMOzICovCisJeydvJywgJ34nLCAgIDIwN30sCS8qIMO1ICovCisJeycxJywgJzEnLCAgIDIxOH0sCS8qIMK5ICovCisJeyd1JywgJ14nLCAgIDIxOX0sCS8qIMO7ICovCisJeyd1JywgJyInLCAgIDIyMH0sCS8qIMO8ICovCisJeyd1JywgJ2AnLCAgIDIyMX0sCS8qIMO5ICovCisJeyd1JywgJ1wnJywgIDIyMn0sCS8qIMO6ICovCisJeyc6JywgJy0nLCAgIDIyNX0sCS8qIMO3IC0gZGl2aXNpb24gc3ltYm9sIGluIElTTyA4ODU5LTEgKi8KKwl7J28nLCAnZScsICAgMjI1fSwJLyogw7cgLSBvZSBpbiBJU08gODg1OS0xNSAqLworCXsnMicsICcyJywgICAyMzR9LAkvKiDCsiAqLworCXsnTycsICdeJywgICAyMzV9LAkvKiDDlCAqLworCXsnTycsICciJywgICAyMzZ9LAkvKiDDliAqLworCXsnTycsICdgJywgICAyMzd9LAkvKiDDkiAqLworCXsnTycsICdcJycsICAyMzh9LAkvKiDDkyAqLworCXsnTycsICd+JywgICAyMzl9LAkvKiDDlSAqLworCXsnMycsICczJywgICAyNTB9LAkvKiDCsyAqLworCXsnVScsICdeJywgICAyNTF9LAkvKiDDmyAqLworCXsnVScsICciJywgICAyNTJ9LAkvKiDDnCAqLworCXsnVScsICdgJywgICAyNTN9LAkvKiDDmSAqLworCXsnVScsICdcJycsICAyNTR9LAkvKiDDmiAqLwogCXtOVUwsIE5VTCwgTlVMfQogCX07CiAKQEAgLTMyMSwxMDUgKzMyMSwxMDUgQEAKIAkvKgogCSAqIGRpZ3JhcGhzIGNvbXBhdGlibGUgd2l0aCBWaW0gNS54CiAJICovCi0gICAgICAge3snficsICchJywgMTYxfSwJLyogoSAqLwotCXsnYycsICd8JywgMTYyfSwJLyogoiAqLwotCXsnJCcsICckJywgMTYzfSwJLyogoyAqLwotCXsnbycsICd4JywgMTY0fSwJLyogpCAtIGN1cnJlbmN5IHN5bWJvbCBpbiBJU08gODg1OS0xICovCi0JeydlJywgJz0nLCAxNjR9LAkvKiCkIC0gZXVybyBzeW1ib2wgaW4gSVNPIDg4NTktMTUgKi8KLQl7J1knLCAnLScsIDE2NX0sCS8qIKUgKi8KLQl7J3wnLCAnfCcsIDE2Nn0sCS8qIKYgKi8KLQl7J3AnLCAnYScsIDE2N30sCS8qIKcgKi8KLQl7JyInLCAnIicsIDE2OH0sCS8qIKggKi8KLQl7J2MnLCAnTycsIDE2OX0sCS8qIKkgKi8KLQl7J2EnLCAnLScsIDE3MH0sCS8qIKogKi8KLQl7JzwnLCAnPCcsIDE3MX0sCS8qIKsgKi8KLQl7Jy0nLCAnLCcsIDE3Mn0sCS8qIKwgKi8KLQl7Jy0nLCAnLScsIDE3M30sCS8qIK0gKi8KLQl7J3InLCAnTycsIDE3NH0sCS8qIK4gKi8KLQl7Jy0nLCAnPScsIDE3NX0sCS8qIK8gKi8KLQl7J34nLCAnbycsIDE3Nn0sCS8qILAgKi8KLQl7JysnLCAnLScsIDE3N30sCS8qILEgKi8KLQl7JzInLCAnMicsIDE3OH0sCS8qILIgKi8KLQl7JzMnLCAnMycsIDE3OX0sCS8qILMgKi8KLQl7J1wnJywgJ1wnJywgMTgwfSwJLyogtCAqLwotCXsnaicsICd1JywgMTgxfSwJLyogtSAqLwotCXsncCcsICdwJywgMTgyfSwJLyogtiAqLwotCXsnficsICcuJywgMTgzfSwJLyogtyAqLwotCXsnLCcsICcsJywgMTg0fSwJLyoguCAqLwotCXsnMScsICcxJywgMTg1fSwJLyoguSAqLwotCXsnbycsICctJywgMTg2fSwJLyoguiAqLwotCXsnPicsICc+JywgMTg3fSwJLyoguyAqLwotCXsnMScsICc0JywgMTg4fSwJLyogvCAqLwotCXsnMScsICcyJywgMTg5fSwJLyogvSAqLwotCXsnMycsICc0JywgMTkwfSwJLyogviAqLwotCXsnficsICc/JywgMTkxfSwJLyogvyAqLwotCXsnQScsICdgJywgMTkyfSwJLyogwCAqLwotCXsnQScsICdcJycsIDE5M30sCS8qIMEgKi8KLQl7J0EnLCAnXicsIDE5NH0sCS8qIMIgKi8KLQl7J0EnLCAnficsIDE5NX0sCS8qIMMgKi8KLQl7J0EnLCAnIicsIDE5Nn0sCS8qIMQgKi8KLQl7J0EnLCAnQCcsIDE5N30sCS8qIMUgKi8KLQl7J0EnLCAnQScsIDE5N30sCS8qIMUgKi8KLQl7J0EnLCAnRScsIDE5OH0sCS8qIMYgKi8KLQl7J0MnLCAnLCcsIDE5OX0sCS8qIMcgKi8KLQl7J0UnLCAnYCcsIDIwMH0sCS8qIMggKi8KLQl7J0UnLCAnXCcnLCAyMDF9LAkvKiDJICovCi0JeydFJywgJ14nLCAyMDJ9LAkvKiDKICovCi0JeydFJywgJyInLCAyMDN9LAkvKiDLICovCi0JeydJJywgJ2AnLCAyMDR9LAkvKiDMICovCi0JeydJJywgJ1wnJywgMjA1fSwJLyogzSAqLwotCXsnSScsICdeJywgMjA2fSwJLyogziAqLwotCXsnSScsICciJywgMjA3fSwJLyogzyAqLwotCXsnRCcsICctJywgMjA4fSwJLyog0CAqLwotCXsnTicsICd+JywgMjA5fSwJLyog0SAqLwotCXsnTycsICdgJywgMjEwfSwJLyog0iAqLwotCXsnTycsICdcJycsIDIxMX0sCS8qINMgKi8KLQl7J08nLCAnXicsIDIxMn0sCS8qINQgKi8KLQl7J08nLCAnficsIDIxM30sCS8qINUgKi8KLQl7J08nLCAnIicsIDIxNH0sCS8qINYgKi8KLQl7Jy8nLCAnXFwnLCAyMTV9LAkvKiDXIC0gbXVsdGlwbGljYXRpb24gc3ltYm9sIGluIElTTyA4ODU5LTEgKi8KLQl7J08nLCAnRScsIDIxNX0sCS8qINcgLSBPRSBpbiBJU08gODg1OS0xNSAqLwotCXsnTycsICcvJywgMjE2fSwJLyog2CAqLwotCXsnVScsICdgJywgMjE3fSwJLyog2SAqLwotCXsnVScsICdcJycsIDIxOH0sCS8qINogKi8KLQl7J1UnLCAnXicsIDIxOX0sCS8qINsgKi8KLQl7J1UnLCAnIicsIDIyMH0sCS8qINwgKi8KLQl7J1knLCAnXCcnLCAyMjF9LAkvKiDdICovCi0JeydJJywgJ3AnLCAyMjJ9LAkvKiDeICovCi0JeydzJywgJ3MnLCAyMjN9LAkvKiDfICovCi0JeydhJywgJ2AnLCAyMjR9LAkvKiDgICovCi0JeydhJywgJ1wnJywgMjI1fSwJLyog4SAqLwotCXsnYScsICdeJywgMjI2fSwJLyog4iAqLwotCXsnYScsICd+JywgMjI3fSwJLyog4yAqLwotCXsnYScsICciJywgMjI4fSwJLyog5CAqLwotCXsnYScsICdAJywgMjI5fSwJLyog5SAqLwotCXsnYScsICdhJywgMjI5fSwJLyog5SAqLwotCXsnYScsICdlJywgMjMwfSwJLyog5iAqLwotCXsnYycsICcsJywgMjMxfSwJLyog5yAqLwotCXsnZScsICdgJywgMjMyfSwJLyog6CAqLwotCXsnZScsICdcJycsIDIzM30sCS8qIOkgKi8KLQl7J2UnLCAnXicsIDIzNH0sCS8qIOogKi8KLQl7J2UnLCAnIicsIDIzNX0sCS8qIOsgKi8KLQl7J2knLCAnYCcsIDIzNn0sCS8qIOwgKi8KLQl7J2knLCAnXCcnLCAyMzd9LAkvKiDtICovCi0JeydpJywgJ14nLCAyMzh9LAkvKiDuICovCi0JeydpJywgJyInLCAyMzl9LAkvKiDvICovCi0JeydkJywgJy0nLCAyNDB9LAkvKiDwICovCi0JeyduJywgJ34nLCAyNDF9LAkvKiDxICovCi0JeydvJywgJ2AnLCAyNDJ9LAkvKiDyICovCi0JeydvJywgJ1wnJywgMjQzfSwJLyog8yAqLwotCXsnbycsICdeJywgMjQ0fSwJLyog9CAqLwotCXsnbycsICd+JywgMjQ1fSwJLyog9SAqLwotCXsnbycsICciJywgMjQ2fSwJLyog9iAqLwotCXsnOicsICctJywgMjQ3fSwJLyog9yAtIGRpdmlzaW9uIHN5bWJvbCBpbiBJU08gODg1OS0xICovCi0JeydvJywgJ2UnLCAyNDd9LAkvKiD3IC0gb2UgaW4gSVNPIDg4NTktMTUgKi8KLQl7J28nLCAnLycsIDI0OH0sCS8qIPggKi8KLQl7J3UnLCAnYCcsIDI0OX0sCS8qIPkgKi8KLQl7J3UnLCAnXCcnLCAyNTB9LAkvKiD6ICovCi0Jeyd1JywgJ14nLCAyNTF9LAkvKiD7ICovCi0Jeyd1JywgJyInLCAyNTJ9LAkvKiD8ICovCi0Jeyd5JywgJ1wnJywgMjUzfSwJLyog/SAqLwotCXsnaScsICdwJywgMjU0fSwJLyog/iAqLworICAgICAgIHt7J34nLCAnIScsIDE2MX0sCS8qIMKhICovCisJeydjJywgJ3wnLCAxNjJ9LAkvKiDCoiAqLworCXsnJCcsICckJywgMTYzfSwJLyogwqMgKi8KKwl7J28nLCAneCcsIDE2NH0sCS8qIMKkIC0gY3VycmVuY3kgc3ltYm9sIGluIElTTyA4ODU5LTEgKi8KKwl7J2UnLCAnPScsIDE2NH0sCS8qIMKkIC0gZXVybyBzeW1ib2wgaW4gSVNPIDg4NTktMTUgKi8KKwl7J1knLCAnLScsIDE2NX0sCS8qIMKlICovCisJeyd8JywgJ3wnLCAxNjZ9LAkvKiDCpiAqLworCXsncCcsICdhJywgMTY3fSwJLyogwqcgKi8KKwl7JyInLCAnIicsIDE2OH0sCS8qIMKoICovCisJeydjJywgJ08nLCAxNjl9LAkvKiDCqSAqLworCXsnYScsICctJywgMTcwfSwJLyogwqogKi8KKwl7JzwnLCAnPCcsIDE3MX0sCS8qIMKrICovCisJeyctJywgJywnLCAxNzJ9LAkvKiDCrCAqLworCXsnLScsICctJywgMTczfSwJLyogwq0gKi8KKwl7J3InLCAnTycsIDE3NH0sCS8qIMKuICovCisJeyctJywgJz0nLCAxNzV9LAkvKiDCryAqLworCXsnficsICdvJywgMTc2fSwJLyogwrAgKi8KKwl7JysnLCAnLScsIDE3N30sCS8qIMKxICovCisJeycyJywgJzInLCAxNzh9LAkvKiDCsiAqLworCXsnMycsICczJywgMTc5fSwJLyogwrMgKi8KKwl7J1wnJywgJ1wnJywgMTgwfSwJLyogwrQgKi8KKwl7J2onLCAndScsIDE4MX0sCS8qIMK1ICovCisJeydwJywgJ3AnLCAxODJ9LAkvKiDCtiAqLworCXsnficsICcuJywgMTgzfSwJLyogwrcgKi8KKwl7JywnLCAnLCcsIDE4NH0sCS8qIMK4ICovCisJeycxJywgJzEnLCAxODV9LAkvKiDCuSAqLworCXsnbycsICctJywgMTg2fSwJLyogwrogKi8KKwl7Jz4nLCAnPicsIDE4N30sCS8qIMK7ICovCisJeycxJywgJzQnLCAxODh9LAkvKiDCvCAqLworCXsnMScsICcyJywgMTg5fSwJLyogwr0gKi8KKwl7JzMnLCAnNCcsIDE5MH0sCS8qIMK+ICovCisJeyd+JywgJz8nLCAxOTF9LAkvKiDCvyAqLworCXsnQScsICdgJywgMTkyfSwJLyogw4AgKi8KKwl7J0EnLCAnXCcnLCAxOTN9LAkvKiDDgSAqLworCXsnQScsICdeJywgMTk0fSwJLyogw4IgKi8KKwl7J0EnLCAnficsIDE5NX0sCS8qIMODICovCisJeydBJywgJyInLCAxOTZ9LAkvKiDDhCAqLworCXsnQScsICdAJywgMTk3fSwJLyogw4UgKi8KKwl7J0EnLCAnQScsIDE5N30sCS8qIMOFICovCisJeydBJywgJ0UnLCAxOTh9LAkvKiDDhiAqLworCXsnQycsICcsJywgMTk5fSwJLyogw4cgKi8KKwl7J0UnLCAnYCcsIDIwMH0sCS8qIMOIICovCisJeydFJywgJ1wnJywgMjAxfSwJLyogw4kgKi8KKwl7J0UnLCAnXicsIDIwMn0sCS8qIMOKICovCisJeydFJywgJyInLCAyMDN9LAkvKiDDiyAqLworCXsnSScsICdgJywgMjA0fSwJLyogw4wgKi8KKwl7J0knLCAnXCcnLCAyMDV9LAkvKiDDjSAqLworCXsnSScsICdeJywgMjA2fSwJLyogw44gKi8KKwl7J0knLCAnIicsIDIwN30sCS8qIMOPICovCisJeydEJywgJy0nLCAyMDh9LAkvKiDDkCAqLworCXsnTicsICd+JywgMjA5fSwJLyogw5EgKi8KKwl7J08nLCAnYCcsIDIxMH0sCS8qIMOSICovCisJeydPJywgJ1wnJywgMjExfSwJLyogw5MgKi8KKwl7J08nLCAnXicsIDIxMn0sCS8qIMOUICovCisJeydPJywgJ34nLCAyMTN9LAkvKiDDlSAqLworCXsnTycsICciJywgMjE0fSwJLyogw5YgKi8KKwl7Jy8nLCAnXFwnLCAyMTV9LAkvKiDDlyAtIG11bHRpcGxpY2F0aW9uIHN5bWJvbCBpbiBJU08gODg1OS0xICovCisJeydPJywgJ0UnLCAyMTV9LAkvKiDDlyAtIE9FIGluIElTTyA4ODU5LTE1ICovCisJeydPJywgJy8nLCAyMTZ9LAkvKiDDmCAqLworCXsnVScsICdgJywgMjE3fSwJLyogw5kgKi8KKwl7J1UnLCAnXCcnLCAyMTh9LAkvKiDDmiAqLworCXsnVScsICdeJywgMjE5fSwJLyogw5sgKi8KKwl7J1UnLCAnIicsIDIyMH0sCS8qIMOcICovCisJeydZJywgJ1wnJywgMjIxfSwJLyogw50gKi8KKwl7J0knLCAncCcsIDIyMn0sCS8qIMOeICovCisJeydzJywgJ3MnLCAyMjN9LAkvKiDDnyAqLworCXsnYScsICdgJywgMjI0fSwJLyogw6AgKi8KKwl7J2EnLCAnXCcnLCAyMjV9LAkvKiDDoSAqLworCXsnYScsICdeJywgMjI2fSwJLyogw6IgKi8KKwl7J2EnLCAnficsIDIyN30sCS8qIMOjICovCisJeydhJywgJyInLCAyMjh9LAkvKiDDpCAqLworCXsnYScsICdAJywgMjI5fSwJLyogw6UgKi8KKwl7J2EnLCAnYScsIDIyOX0sCS8qIMOlICovCisJeydhJywgJ2UnLCAyMzB9LAkvKiDDpiAqLworCXsnYycsICcsJywgMjMxfSwJLyogw6cgKi8KKwl7J2UnLCAnYCcsIDIzMn0sCS8qIMOoICovCisJeydlJywgJ1wnJywgMjMzfSwJLyogw6kgKi8KKwl7J2UnLCAnXicsIDIzNH0sCS8qIMOqICovCisJeydlJywgJyInLCAyMzV9LAkvKiDDqyAqLworCXsnaScsICdgJywgMjM2fSwJLyogw6wgKi8KKwl7J2knLCAnXCcnLCAyMzd9LAkvKiDDrSAqLworCXsnaScsICdeJywgMjM4fSwJLyogw64gKi8KKwl7J2knLCAnIicsIDIzOX0sCS8qIMOvICovCisJeydkJywgJy0nLCAyNDB9LAkvKiDDsCAqLworCXsnbicsICd+JywgMjQxfSwJLyogw7EgKi8KKwl7J28nLCAnYCcsIDI0Mn0sCS8qIMOyICovCisJeydvJywgJ1wnJywgMjQzfSwJLyogw7MgKi8KKwl7J28nLCAnXicsIDI0NH0sCS8qIMO0ICovCisJeydvJywgJ34nLCAyNDV9LAkvKiDDtSAqLworCXsnbycsICciJywgMjQ2fSwJLyogw7YgKi8KKwl7JzonLCAnLScsIDI0N30sCS8qIMO3IC0gZGl2aXNpb24gc3ltYm9sIGluIElTTyA4ODU5LTEgKi8KKwl7J28nLCAnZScsIDI0N30sCS8qIMO3IC0gb2UgaW4gSVNPIDg4NTktMTUgKi8KKwl7J28nLCAnLycsIDI0OH0sCS8qIMO4ICovCisJeyd1JywgJ2AnLCAyNDl9LAkvKiDDuSAqLworCXsndScsICdcJycsIDI1MH0sCS8qIMO6ICovCisJeyd1JywgJ14nLCAyNTF9LAkvKiDDuyAqLworCXsndScsICciJywgMjUyfSwJLyogw7wgKi8KKwl7J3knLCAnXCcnLCAyNTN9LAkvKiDDvSAqLworCXsnaScsICdwJywgMjU0fSwJLyogw74gKi8KIAl7J3knLCAnIicsIDI1NX0sCS8qIHggWFggKi8KIAl7TlVMLCBOVUwsIE5VTH0KIAl9OwpAQCAtNTExLDE0NyArNTExLDE0NyBAQAogCXsnTicsICdTJywgMHhhMH0sCiAjZGVmaW5lIERHX1NUQVJUX0xBVElOIDB4YTEKIAl7JyEnLCAnSScsIDB4YTF9LAotCXsnficsICchJywgMHhhMX0sCS8vIKEgVmltIDUueCBjb21wYXRpYmxlCisJeyd+JywgJyEnLCAweGExfSwJLy8gwqEgVmltIDUueCBjb21wYXRpYmxlCiAJeydDJywgJ3QnLCAweGEyfSwKLQl7J2MnLCAnfCcsIDB4YTJ9LAkvLyCiIFZpbSA1LnggY29tcGF0aWJsZQorCXsnYycsICd8JywgMHhhMn0sCS8vIMKiIFZpbSA1LnggY29tcGF0aWJsZQogCXsnUCcsICdkJywgMHhhM30sCi0JeyckJywgJyQnLCAweGEzfSwJLy8goyBWaW0gNS54IGNvbXBhdGlibGUKKwl7JyQnLCAnJCcsIDB4YTN9LAkvLyDCoyBWaW0gNS54IGNvbXBhdGlibGUKIAl7J0MnLCAndScsIDB4YTR9LAotCXsnbycsICd4JywgMHhhNH0sCS8vIKQgVmltIDUueCBjb21wYXRpYmxlCisJeydvJywgJ3gnLCAweGE0fSwJLy8gwqQgVmltIDUueCBjb21wYXRpYmxlCiAJeydZJywgJ2UnLCAweGE1fSwKLQl7J1knLCAnLScsIDB4YTV9LAkvLyClIFZpbSA1LnggY29tcGF0aWJsZQorCXsnWScsICctJywgMHhhNX0sCS8vIMKlIFZpbSA1LnggY29tcGF0aWJsZQogCXsnQicsICdCJywgMHhhNn0sCi0Jeyd8JywgJ3wnLCAweGE2fSwJLy8gpiBWaW0gNS54IGNvbXBhdGlibGUKKwl7J3wnLCAnfCcsIDB4YTZ9LAkvLyDCpiBWaW0gNS54IGNvbXBhdGlibGUKIAl7J1MnLCAnRScsIDB4YTd9LAogCXsnXCcnLCAnOicsIDB4YTh9LAogCXsnQycsICdvJywgMHhhOX0sCi0JeydjJywgJ08nLCAweGE5fSwJLy8gqSBWaW0gNS54IGNvbXBhdGlibGUKKwl7J2MnLCAnTycsIDB4YTl9LAkvLyDCqSBWaW0gNS54IGNvbXBhdGlibGUKIAl7Jy0nLCAnYScsIDB4YWF9LAogCXsnPCcsICc8JywgMHhhYn0sCiAJeydOJywgJ08nLCAweGFjfSwKLQl7Jy0nLCAnLCcsIDB4YWN9LAkvLyCsIFZpbSA1LnggY29tcGF0aWJsZQorCXsnLScsICcsJywgMHhhY30sCS8vIMKsIFZpbSA1LnggY29tcGF0aWJsZQogCXsnLScsICctJywgMHhhZH0sCiAJeydSJywgJ2cnLCAweGFlfSwKIAl7J1wnJywgJ20nLCAweGFmfSwKLQl7Jy0nLCAnPScsIDB4YWZ9LAkvLyCvIFZpbSA1LnggY29tcGF0aWJsZQorCXsnLScsICc9JywgMHhhZn0sCS8vIMKvIFZpbSA1LnggY29tcGF0aWJsZQogCXsnRCcsICdHJywgMHhiMH0sCi0Jeyd+JywgJ28nLCAweGIwfSwJLy8gsCBWaW0gNS54IGNvbXBhdGlibGUKKwl7J34nLCAnbycsIDB4YjB9LAkvLyDCsCBWaW0gNS54IGNvbXBhdGlibGUKIAl7JysnLCAnLScsIDB4YjF9LAogCXsnMicsICdTJywgMHhiMn0sCi0JeycyJywgJzInLCAweGIyfSwJLy8gsiBWaW0gNS54IGNvbXBhdGlibGUKKwl7JzInLCAnMicsIDB4YjJ9LAkvLyDCsiBWaW0gNS54IGNvbXBhdGlibGUKIAl7JzMnLCAnUycsIDB4YjN9LAotCXsnMycsICczJywgMHhiM30sCS8vILMgVmltIDUueCBjb21wYXRpYmxlCisJeyczJywgJzMnLCAweGIzfSwJLy8gwrMgVmltIDUueCBjb21wYXRpYmxlCiAJeydcJycsICdcJycsIDB4YjR9LAogCXsnTScsICd5JywgMHhiNX0sCiAJeydQJywgJ0knLCAweGI2fSwKLQl7J3AnLCAncCcsIDB4YjZ9LAkvLyC2IFZpbSA1LnggY29tcGF0aWJsZQorCXsncCcsICdwJywgMHhiNn0sCS8vIMK2IFZpbSA1LnggY29tcGF0aWJsZQogCXsnLicsICdNJywgMHhiN30sCi0Jeyd+JywgJy4nLCAweGI3fSwJLy8gtyBWaW0gNS54IGNvbXBhdGlibGUKKwl7J34nLCAnLicsIDB4Yjd9LAkvLyDCtyBWaW0gNS54IGNvbXBhdGlibGUKIAl7J1wnJywgJywnLCAweGI4fSwKIAl7JzEnLCAnUycsIDB4Yjl9LAotCXsnMScsICcxJywgMHhiOX0sCS8vILkgVmltIDUueCBjb21wYXRpYmxlCisJeycxJywgJzEnLCAweGI5fSwJLy8gwrkgVmltIDUueCBjb21wYXRpYmxlCiAJeyctJywgJ28nLCAweGJhfSwKIAl7Jz4nLCAnPicsIDB4YmJ9LAogCXsnMScsICc0JywgMHhiY30sCiAJeycxJywgJzInLCAweGJkfSwKIAl7JzMnLCAnNCcsIDB4YmV9LAogCXsnPycsICdJJywgMHhiZn0sCi0Jeyd+JywgJz8nLCAweGJmfSwJLy8gvyBWaW0gNS54IGNvbXBhdGlibGUKKwl7J34nLCAnPycsIDB4YmZ9LAkvLyDCvyBWaW0gNS54IGNvbXBhdGlibGUKIAl7J0EnLCAnIScsIDB4YzB9LAotCXsnQScsICdgJywgMHhjMH0sCS8vIMAgVmltIDUueCBjb21wYXRpYmxlCisJeydBJywgJ2AnLCAweGMwfSwJLy8gw4AgVmltIDUueCBjb21wYXRpYmxlCiAJeydBJywgJ1wnJywgMHhjMX0sCiAJeydBJywgJz4nLCAweGMyfSwKLQl7J0EnLCAnXicsIDB4YzJ9LAkvLyDCIFZpbSA1LnggY29tcGF0aWJsZQorCXsnQScsICdeJywgMHhjMn0sCS8vIMOCIFZpbSA1LnggY29tcGF0aWJsZQogCXsnQScsICc/JywgMHhjM30sCi0JeydBJywgJ34nLCAweGMzfSwJLy8gwyBWaW0gNS54IGNvbXBhdGlibGUKKwl7J0EnLCAnficsIDB4YzN9LAkvLyDDgyBWaW0gNS54IGNvbXBhdGlibGUKIAl7J0EnLCAnOicsIDB4YzR9LAotCXsnQScsICciJywgMHhjNH0sCS8vIMQgVmltIDUueCBjb21wYXRpYmxlCisJeydBJywgJyInLCAweGM0fSwJLy8gw4QgVmltIDUueCBjb21wYXRpYmxlCiAJeydBJywgJ0EnLCAweGM1fSwKLQl7J0EnLCAnQCcsIDB4YzV9LAkvLyDFIFZpbSA1LnggY29tcGF0aWJsZQorCXsnQScsICdAJywgMHhjNX0sCS8vIMOFIFZpbSA1LnggY29tcGF0aWJsZQogCXsnQScsICdFJywgMHhjNn0sCiAJeydDJywgJywnLCAweGM3fSwKIAl7J0UnLCAnIScsIDB4Yzh9LAotCXsnRScsICdgJywgMHhjOH0sCS8vIMggVmltIDUueCBjb21wYXRpYmxlCisJeydFJywgJ2AnLCAweGM4fSwJLy8gw4ggVmltIDUueCBjb21wYXRpYmxlCiAJeydFJywgJ1wnJywgMHhjOX0sCiAJeydFJywgJz4nLCAweGNhfSwKLQl7J0UnLCAnXicsIDB4Y2F9LAkvLyDKIFZpbSA1LnggY29tcGF0aWJsZQorCXsnRScsICdeJywgMHhjYX0sCS8vIMOKIFZpbSA1LnggY29tcGF0aWJsZQogCXsnRScsICc6JywgMHhjYn0sCi0JeydFJywgJyInLCAweGNifSwJLy8gyyBWaW0gNS54IGNvbXBhdGlibGUKKwl7J0UnLCAnIicsIDB4Y2J9LAkvLyDDiyBWaW0gNS54IGNvbXBhdGlibGUKIAl7J0knLCAnIScsIDB4Y2N9LAotCXsnSScsICdgJywgMHhjY30sCS8vIMwgVmltIDUueCBjb21wYXRpYmxlCisJeydJJywgJ2AnLCAweGNjfSwJLy8gw4wgVmltIDUueCBjb21wYXRpYmxlCiAJeydJJywgJ1wnJywgMHhjZH0sCiAJeydJJywgJz4nLCAweGNlfSwKLQl7J0knLCAnXicsIDB4Y2V9LAkvLyDOIFZpbSA1LnggY29tcGF0aWJsZQorCXsnSScsICdeJywgMHhjZX0sCS8vIMOOIFZpbSA1LnggY29tcGF0aWJsZQogCXsnSScsICc6JywgMHhjZn0sCi0JeydJJywgJyInLCAweGNmfSwJLy8gzyBWaW0gNS54IGNvbXBhdGlibGUKKwl7J0knLCAnIicsIDB4Y2Z9LAkvLyDDjyBWaW0gNS54IGNvbXBhdGlibGUKIAl7J0QnLCAnLScsIDB4ZDB9LAogCXsnTicsICc/JywgMHhkMX0sCi0JeydOJywgJ34nLCAweGQxfSwJLy8g0SBWaW0gNS54IGNvbXBhdGlibGUKKwl7J04nLCAnficsIDB4ZDF9LAkvLyDDkSBWaW0gNS54IGNvbXBhdGlibGUKIAl7J08nLCAnIScsIDB4ZDJ9LAotCXsnTycsICdgJywgMHhkMn0sCS8vINIgVmltIDUueCBjb21wYXRpYmxlCisJeydPJywgJ2AnLCAweGQyfSwJLy8gw5IgVmltIDUueCBjb21wYXRpYmxlCiAJeydPJywgJ1wnJywgMHhkM30sCiAJeydPJywgJz4nLCAweGQ0fSwKLQl7J08nLCAnXicsIDB4ZDR9LAkvLyDUIFZpbSA1LnggY29tcGF0aWJsZQorCXsnTycsICdeJywgMHhkNH0sCS8vIMOUIFZpbSA1LnggY29tcGF0aWJsZQogCXsnTycsICc/JywgMHhkNX0sCi0JeydPJywgJ34nLCAweGQ1fSwJLy8g1SBWaW0gNS54IGNvbXBhdGlibGUKKwl7J08nLCAnficsIDB4ZDV9LAkvLyDDlSBWaW0gNS54IGNvbXBhdGlibGUKIAl7J08nLCAnOicsIDB4ZDZ9LAogCXsnKicsICdYJywgMHhkN30sCi0JeycvJywgJ1xcJywgMHhkN30sCS8vINcgVmltIDUueCBjb21wYXRpYmxlCisJeycvJywgJ1xcJywgMHhkN30sCS8vIMOXIFZpbSA1LnggY29tcGF0aWJsZQogCXsnTycsICcvJywgMHhkOH0sCiAJeydVJywgJyEnLCAweGQ5fSwKLQl7J1UnLCAnYCcsIDB4ZDl9LAkvLyDZIFZpbSA1LnggY29tcGF0aWJsZQorCXsnVScsICdgJywgMHhkOX0sCS8vIMOZIFZpbSA1LnggY29tcGF0aWJsZQogCXsnVScsICdcJycsIDB4ZGF9LAogCXsnVScsICc+JywgMHhkYn0sCi0JeydVJywgJ14nLCAweGRifSwJLy8g2yBWaW0gNS54IGNvbXBhdGlibGUKKwl7J1UnLCAnXicsIDB4ZGJ9LAkvLyDDmyBWaW0gNS54IGNvbXBhdGlibGUKIAl7J1UnLCAnOicsIDB4ZGN9LAogCXsnWScsICdcJycsIDB4ZGR9LAogCXsnVCcsICdIJywgMHhkZX0sCi0JeydJJywgJ3AnLCAweGRlfSwJLy8g3iBWaW0gNS54IGNvbXBhdGlibGUKKwl7J0knLCAncCcsIDB4ZGV9LAkvLyDDniBWaW0gNS54IGNvbXBhdGlibGUKIAl7J3MnLCAncycsIDB4ZGZ9LAogCXsnYScsICchJywgMHhlMH0sCi0JeydhJywgJ2AnLCAweGUwfSwJLy8g4CBWaW0gNS54IGNvbXBhdGlibGUKKwl7J2EnLCAnYCcsIDB4ZTB9LAkvLyDDoCBWaW0gNS54IGNvbXBhdGlibGUKIAl7J2EnLCAnXCcnLCAweGUxfSwKIAl7J2EnLCAnPicsIDB4ZTJ9LAotCXsnYScsICdeJywgMHhlMn0sCS8vIOIgVmltIDUueCBjb21wYXRpYmxlCisJeydhJywgJ14nLCAweGUyfSwJLy8gw6IgVmltIDUueCBjb21wYXRpYmxlCiAJeydhJywgJz8nLCAweGUzfSwKLQl7J2EnLCAnficsIDB4ZTN9LAkvLyDjIFZpbSA1LnggY29tcGF0aWJsZQorCXsnYScsICd+JywgMHhlM30sCS8vIMOjIFZpbSA1LnggY29tcGF0aWJsZQogCXsnYScsICc6JywgMHhlNH0sCi0JeydhJywgJyInLCAweGU0fSwJLy8g5CBWaW0gNS54IGNvbXBhdGlibGUKKwl7J2EnLCAnIicsIDB4ZTR9LAkvLyDDpCBWaW0gNS54IGNvbXBhdGlibGUKIAl7J2EnLCAnYScsIDB4ZTV9LAotCXsnYScsICdAJywgMHhlNX0sCS8vIOUgVmltIDUueCBjb21wYXRpYmxlCisJeydhJywgJ0AnLCAweGU1fSwJLy8gw6UgVmltIDUueCBjb21wYXRpYmxlCiAJeydhJywgJ2UnLCAweGU2fSwKIAl7J2MnLCAnLCcsIDB4ZTd9LAogCXsnZScsICchJywgMHhlOH0sCi0JeydlJywgJ2AnLCAweGU4fSwJLy8g6CBWaW0gNS54IGNvbXBhdGlibGUKKwl7J2UnLCAnYCcsIDB4ZTh9LAkvLyDDqCBWaW0gNS54IGNvbXBhdGlibGUKIAl7J2UnLCAnXCcnLCAweGU5fSwKIAl7J2UnLCAnPicsIDB4ZWF9LAotCXsnZScsICdeJywgMHhlYX0sCS8vIOogVmltIDUueCBjb21wYXRpYmxlCisJeydlJywgJ14nLCAweGVhfSwJLy8gw6ogVmltIDUueCBjb21wYXRpYmxlCiAJeydlJywgJzonLCAweGVifSwKLQl7J2UnLCAnIicsIDB4ZWJ9LAkvLyDrIFZpbSA1LnggY29tcGF0aWJsZQorCXsnZScsICciJywgMHhlYn0sCS8vIMOrIFZpbSA1LnggY29tcGF0aWJsZQogCXsnaScsICchJywgMHhlY30sCi0JeydpJywgJ2AnLCAweGVjfSwJLy8g7CBWaW0gNS54IGNvbXBhdGlibGUKKwl7J2knLCAnYCcsIDB4ZWN9LAkvLyDDrCBWaW0gNS54IGNvbXBhdGlibGUKIAl7J2knLCAnXCcnLCAweGVkfSwKIAl7J2knLCAnPicsIDB4ZWV9LAotCXsnaScsICdeJywgMHhlZX0sCS8vIO4gVmltIDUueCBjb21wYXRpYmxlCisJeydpJywgJ14nLCAweGVlfSwJLy8gw64gVmltIDUueCBjb21wYXRpYmxlCiAJeydpJywgJzonLCAweGVmfSwKIAl7J2QnLCAnLScsIDB4ZjB9LAogCXsnbicsICc/JywgMHhmMX0sCi0JeyduJywgJ34nLCAweGYxfSwJLy8g8SBWaW0gNS54IGNvbXBhdGlibGUKKwl7J24nLCAnficsIDB4ZjF9LAkvLyDDsSBWaW0gNS54IGNvbXBhdGlibGUKIAl7J28nLCAnIScsIDB4ZjJ9LAotCXsnbycsICdgJywgMHhmMn0sCS8vIPIgVmltIDUueCBjb21wYXRpYmxlCisJeydvJywgJ2AnLCAweGYyfSwJLy8gw7IgVmltIDUueCBjb21wYXRpYmxlCiAJeydvJywgJ1wnJywgMHhmM30sCiAJeydvJywgJz4nLCAweGY0fSwKLQl7J28nLCAnXicsIDB4ZjR9LAkvLyD0IFZpbSA1LnggY29tcGF0aWJsZQorCXsnbycsICdeJywgMHhmNH0sCS8vIMO0IFZpbSA1LnggY29tcGF0aWJsZQogCXsnbycsICc/JywgMHhmNX0sCi0JeydvJywgJ34nLCAweGY1fSwJLy8g9SBWaW0gNS54IGNvbXBhdGlibGUKKwl7J28nLCAnficsIDB4ZjV9LAkvLyDDtSBWaW0gNS54IGNvbXBhdGlibGUKIAl7J28nLCAnOicsIDB4ZjZ9LAogCXsnLScsICc6JywgMHhmN30sCiAJeydvJywgJy8nLCAweGY4fSwKIAl7J3UnLCAnIScsIDB4Zjl9LAotCXsndScsICdgJywgMHhmOX0sCS8vIPkgVmltIDUueCBjb21wYXRpYmxlCisJeyd1JywgJ2AnLCAweGY5fSwJLy8gw7kgVmltIDUueCBjb21wYXRpYmxlCiAJeyd1JywgJ1wnJywgMHhmYX0sCiAJeyd1JywgJz4nLCAweGZifSwKLQl7J3UnLCAnXicsIDB4ZmJ9LAkvLyD7IFZpbSA1LnggY29tcGF0aWJsZQorCXsndScsICdeJywgMHhmYn0sCS8vIMO7IFZpbSA1LnggY29tcGF0aWJsZQogCXsndScsICc6JywgMHhmY30sCiAJeyd5JywgJ1wnJywgMHhmZH0sCiAJeyd0JywgJ2gnLCAweGZlfSwKZGlmZiAtLWdpdCBhL3NyYy9oYW5ndWxpbi5jIGIvc3JjL2hhbmd1bGluLmMKaW5kZXggMzM3ZWE4NC4uMTcxNDJkYSAxMDA2NDQKLS0tIGEvc3JjL2hhbmd1bGluLmMKKysrIGIvc3JjL2hhbmd1bGluLmMKQEAgLTIwLDkgKzIwLDkgQEAKICNkZWZpbmUgQVVUT01BVEFfRVJST1IJCTQKICNkZWZpbmUgQVVUT01BVEFfTlVMTAkJNQogCi0jZGVmaW5lIEZfRgkweDEJLyogw8q8uiAoaW5pdGlhbCBzb3VuZCkgKi8KLSNkZWZpbmUgRl9NCTB4MgkvKiDB37y6IChtZWRpYWwgdm93ZWwpICovCi0jZGVmaW5lIEZfTAkweDQJLyogwb68uiAoZmluYWwgY29uc29uYW50KSAqLworI2RlZmluZSBGX0YJMHgxCS8qIOy0iOyEsSAoaW5pdGlhbCBzb3VuZCkgKi8KKyNkZWZpbmUgRl9NCTB4MgkvKiDspJHshLEgKG1lZGlhbCB2b3dlbCkgKi8KKyNkZWZpbmUgRl9MCTB4NAkvKiDsooXshLEgKGZpbmFsIGNvbnNvbmFudCkgKi8KICNkZWZpbmUgRl9BCTB4OAkvKiBBU0NJSSAqLwogI2RlZmluZSBGX05VTEwgMQogI2RlZmluZSBNX05VTEwgMgpAQCAtNDYsMTAgKzQ2LDEwIEBACiAKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKioqKioqIDMgufq9xMDaxsfAuyDAp8fRILfnxr4gIChSb3V0aW5lcyBmb3IgMyBidWxzaWsga2V5Ym9hcmQpICoqKioqKi8KKy8qKioqKiogMyDrsozsi53snpDtjJDsnYQg7JyE7ZWcIOujqO2LtCAgKFJvdXRpbmVzIGZvciAzIGJ1bHNpayBrZXlib2FyZCkgKioqKioqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLS8qIDMgufq9xL+hvK0gwNrGxyC6r8ivICgzIGJ1bHNpayBrZXlib2FyZCBjb252ZXJzaW9uKSAqLworLyogMyDrsozsi53sl5DshJwg7J6Q7YyQIOuzgO2ZmCAoMyBidWxzaWsga2V5Ym9hcmQgY29udmVyc2lvbikgKi8KIAogc3RhdGljIGNoYXJfdSB2YWx1ZV90YWJsZV9mb3JfM1tdID0KIHsKQEAgLTg5LDcgKzg5LDcgQEAKICAgICBGX0YsIEZfTSwgRl9MLCBGX0wsIEZfRiwgRl9MLAkvKiB1IHYgdyB4IHkgeiAqLwogfTsKIAotLyogMyC5+r3Ev6G8rSAox/bA58PKvLosIMDUt8K/tbmuKSAtPiC6ucfVw8q8uiDDs7iuCisvKiAzIOuyjOyLneyXkOyEnCAo7ZiE7J6s7LSI7ISxLCDsnoXroKXsmIHrrLgpIC0+IOuzte2Vqey0iOyEsSDsspjrpqwKICAqIDMgYnVsc2lrOiAoY3VycmVudCBpbml0aWFsIHNvdW5kLCBpbnB1dCBlbmdsaXNoKSAtPiBjb21wb3VuZCBpbml0aWFsIHNvdW5kLgogICovCiAKQEAgLTEwOSw3ICsxMDksNyBAQAogICAgIHJldHVybiAwOwogfQogCi0vKiAzILn6vcS/obytICjH9sDnuPDAvSwgwNS3wiC/tbmuKSAtPiC6ucfVILjwwL0gw7O4rgorLyogMyDrsozsi53sl5DshJwgKO2YhOyerOuqqOydjCwg7J6F66ClIOyYgeusuCkgLT4g67O17ZWpIOuqqOydjCDsspjrpqwKICAqIDMgYnVsc2lrOiAoY3VycmVudCB2b3dlbCwgaW5wdXQgZW5nbGlzaCkgLT4gY29tcG91bmQgdm93ZWwuCiAgKi8KIApAQCAtMTE4LDM0ICsxMTgsMzQgQEAKIHsKICAgICBzd2l0Y2ggKHYpCiAgICAgewotCWNhc2UgMTM6CQkJCQkvKiCkxyAqLworCWNhc2UgMTM6CQkJCQkvKiDjhZcgKi8KIAkgICAgc3dpdGNoIChjKSB7Ci0JCWNhc2UgMzoJCQkJCS8qIKTHpL8gKi8KKwkJY2FzZSAzOgkJCQkJLyog44WX44WPICovCiAJCSAgICByZXR1cm4gMTQ7Ci0JCWNhc2UgNDoJCQkJCS8qIKTHpMAgKi8KKwkJY2FzZSA0OgkJCQkJLyog44WX44WQICovCiAJCSAgICByZXR1cm4gMTU7Ci0JCWNhc2UgMjk6CQkJCS8qIKTHpNMgKi8KKwkJY2FzZSAyOToJCQkJLyog44WX44WjICovCiAJCSAgICByZXR1cm4gMTg7CiAJICAgIH0KIAkgICAgYnJlYWs7CiAKLQljYXNlIDIwOgkJCQkJLyogpMwgKi8KKwljYXNlIDIwOgkJCQkJLyog44WcICovCiAJICAgIHN3aXRjaCAoYykgewotCQljYXNlIDc6CQkJCQkvKiCkzKTDICovCisJCWNhc2UgNzoJCQkJCS8qIOOFnOOFkyAqLwogCQkgICAgcmV0dXJuIDIxOwotCQljYXNlIDEwOgkJCQkvKiCkzKTEICovCisJCWNhc2UgMTA6CQkJCS8qIOOFnOOFlCAqLwogCQkgICAgcmV0dXJuIDIyOwotCQljYXNlIDI5OgkJCQkvKiCkzKTTICovCisJCWNhc2UgMjk6CQkJCS8qIOOFnOOFoyAqLwogCQkgICAgcmV0dXJuIDIzOwogCSAgICB9CiAJICAgIGJyZWFrOwogCi0JICAgIC8qIDMgufq9xCDA2sbHwLogpNGk0yCwoSDA1sC4uce3ziAuLi4gKi8KKwkgICAgLyogMyDrsozsi50g7J6Q7YyQ7J2AIOOFoeOFoyDqsIAg7J6I7Jy866+A66GcIC4uLiAqLwogICAgIH0KICAgICByZXR1cm4gMDsKIH0KIAotLyogMyC5+r3Ev6G8rSAox/bA5yC53sSnLCC/tbmuwNogwNS3wikgLT4gud7EpworLyogMyDrsozsi53sl5DshJwgKO2YhOyerCDrsJvsuagsIOyYgeusuOyekCDsnoXroKUpIC0+IOuwm+y5qAogICogMyBidWxzaWs6IChjdXJyZW50IHByb3AoPyksIGlucHV0IGVuZ2xpc2gpIC0+IHByb3AoPykuCiAgKiBJIHdhbnQgdG8gc2F5LCB0aGUgJ3Byb3AnIGlzIHNpbWlsYXIgdG8gJ2ZpbmFsIGNvbnNvbmFudCcsIGJ1dCBub3Qgdm93ZWwuCiAgKiAoSSBjYW5ub3QgZmluZCB0aGUgcmVhbCBlbmdsaXNoIGZyb20gbXkgZGljdGlvbmFyeS4gU29ycnkhKQpAQCAtMTU3LDQ2ICsxNTcsNDYgQEAKIHsKICAgICBzd2l0Y2ggKGspCiAgICAgewotCWNhc2UgMjoJCQkJCQkvKiCkoSAqLworCWNhc2UgMjoJCQkJCQkvKiDjhLEgKi8KIAkgICAgc3dpdGNoIChjKSB7CiAJCWNhc2UgMjoKLQkJICAgIHJldHVybiAzOwkJCQkvKiCkoaShICovCisJCSAgICByZXR1cm4gMzsJCQkJLyog44Sx44SxICovCiAJCWNhc2UgMjE6Ci0JCSAgICByZXR1cm4gNDsJCQkJLyogpKGktSAqLworCQkgICAgcmV0dXJuIDQ7CQkJCS8qIOOEseOFhSAqLwogCSAgICB9CiAJICAgIGJyZWFrOwogCi0JY2FzZSA1OgkJCQkJCS8qIKSkICovCisJY2FzZSA1OgkJCQkJCS8qIOOEtCAqLwogCSAgICBzd2l0Y2ggKGMpIHsKLQkJY2FzZSAyNDoJCQkJLyogpKSkuCAqLworCQljYXNlIDI0OgkJCQkvKiDjhLTjhYggKi8KIAkJICAgIHJldHVybiA2OwogCQljYXNlIDI5OgotCQkgICAgcmV0dXJuIDc7CQkJCS8qIKSkpL4gKi8KKwkJICAgIHJldHVybiA3OwkJCQkvKiDjhLTjhY4gKi8KIAkgICAgfQogCSAgICBicmVhazsKIAotCWNhc2UgOToJCQkJCQkvKiCkqSAqLworCWNhc2UgOToJCQkJCQkvKiDjhLkgKi8KIAkgICAgc3dpdGNoIChjKSB7Ci0JCWNhc2UgMjoJCQkJCS8qIKSppKEgKi8KKwkJY2FzZSAyOgkJCQkJLyog44S544SxICovCiAJCSAgICByZXR1cm4gMTA7Ci0JCWNhc2UgMTc6CQkJCS8qIKSppLEgKi8KKwkJY2FzZSAxNzoJCQkJLyog44S544WBICovCiAJCSAgICByZXR1cm4gMTE7Ci0JCWNhc2UgMTk6CQkJCS8qIKSppLIgKi8KKwkJY2FzZSAxOToJCQkJLyog44S544WCICovCiAJCSAgICByZXR1cm4gMTI7Ci0JCWNhc2UgMjE6CQkJCS8qIKSppLUgKi8KKwkJY2FzZSAyMToJCQkJLyog44S544WFICovCiAJCSAgICByZXR1cm4gMTM7Ci0JCWNhc2UgMjc6CQkJCS8qIKSppLwgKi8KKwkJY2FzZSAyNzoJCQkJLyog44S544WMICovCiAJCSAgICByZXR1cm4gMTQ7Ci0JCWNhc2UgMjg6CQkJCS8qIKSppL0gKi8KKwkJY2FzZSAyODoJCQkJLyog44S544WNICovCiAJCSAgICByZXR1cm4gMTU7Ci0JCWNhc2UgMjk6CQkJCS8qIKSppL4gKi8KKwkJY2FzZSAyOToJCQkJLyog44S544WOICovCiAJCSAgICByZXR1cm4gMTY7CiAJICAgIH0KIAkgICAgYnJlYWs7CiAKIAljYXNlIDE5OgogCSAgICBzd2l0Y2ggKGMpIHsKLQkJY2FzZSAyMToJCQkJLyogpLKktSAqLworCQljYXNlIDIxOgkJCQkvKiDjhYLjhYUgKi8KIAkJICAgIHJldHVybiAyMDsKIAkgICAgfQogCSAgICBicmVhazsKQEAgLTIwNSw3ICsyMDUsNyBAQAogfQogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qKioqKiogMiC5+r3EwNrGx8C7IMCnx9Egt+fGviAgKFJvdXRpbmVzIGZvciAyIGJ1bHNpayBrZXlib2FyZCkgKioqKioqLworLyoqKioqKiAyIOuyjOyLneyekO2MkOydhCDsnITtlZwg66Oo7Yu0ICAoUm91dGluZXMgZm9yIDIgYnVsc2lrIGtleWJvYXJkKSAqKioqKiovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogICAgIHN0YXRpYyBpbnQKQEAgLTIyNyw5ICsyMjcsOSBAQAogICAgIHJldHVybiB0YWJsZVtjXTsKIH0KIAotLyogMiC5+r3Ev6G8rSC/tbmuwNogLT4gwbbH1cf8IMPKvLoguq/IrworLyogMiDrsozsi53sl5DshJwg7JiB66y47J6QIC0+IOyhsO2Vqe2YlSDstIjshLEg67OA7ZmYCiAgKiAoMiBidWxzaWs6IGNvbnZlcnNpb24gZW5nbGlzaCBjaGFyLiB0byBpbml0aWFsIHNvdW5kIG9mIGNvbXBvdW5kIHR5cGUpCi0gKiCw4bD6OiDDyry6wMwgvsa0z7jpIDAgKElmIGl0IGlzIG5vdCBpbml0aWFsIHNvdW5kLCByZXR1cm4gMCkuCisgKiDqsrDqs7w6IOy0iOyEseydtCDslYTri4jrqbQgMCAoSWYgaXQgaXMgbm90IGluaXRpYWwgc291bmQsIHJldHVybiAwKS4KICAqLwogICAgIHN0YXRpYyBpbnQKIGZjb24oaW50IGMpCkBAIC0yNTEsOSArMjUxLDkgQEAKICAgICByZXR1cm4gdGFibGVbYyAtICdFJ107CiB9CiAKLS8qIDIgufq9xL+hvK0gv7W5rsDaIC0+IMHfvLoguq/IrworLyogMiDrsozsi53sl5DshJwg7JiB66y47J6QIC0+IOykkeyEsSDrs4DtmZgKICAqICgyIGJ1bHNpazogY29udmVyc2lvbiBlbmdsaXNoIGNoYXIuIHRvIG1lZGlhbCB2b3dlbCkKLSAqILDhsPo6IMHfvLrAzCC+xrTPuOkgMCAoSWYgaXQgaXMgbm90IG1lZGlhbCB2b3dlbCwgcmV0dXJuIDApLgorICog6rKw6rO8OiDspJHshLHsnbQg7JWE64uI66m0IDAgKElmIGl0IGlzIG5vdCBtZWRpYWwgdm93ZWwsIHJldHVybiAwKS4KICAqLwogICAgIHN0YXRpYyBpbnQKIHZvdyhpbnQgYykKQEAgLTI3Myw5ICsyNzMsOSBAQAogICAgIHJldHVybiB0YWJsZVtjIC0gJ08nXTsKIH0KIAotLyogMrn6vcS/obytIL+1ua7A2iAtPiC53sSnILqvyK8KKy8qIDLrsozsi53sl5DshJwg7JiB66y47J6QIC0+IOuwm+y5qCDrs4DtmZgKICAqICgyIGJ1bHNpazogY29udmVyc2lvbiBlbmdsaXNoIGNoYXIuIHRvIHByb3ApCi0gKiCw4bD6OiC53sSnwMwgvsa0z7jpIDAgKElmIG5vdCBwcm9wLCByZXR1cm4gMCkKKyAqIOqysOqzvDog67Cb7Lmo7J20IOyVhOuLiOuptCAwIChJZiBub3QgcHJvcCwgcmV0dXJuIDApCiAgKi8KICAgICBzdGF0aWMgaW50CiBsY29uKGludCBjKQpAQCAtMjk1LDcgKzI5NSw3IEBACiAgICAgcmV0dXJuIHRhYmxlW2MgLSAnUiddOwogfQogCi0vKiAyILn6vcS/obytICjH9sDnILnexKcsIL+1ua7A2iDA1LfCKSAtPiC53sSnILqvyK8KKy8qIDIg67KM7Iud7JeQ7IScICjtmITsnqwg67Cb7LmoLCDsmIHrrLjsnpAg7J6F66ClKSAtPiDrsJvsuagg67OA7ZmYCiAgKiAoMiBidWxzaWs6IGNvbnZlcnNpb24gKGN1cnIuIHByb3AsIGlucHV0IGVuZ2xpc2gpIHRvIHByb3ApCiAgKi8KIApAQCAtMzA0LDQ0ICszMDQsNDQgQEAKIHsKICAgICBzd2l0Y2ggKGspCiAgICAgewotCWNhc2UgMjoJCQkJCS8qIKShICovCisJY2FzZSAyOgkJCQkJLyog44SxICovCiAJICAgIHN3aXRjaCAoYykgewogCQljYXNlICd0JzoKLQkJICAgIHJldHVybiA0OwkJCS8qIKShpLUgKi8KKwkJICAgIHJldHVybiA0OwkJCS8qIOOEseOFhSAqLwogCSAgICB9CiAJICAgIGJyZWFrOwogCi0JY2FzZSA1OgkJCQkJLyogpKQgKi8KKwljYXNlIDU6CQkJCQkvKiDjhLQgKi8KIAkgICAgc3dpdGNoIChjKSB7Ci0JCWNhc2UgJ3cnOgkJCS8qIKSkpLggKi8KKwkJY2FzZSAndyc6CQkJLyog44S044WIICovCiAJCSAgICByZXR1cm4gNjsKLQkJY2FzZSAnZyc6CQkJLyogpKSkviAqLworCQljYXNlICdnJzoJCQkvKiDjhLTjhY4gKi8KIAkJICAgIHJldHVybiA3OwogCSAgICB9CiAJICAgIGJyZWFrOwogCi0JY2FzZSA5OgkJCQkJLyogpKkgKi8KKwljYXNlIDk6CQkJCQkvKiDjhLkgKi8KIAkgICAgc3dpdGNoIChjKSB7Ci0JCWNhc2UgJ3InOgkJCS8qIKSppKEgKi8KKwkJY2FzZSAncic6CQkJLyog44S544SxICovCiAJCSAgICByZXR1cm4gMTA7Ci0JCWNhc2UgJ2EnOgkJCS8qIKSppLEgKi8KKwkJY2FzZSAnYSc6CQkJLyog44S544WBICovCiAJCSAgICByZXR1cm4gMTE7Ci0JCWNhc2UgJ3EnOgkJCS8qIKSppLIgKi8KKwkJY2FzZSAncSc6CQkJLyog44S544WCICovCiAJCSAgICByZXR1cm4gMTI7Ci0JCWNhc2UgJ3QnOgkJCS8qIKSppLUgKi8KKwkJY2FzZSAndCc6CQkJLyog44S544WFICovCiAJCSAgICByZXR1cm4gMTM7Ci0JCWNhc2UgJ3gnOgkJCS8qIKSppLwgKi8KKwkJY2FzZSAneCc6CQkJLyog44S544WMICovCiAJCSAgICByZXR1cm4gMTQ7Ci0JCWNhc2UgJ3YnOgkJCS8qIKSppL0gKi8KKwkJY2FzZSAndic6CQkJLyog44S544WNICovCiAJCSAgICByZXR1cm4gMTU7Ci0JCWNhc2UgJ2cnOgkJCS8qIKSppL4gKi8KKwkJY2FzZSAnZyc6CQkJLyog44S544WOICovCiAJCSAgICByZXR1cm4gMTY7CiAJICAgIH0KIAkgICAgYnJlYWs7CiAKLQljYXNlIDE5OgkJCQkvKiCksiAqLworCWNhc2UgMTk6CQkJCS8qIOOFgiAqLwogCSAgICBzd2l0Y2ggKGMpIHsKLQkJY2FzZSAndCc6CQkJLyogpLKktSAqLworCQljYXNlICd0JzoJCQkvKiDjhYLjhYUgKi8KIAkJICAgIHJldHVybiAyMDsKIAkgICAgfQogCSAgICBicmVhazsKQEAgLTM0OSw3ICszNDksNyBAQAogICAgIHJldHVybiAwOwogfQogCi0vKiAyufq9xL+hvK0gKMf2wOcgwd+8uiwgv7W5riDA1LfCKSAtPiDB37y6ILqvyK8KKy8qIDLrsozsi53sl5DshJwgKO2YhOyerCDspJHshLEsIOyYgeusuCDsnoXroKUpIC0+IOykkeyEsSDrs4DtmZgKICAqICgyIGJ1bHNpazogY29udmVyc2lvbiAoY3Vyci4gbWVkaWFsIHZvd2VsLCBpbnB1dCBlbmdsaXNoKSB0byBtZWRpYWwKICAqIHZvd2VsKQogICovCkBAIC0zNTksMzEgKzM1OSwzMSBAQAogewogICAgIHN3aXRjaCAodikKICAgICB7Ci0JY2FzZSAxMzoJCQkJCS8qIKTHICovCisJY2FzZSAxMzoJCQkJCS8qIOOFlyAqLwogCSAgICBzd2l0Y2ggKGMpIHsKLQkJY2FzZSAnayc6CQkJCS8qIKTHpL8gKi8KKwkJY2FzZSAnayc6CQkJCS8qIOOFl+OFjyAqLwogCQkgICAgcmV0dXJuIDE0OwotCQljYXNlICdvJzoJCQkJLyogpMekwCAqLworCQljYXNlICdvJzoJCQkJLyog44WX44WQICovCiAJCSAgICByZXR1cm4gMTU7Ci0JCWNhc2UgJ2wnOgkJCQkvKiCkx6TTICovCisJCWNhc2UgJ2wnOgkJCQkvKiDjhZfjhaMgKi8KIAkJICAgIHJldHVybiAxODsKIAkgICAgfQogCSAgICBicmVhazsKIAotCWNhc2UgMjA6CQkJCQkvKiCkzCAqLworCWNhc2UgMjA6CQkJCQkvKiDjhZwgKi8KIAkgICAgc3dpdGNoIChjKSB7Ci0JCWNhc2UgJ2onOgkJCQkvKiCkzKTDICovCisJCWNhc2UgJ2onOgkJCQkvKiDjhZzjhZMgKi8KIAkJICAgIHJldHVybiAyMTsKLQkJY2FzZSAncCc6CQkJCS8qIKTMpMQgKi8KKwkJY2FzZSAncCc6CQkJCS8qIOOFnOOFlCAqLwogCQkgICAgcmV0dXJuIDIyOwotCQljYXNlICdsJzoJCQkJLyogpMyk0yAqLworCQljYXNlICdsJzoJCQkJLyog44Wc44WjICovCiAJCSAgICByZXR1cm4gMjM7CiAJICAgIH0KIAkgICAgYnJlYWs7CiAKLQljYXNlIDI3OgkJCQkJLyogpNEgKi8KKwljYXNlIDI3OgkJCQkJLyog44WhICovCiAJICAgIHN3aXRjaCAoYykgewotCQljYXNlICdsJzoJCQkJLyogpNGk0yAqLworCQljYXNlICdsJzoJCQkJLyog44Wh44WjICovCiAJCSAgICByZXR1cm4gMjg7CiAJICAgIH0KIAkgICAgYnJlYWs7CkBAIC00NjUsNyArNDY1LDcgQEAKICAgICB0ID0gKmM7CiAgICAgc3dpdGNoIChraW5kX3RhYmxlX2Zvcl8yKHQpKQogICAgIHsKLQljYXNlIDA6IC8qIMDawL0gKGNvbnNvbmFudCkgKi8KKwljYXNlIDA6IC8qIOyekOydjCAoY29uc29uYW50KSAqLwogCSAgICBpZiAoZiA9PSBGX05VTEwpCiAJICAgIHsKIAkJaWYgKG0gIT0gTV9OVUxMKQpAQCAtNDgxLDcgKzQ4MSw3IEBACiAJICAgIGlmIChsID09IExfTlVMTCkKIAkgICAgewogCQl0MiA9IGxjb24odCk7Ci0JCWlmICghdDIpICAgIC8qILnexKfAuLfOIMD7x9XHz8H2vsq02SAoY2Fubm90IHVzZSBpdCBhcyBhIHByb3ApICovCisJCWlmICghdDIpICAgIC8qIOuwm+y5qOycvOuhnCDsoIHtlantlZjsp4DslYrri6QgKGNhbm5vdCB1c2UgaXQgYXMgYSBwcm9wKSAqLwogCQl7CiAJCSAgICBoYW5ndWxfaW5wdXRfY2xlYXIoKTsKIAkJICAgIGxhc3RfbGwgPSBsYXN0X2wgPSAtMTsKQEAgLTQ5OCw3ICs0OTgsNyBAQAogCQkgICAgcHVzaChidWYpOwogCQkgICAgcmV0dXJuIEFVVE9NQVRBX0NPUlJFQ1Q7CiAJCX0KLQkJZWxzZQkvKiC53sSnwLi3ziC+srfBx8+/tMC4s6ogY29kZb+hIL74tMIgsdvA2sDMtNkgKi8KKwkJZWxzZQkvKiDrsJvsuajsnLzroZwg7JOw66Ck7ZWY7JiA7Jy864KYIGNvZGXsl5Ag7JeG64qUIOq4gOyekOydtOuLpCAqLwogCQl7CS8qIGNhbm5vdCBmaW5kIHN1Y2ggYSBwcm9wIGluIHRoZSBjb2RlIHRhYmxlICovCiAJCSAgICBsYXN0X2xsID0gbGFzdF9sID0gLTE7CiAJCSAgICBoYW5ndWxfaW5wdXRfY2xlYXIoKTsKQEAgLTUwOCw3ICs1MDgsNyBAQAogCQkgICAgcmV0dXJuIEFVVE9NQVRBX05FVzsKIAkJfQogCSAgICB9Ci0JICAgIC8qIMPKIMHfIMG+vLrAzCC48LXOILCuw9++7sGuIMDWtNkKKwkgICAgLyog7LSIIOykkSDsooXshLHsnbQg66qo65GQIOqwluy2lOyWtOyguCDsnojri6QKIAkgICAgICogSSBoYXZlIGFsbCB0aGUgJ2luaXRpYWwgc291bmQnIGFuZCAnbWVkaWFsIHZvd2VsJyBhbmQgJ2ZpbmFsCiAJICAgICAqIGNvbnNvbmFudCcuCiAJICAgICAqLwpAQCAtNTczLDcgKzU3Myw3IEBACiAJICAgIHNwID0gMDsKIAkgICAgaWYgKGxhc3RfbCA9PSAtMSkKIAkgICAgewotCQkvKiDAvS4uLiDAzLDUIMfKv+THz7OqPz8gKEhtbS4uLiBJcyBpdCBuZWVkZWQ/KSAqLworCQkvKiDsnYwuLi4g7J206rKMIO2VhOyalO2VmOuCmD8/IChIbW0uLi4gSXMgaXQgbmVlZGVkPykgKi8KIAkJY29udmVydF9rc190b18zKGJ1ZiwgJmYsICZtLCAmbCk7CiAJICAgIH0KIAkgICAgZWxzZQpAQCAtNjA3LDEwICs2MDcsMTAgQEAKIAl0ID0gdmFsdWVfdGFibGVfZm9yXzNbKmNdOwogCXN3aXRjaCAoa2luZF90YWJsZV9mb3JfM1sqY10pCiAJewotCSAgICBjYXNlIEZfRjogLyogw8q8urmuwNogKGNoYXIuIG9mIGFuIGluaXRpYWwgc291bmQpICovCisJICAgIGNhc2UgRl9GOiAvKiDstIjshLHrrLjsnpAgKGNoYXIuIG9mIGFuIGluaXRpYWwgc291bmQpICovCiAJCWlmIChtICE9IE1fTlVMTCB8fCBzcCA9PSAwKQogCQl7Ci0JCSAgICAvKiDDyry6wMwguvG++rDFs6ogtNnAvSCx28DaILjwwLix4iC9w8DbCisJCSAgICAvKiDstIjshLHsnbQg67mE7JeI6rGw64KYIOuLpOydjCDquIDsnpAg66qo7Jy86riwIOyLnOyekQogCQkgICAgICogRW1wdHkgJ2luaXRpYWwgc291bmQnLCBzbyBzdGFydGluZyBhdXRvbWF0YS4KIAkJICAgICAqLwogCQkgICAgaGFuZ3VsX2lucHV0X2NsZWFyKCk7CkBAIC02MTksNyArNjE5LDcgQEAKIAkJICAgIHB1c2goYnVmKTsKIAkJICAgIHJldHVybiBBVVRPTUFUQV9ORVc7CiAJCX0KLQkJaWYgKCh0MiA9IGNvbWZjb24zKGYsdCkpICE9IDApCS8qILq5wNrAvSAoZG91YmxlPyBjb25zb25hbnQpICovCisJCWlmICgodDIgPSBjb21mY29uMyhmLHQpKSAhPSAwKQkvKiDrs7XsnpDsnYwgKGRvdWJsZT8gY29uc29uYW50KSAqLwogCQl7CiAJCSAgICBmPXQyOwogCQkgICAgY29udmVydF8zX3RvX2NvZGUoZiwgTV9OVUxMLCBMX05VTEwsIGJ1Zik7CkBAIC02MjgsNyArNjI4LDcgQEAKIAkJfQogCQlyZXR1cm4gQVVUT01BVEFfRVJST1I7CiAKLQkgICAgY2FzZSBGX006CS8qILjwwL0gKHZvd2VsKSAqLworCSAgICBjYXNlIEZfTToJLyog66qo7J2MICh2b3dlbCkgKi8KIAkJaWYgKG0gPT0gTV9OVUxMKQogCQl7CiAJCSAgICBpZiAoMiAhPSBjb252ZXJ0XzNfdG9fY29kZShmLCB0LCBMX05VTEwsYnVmKSkKQEAgLTY0MSw3ICs2NDEsNyBAQAogCQkgICAgZWxzZQogCQkJcmV0dXJuIEFVVE9NQVRBX0NPUlJFQ1Q7CiAJCX0KLQkJaWYgKCh0MiA9IGNvbXZvdzMobSx0KSkpICAgIC8qILq5uPDAvSAoYSBkaXBodGhvbmcpICovCisJCWlmICgodDIgPSBjb212b3czKG0sdCkpKSAgICAvKiDrs7XrqqjsnYwgKGEgZGlwaHRob25nKSAqLwogCQl7CiAJCSAgICBtID0gdDI7CiAJCSAgICBjb252ZXJ0XzNfdG9fY29kZShmLCBtLCBMX05VTEwsIGJ1Zik7CkBAIC02NTAsOSArNjUwLDkgQEAKIAkJfQogCQlyZXR1cm4gQVVUT01BVEFfRVJST1I7CiAKLQkgICAgY2FzZSBGX0w6CS8qILnexKcgKHByb3A/KSAqLworCSAgICBjYXNlIEZfTDoJLyog67Cb7LmoIChwcm9wPykgKi8KIAkJaWYgKG0gPT0gTV9OVUxMKQotCQkgICAgcmV0dXJuIEFVVE9NQVRBX0VSUk9SOyAvKiDB37y6vvi0wiDBvry6ICovCisJCSAgICByZXR1cm4gQVVUT01BVEFfRVJST1I7IC8qIOykkeyEseyXhuuKlCDsooXshLEgKi8KIAkJaWYgKGwgPT0gTF9OVUxMKQogCQl7CiAJCSAgICBpZiAoMiAhPSBjb252ZXJ0XzNfdG9fY29kZShmLCBtLCB0LCBidWYpKQpAQCAtNjY0LDcgKzY2NCw3IEBACiAJCSAgICBsID0gdDsKIAkJICAgIHJldHVybiBBVVRPTUFUQV9DT1JSRUNUOwogCQl9Ci0JCWlmICgodDIgPSBjb21jb24zKGwsdCkpICE9IDApCS8qILq5ILnexKcgPz8gKGRvdWJsZSBwcm9wPykgKi8KKwkJaWYgKCh0MiA9IGNvbWNvbjMobCx0KSkgIT0gMCkJLyog67O1IOuwm+y5qCA/PyAoZG91YmxlIHByb3A/KSAqLwogCQl7CiAJCSAgICBpZiAoMiAhPSBjb252ZXJ0XzNfdG9fY29kZShmLCBtLCB0MiwgYnVmKSkKIAkJCXJldHVybiBBVVRPTUFUQV9FUlJPUjsKQEAgLTY3NSw3ICs2NzUsNyBAQAogCQl9CiAJCXJldHVybiBBVVRPTUFUQV9FUlJPUjsKIAotCSAgICBjYXNlIEZfQTogLyogxq+89rmuwNqzqiC8/cDaIChzcGVjaWFsIGNoYXIuIG9yIG51bWJlcikgKi8KKwkgICAgY2FzZSBGX0E6IC8qIO2KueyImOusuOyekOuCmCDsiKvsnpAgKHNwZWNpYWwgY2hhci4gb3IgbnVtYmVyKSAqLwogCQloYW5ndWxfaW5wdXRfY2xlYXIoKTsKIAkJKmMgPSB0OwogCQlyZXR1cm4gQVVUT01BVEFfU1BFQ0lBTDsKQEAgLTE0MzcsNDggKzE0MzcsNDggQEAKICAgICB7MHhhNGJkLCAxOSwgIDIsICAxfSwgIHsweGE0YmUsIDIwLCAgMiwgIDF9LAogfTsKIAotLyogwbbH1cf8IMPKvLogLSC/z7y6x/wgs7nA2iC6r8ivCisvKiDsobDtlantmJUg7LSI7ISxIC0g7JmE7ISx7ZiVIOuCseyekCDrs4DtmZgKICAqIGNvbnZlcnNpb246IGluaXRpYWwgc291bmQgb2YgY29tcG91bmQgdHlwZSAtID8/PyBvZiBjb21wbGV0aW9uIHR5cGUKICAqLwogCiBzdGF0aWMgY29uc3QgY2hhcl91IGpvaGFiX2Zjb25fdG9fd2FuW10gPQogewogICAgIDAsCi0gICAgMHhkNCwgMHhhMSwgMHhhMiwgMHhhNCwgMHhhNywgICAgLyogKMOkv/IpLKShLKSiLKSkLKSnICovCi0gICAgMHhhOCwgMHhhOSwgMHhiMSwgMHhiMiwgMHhiMywgICAgLyogpKgspKkspLEspLIspLMgKi8KLSAgICAweGI1LCAweGI2LCAweGI3LCAweGI4LCAweGI5LCAgICAvKiCktSyktiyktyykuCykuSAqLwotICAgIDB4YmEsIDB4YmIsIDB4YmMsIDB4YmQsIDB4YmUgICAgIC8qIKS6LKS7LKS8LKS9LKS+ICovCisgICAgMHhkNCwgMHhhMSwgMHhhMiwgMHhhNCwgMHhhNywgICAgLyogKOyxhOybgCks44SxLOOEsizjhLQs44S3ICovCisgICAgMHhhOCwgMHhhOSwgMHhiMSwgMHhiMiwgMHhiMywgICAgLyog44S4LOOEuSzjhYEs44WCLOOFgyAqLworICAgIDB4YjUsIDB4YjYsIDB4YjcsIDB4YjgsIDB4YjksICAgIC8qIOOFhSzjhYYs44WHLOOFiCzjhYkgKi8KKyAgICAweGJhLCAweGJiLCAweGJjLCAweGJkLCAweGJlICAgICAvKiDjhYos44WLLOOFjCzjhY0s44WOICovCiB9OwogCi0vKiDBtsfVx/wgwd+8uiAtPiC/z7y6x/wgs7nA2iC6r8ivCisvKiDsobDtlantmJUg7KSR7ISxIC0+IOyZhOyEse2YlSDrgrHsnpAg67OA7ZmYCiAgKiBjb252ZXJzaW9uOiBtZWRpYWwgdm93ZWwgb2YgY29tcG91bmQgdHlwZSAtID8/PyBvZiBjb21wbGV0aW9uIHR5cGUKICAqLwogCiBzdGF0aWMgY29uc3QgY2hhcl91IGpvaGFiX3Zvd190b193YW5bXSA9CiB7CiAgICAgMCwgMCwKLSAgICAweGQ0LCAweGJmLCAweGMwLCAweGMxLCAweGMyLCAweGMzLAkvKiAow6S/8ikspL8spMAspMEspMIspMMgKi8KKyAgICAweGQ0LCAweGJmLCAweGMwLCAweGMxLCAweGMyLCAweGMzLAkvKiAo7LGE7JuAKSzjhY8s44WQLOOFkSzjhZIs44WTICovCiAgICAgMCwgMCwKLSAgICAweGM0LCAweGM1LCAweGM2LCAweGM3LCAweGM4LCAweGM5LCAvKiCkxCykxSykxiykxyykx6S/LKTHpMAgKi8KKyAgICAweGM0LCAweGM1LCAweGM2LCAweGM3LCAweGM4LCAweGM5LCAvKiDjhZQs44WVLOOFlizjhZcs44WX44WPLOOFl+OFkCAqLwogICAgIDAsIDAsCi0gICAgMHhjYSwgMHhjYiwgMHhjYywgMHhjZCwgMHhjZSwgMHhjZiwgLyogpMek0yykyyykzCykzKTDLKTMpMQspMyk0yAqLworICAgIDB4Y2EsIDB4Y2IsIDB4Y2MsIDB4Y2QsIDB4Y2UsIDB4Y2YsIC8qIOOFl+OFoyzjhZss44WcLOOFnOOFkyzjhZzjhZQs44Wc44WjICovCiAgICAgMCwgMCwKLSAgICAweGQwLCAweGQxLCAweGQyLCAweGQzCSAgICAgLyogpNAspNEspNGk0yyk0yAqLworICAgIDB4ZDAsIDB4ZDEsIDB4ZDIsIDB4ZDMJICAgICAvKiDjhaAs44WhLOOFoeOFoyzjhaMgKi8KIH07CiAKLS8qIMG2x9XH/CDBvry6IC0+IL/PvLrH/CCzucDaILqvyK8KKy8qIOyhsO2Vqe2YlSDsooXshLEgLT4g7JmE7ISx7ZiVIOuCseyekCDrs4DtmZgKICAqIGNvbnZlcnNpb246IGZpbmFsIGNvbnNvbmFudCBvZiBjb21wb3VuZCB0eXBlIC0gPz8/IG9mIGNvbXBsZXRpb24gdHlwZQogICovCiAKIHN0YXRpYyBjb25zdCBjaGFyX3Ugam9oYWJfbGNvbl90b193YW5bXSA9CiB7CiAgICAgMCwKLSAgICAweGQ0LCAweGExLCAweGEyLCAweGEzLCAweGE0LCAgICAvKiAow6S/8iksIKShLCCkoiwgpKGktSwgpKQgKi8KLSAgICAweGE1LCAweGE2LCAweGE3LCAweGE5LCAweGFhLCAgICAvKiCkpKS4LCCkpKS+LCCkpywgpKksIKSppKEgKi8KLSAgICAweGFiLCAweGFjLCAweGFkLCAweGFlLCAweGFmLCAgICAvKiCkqaSxLCCkqaSyLCCkqaS1LCCkqaS8LCCkqaS9ICovCi0gICAgMHhiMCwgMHhiMSwgMCwgICAgMHhiMiwgMHhiNCwgICAgLyogpKmkviwgpLEsIDAsIKSyLCCksqS1ICovCi0gICAgMHhiNSwgMHhiNiwgMHhiNywgMHhiOCwgMHhiYSwgICAgLyogpLUsIKS2LCCktywgpLgsIKS6ICovCi0gICAgMHhiYiwgMHhiYywgMHhiZCwgMHhiZQkgICAgIC8qIKS7LCCkvCwgpL0sIKS+ICovCisgICAgMHhkNCwgMHhhMSwgMHhhMiwgMHhhMywgMHhhNCwgICAgLyogKOyxhOybgCksIOOEsSwg44SyLCDjhLHjhYUsIOOEtCAqLworICAgIDB4YTUsIDB4YTYsIDB4YTcsIDB4YTksIDB4YWEsICAgIC8qIOOEtOOFiCwg44S044WOLCDjhLcsIOOEuSwg44S544SxICovCisgICAgMHhhYiwgMHhhYywgMHhhZCwgMHhhZSwgMHhhZiwgICAgLyog44S544WBLCDjhLnjhYIsIOOEueOFhSwg44S544WMLCDjhLnjhY0gKi8KKyAgICAweGIwLCAweGIxLCAwLCAgICAweGIyLCAweGI0LCAgICAvKiDjhLnjhY4sIOOFgSwgMCwg44WCLCDjhYLjhYUgKi8KKyAgICAweGI1LCAweGI2LCAweGI3LCAweGI4LCAweGJhLCAgICAvKiDjhYUsIOOFhiwg44WHLCDjhYgsIOOFiiAqLworICAgIDB4YmIsIDB4YmMsIDB4YmQsIDB4YmUJICAgICAvKiDjhYssIOOFjCwg44WNLCDjhY4gKi8KIH07CiAKICAgICBzdGF0aWMgdm9pZApAQCAtMTUxMSw3ICsxNTExLDcgQEAKIAkJKmxwID0ga3NfdGFibGUyW2ldWzNdOwogCQlyZXR1cm47CiAJICAgIH0KLQkqZnAgPSAweGZmOwkvKiCx17ehx8ggxNq15SAoZ3JhcGhpYyBjb2RlKSAqLworCSpmcCA9IDB4ZmY7CS8qIOq3uOuemO2UvSDsvZTrk5wgKGdyYXBoaWMgY29kZSkgKi8KIAkqbXAgPSBoOwogCSpscCA9IGxvdzsKICAgICB9CkBAIC0xNTg0LDEzICsxNTg0LDEzIEBACiAJcmV0dXJuIDI7CQkvKiBmb3VuZCAqLwogICAgIH0KIAotICAgIC8qIL/PvLrH/CDHpb+hIL74tNkuIGBgS1MgQyA1NjAxIC0gMTk5MiDBpLq4ILGzyK+/6yC6zsijIMfYvLMnJwotICAgICAqIDMuMyDA/b+hILyzuO21yCC55rn9wLi3ziBlbmNvZGluZyDH0bTZLgorICAgIC8qIOyZhOyEse2YlSDtkZzsl5Ag7JeG64ukLiBgYEtTIEMgNTYwMSAtIDE5OTIg7KCV67O0IOq1kO2ZmOyaqSDrtoDtmLgg7ZW07ISkJycKKyAgICAgKiAzLjMg7KCI7JeQIOyEpOuqheuQnCDrsKnrspXsnLzroZwgZW5jb2Rpbmcg7ZWc64ukLgogICAgICAqLwogCi0gICAgKmRlcysrID0gMHhhNDsJCSAgICAgLyogw6S/8iAqLworICAgICpkZXMrKyA9IDB4YTQ7CQkgICAgIC8qIOyxhOybgCAqLwogICAgICpkZXMrKyA9IDB4ZDQ7Ci0gICAgKmRlcysrID0gMHhhNDsJCSAgICAgLyogs7nA2rTCILjwtc4gYTQgx+C/oSDA1rTZLiAqLworICAgICpkZXMrKyA9IDB4YTQ7CQkgICAgIC8qIOuCseyekOuKlCDrqqjrkZAgYTQg7ZaJ7JeQIOyeiOuLpC4gKi8KICAgICAqZGVzKysgPSBqb2hhYl9mY29uX3RvX3dhbltmdl07CiAgICAgKmRlcysrID0gMHhhNDsKICAgICAqZGVzKysgPSBqb2hhYl92b3dfdG9fd2FuW212XTsKZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmMgYi9zcmMvdmVyc2lvbi5jCmluZGV4IDg2MmIzZDkuLjhhZTNkZGEgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmMKKysrIGIvc3JjL3ZlcnNpb24uYwpAQCAtNzYyLDYgKzc2Miw4IEBACiBzdGF0aWMgaW50IGluY2x1ZGVkX3BhdGNoZXNbXSA9CiB7ICAgLyogQWRkIG5ldyBwYXRjaCBudW1iZXIgYmVsb3cgdGhpcyBsaW5lICovCiAvKiovCisgICAgMTkyMywKKy8qKi8KICAgICAxOTIyLAogLyoqLwogICAgIDE5MjEsCg==