on run try tell application "Finder" set startfolder to disk (name of startup disk) set startfolder to folder "Library:" of startfolder set startfolder to folder "Widgets" of startfolder end tell end try repeat set source to choose folder with prompt "Where is the Unit Converter Widget located?" default location startfolder as alias with showing package contents if POSIX path of source does not end with ".wdgt/" then display dialog "This isn't a widget!" & return & return & "Please select the Unit Converter Widget!" else exit repeat end if end repeat repeat set targetfolder to choose folder with prompt "Where shall the enhanced widget be stored?" default location ((path to home folder) as alias) tell application "Finder" try set theCopy to duplicate source to targetfolder without replacing exit repeat on error errmsg number errnr display dialog errmsg & return & return & "Try again?" end try end tell end repeat set myWidget to POSIX path of (theCopy as alias) set patchResult to patch(myWidget, "Conversions.js", " begin-base64 644 Conversions.js ZGlmZiAtdXIgL0xpYnJhcnkvV2lkZ2V0cy9Vbml0IENvbnZlcnRlci53ZGd0L0NvbnZlcnNpb25z LmpzIC4vQ29udmVyc2lvbnMuanMKLS0tIC9MaWJyYXJ5L1dpZGdldHMvVW5pdCBDb252ZXJ0ZXIu d2RndC9Db252ZXJzaW9ucy5qcwkyMDA1LTAzLTAxIDIxOjAzOjU5LjAwMDAwMDAwMCArMDEwMAor KysgLi9Db252ZXJzaW9ucy5qcwkyMDA3LTAxLTE3IDIxOjM0OjQ3LjAwMDAwMDAwMCArMDEwMApA QCAtMjksNiArMjksNDUgQEAKIAl9IAogCWFsZXJ0KCJpbnZMaW5Gb3JtIC0gYmFkIGFyZ3MgYSA9 ICIrYSsiIGIgPSAiK2IpOwogfQorCitmdW5jdGlvbiBjb252ZXJ0VG9CYXNlKGEsYikKK3sKKwlp ZiAoYSA9PSBudWxsKSB7CisJCWFsZXJ0KCJjb252ZXJ0VG9CYXNlIC0gYmFkIGFyZ3MgYSA9ICIr YSk7CisJCXJldHVybjsKKwl9CisJaWYgKCBhID09ICdDaGFyJyApIHsKKwkJcmV0dXJuIGZ1bmN0 aW9uKHgpIHsKKwkJCXJldHVybiB4LmNoYXJDb2RlQXQoeC5sZW5ndGgtMSk7CisJCX07CisJfQor CXJldHVybiBmdW5jdGlvbih4KSB7CisJCXJldHVybiBwYXJzZUludCh4LCBhKTsKKwl9OworfQor ZnVuY3Rpb24gY29udmVydEZyb21CYXNlKGEsYikKK3sKKwlpZiAoYSA9PSBudWxsKSB7CisJCWFs ZXJ0KCJjb252ZXJ0RnJvbUJhc2UgLSBiYWQgYXJncyBhID0gIithKTsKKwkJcmV0dXJuOworCX0g CisJaWYgKCBhID09ICdDaGFyJyApIHsKKwkJcmV0dXJuIGZ1bmN0aW9uKHkpIHsKKwkJCXJldHVy biBTdHJpbmcuZnJvbUNoYXJDb2RlKHkpCisJCX0KKwl9CisJcmV0dXJuIGZ1bmN0aW9uKHkpIHsK KwkJdmFyIGhleHN0cmluZz0nMDEyMzQ1Njc4OWFiY2RlZic7CisJCXZhciByZXN1bHQ9ICcnOwor CQlpZiAoIHkgPT0gMCApIHJldHVybiAiMCI7CisJCXdoaWxlICh5ID4gMCkgeworCQkJcmVzdWx0 PSBoZXhzdHJpbmcuc3Vic3RyKHkgJSBhLCAxKSArIHJlc3VsdDsKKwkJCXk9TWF0aC5mbG9vcih5 L2EpOworCQl9CisJCXJldHVybiByZXN1bHQ7CisJfTsKK30KKwogLyoKIAogZnVuY3Rpb24gbGlu ZWFyRm9ybShhLGIpCkBAIC0xNjcsNiArMjA2LDE0IEBACiAJe25hbWU6Ik5hbm9zZWNvbmRzIiwg CQl0b0Jhc2U6aW52TGluRm9ybSgxMDAwMDAwMDAwLjApLAkJZnJvbUJhc2U6bGluZWFyRm9ybSgx MDAwMDAwMDAwLjApfQogXTsKIAordmFyIFByb2dyYW1taW5nID0gWworCXtuYW1lOiJEZWNpbWFs IiwgCQkJdG9CYXNlOmNvbnZlcnRUb0Jhc2UoMTApLCAJCQkJZnJvbUJhc2U6Y29udmVydEZyb21C YXNlKDEwKX0sCisJe25hbWU6IkhleGFkZWNpbWFsIiwJCXRvQmFzZTpjb252ZXJ0VG9CYXNlKDE2 KSwgCQkJCWZyb21CYXNlOmNvbnZlcnRGcm9tQmFzZSgxNil9LAorCXtuYW1lOiJPY3RhbCIsIAkJ CQl0b0Jhc2U6Y29udmVydFRvQmFzZSg4KSwgCQkJCWZyb21CYXNlOmNvbnZlcnRGcm9tQmFzZSg4 KX0sCisJe25hbWU6IkJpbmFyeSIsIAkJCXRvQmFzZTpjb252ZXJ0VG9CYXNlKDIpLCAJCQkJZnJv bUJhc2U6Y29udmVydEZyb21CYXNlKDIpfSwKKwl7bmFtZToiQ2hhciIsIAkJCQl0b0Jhc2U6Y29u dmVydFRvQmFzZSgnQ2hhcicpLCAJCQlmcm9tQmFzZTpjb252ZXJ0RnJvbUJhc2UoJ0NoYXInKX0K K107CisKIC8vIEN1cnJlbmN5IGRhdGEgaXMgY29taW5nIGZyb20gWE1MIGZlZWQKIHZhciBDdXJy ZW5jeSA9IFtdOwogdmFyIGN1cnJlbmN5Q2F0SW5kZXggPSAxOwkvLyBpbmRleCBmb3IgQ3VycmVu Y3kgaW4gdGhlIENhdGVnb3JpZXMgYXJyYXkKQEAgLTE3OSw2ICsyMjYsNyBAQAogCXtuYW1lOidB cmVhJyxhcnJheTpBcmVhLGRlZmF1bHRGcm9tOiAwLGRlZmF1bHRUbzogNCwgcHJlY2lzaW9uOjh9 LAogCXtuYW1lOidDdXJyZW5jeScsYXJyYXk6Q3VycmVuY3ksZGVmYXVsdEZyb206IDAsZGVmYXVs dFRvOiA2LCBwcmVjaXNpb246OCwgbmV4dFVwZGF0ZTogbnVsbH0sCiAJe25hbWU6J0VuZXJneScs YXJyYXk6RW5lcmd5LGRlZmF1bHRGcm9tOiAzLGRlZmF1bHRUbzogMCwgcHJlY2lzaW9uOjh9LAor CXtuYW1lOidQcm9ncmFtbWluZycsYXJyYXk6UHJvZ3JhbW1pbmcsZGVmYXVsdEZyb206MCxkZWZh dWx0VG86IDEsIHByZWNpc2lvbjpudWxsfSwKIAl7bmFtZTonVGVtcGVyYXR1cmUnLGFycmF5OlRl bXBlcmF0dXJlLGRlZmF1bHRGcm9tOjAsZGVmYXVsdFRvOiAxLCBwcmVjaXNpb246NX0sCiAJe25h bWU6J1RpbWUnLGFycmF5OlRpbWUsZGVmYXVsdEZyb206IDMsZGVmYXVsdFRvOiA0LCBwcmVjaXNp b246OH0sCiAJe25hbWU6J0xlbmd0aCcsYXJyYXk6TGVuZ3RoLGRlZmF1bHRGcm9tOiAwLGRlZmF1 bHRUbzogNSwgcHJlY2lzaW9uOjh9LAoK ==== ") set patchResult to patchResult & patch(myWidget, "UnitConverter.js", " begin-base64 644 UnitConverter.js ZGlmZiAtdXIgL0xpYnJhcnkvV2lkZ2V0cy9Vbml0IENvbnZlcnRlci53ZGd0L1VuaXRDb252ZXJ0 ZXIuanMgLi9Vbml0Q29udmVydGVyLmpzCi0tLSAvTGlicmFyeS9XaWRnZXRzL1VuaXQgQ29udmVy dGVyLndkZ3QvVW5pdENvbnZlcnRlci5qcwkyMDA2LTA0LTA4IDAwOjA2OjM4LjAwMDAwMDAwMCAr MDIwMAorKysgLi9Vbml0Q29udmVydGVyLmpzCTIwMDctMDEtMTcgMjE6MzQ6NDcuMDAwMDAwMDAw ICswMTAwCkBAIC00MzYsMTEgKzQzNiwxMyBAQAogCWlmICggQ2F0ZWdvcmllc1tkZWZhdWx0Q2F0 SW5kZXhdLm5hbWUgPT0gJ0N1cnJlbmN5JyApIHsKIAkJdmFyCWN1cnJlbmN5Q29kZSA9IHVuaXRB cnJheVtmcm9tSW5kZXhdLmlzbzsKIAkJZmxvYXRBbW91bnQgPSBDb252ZXJ0ZXJQbHVnaW4udmFs dWVGb3JGb3JtYXR0ZWRTdHJpbmcoYW1vdW50LHVuaXRBcnJheVtmcm9tSW5kZXhdLmlzbyk7CisJ fSBlbHNlIGlmICggQ2F0ZWdvcmllc1tkZWZhdWx0Q2F0SW5kZXhdLm5hbWUgPT0gJ1Byb2dyYW1t aW5nJyApIHsKKwkJZmxvYXRBbW91bnQgPSBhbW91bnQ7CiAJfSBlbHNlIHsKIAkJZmxvYXRBbW91 bnQgPSBDb252ZXJ0ZXJQbHVnaW4udmFsdWVGb3JGb3JtYXR0ZWRTdHJpbmcoYW1vdW50LG51bGwp OwogCX0KIAotICAgIGlmIChpc05hTihmbG9hdEFtb3VudCkgPT0gZmFsc2UpIAorICAgIGlmIChp c05hTihmbG9hdEFtb3VudCkgPT0gZmFsc2UgfHwgQ2F0ZWdvcmllc1tkZWZhdWx0Q2F0SW5kZXhd Lm5hbWUgPT0gJ1Byb2dyYW1taW5nJyApIAogICAgIHsgICAKICAgIAogICAgIAl2YXIgYmFzZVZh bHVlID0iIjsKQEAgLTQ3Miw3ICs0NzQsOSBAQAogICAgIAkJCXZhciBiYXNlVmFsdWUgPSB1bml0 QXJyYXlbZnJvbUluZGV4XS50b0Jhc2UoZmxvYXRBbW91bnQpOyAKICAgICAJCQljb252ZXJ0ZWRW YWx1ZSA9IHVuaXRBcnJheVt0b0luZGV4XS5mcm9tQmFzZShiYXNlVmFsdWUpOwogCQkJCXZhciBw cmVjaXNpb24gPSBDYXRlZ29yaWVzW2RlZmF1bHRDYXRJbmRleF0ucHJlY2lzaW9uOwotICAgIAkJ CWNvbnZlcnRlZFZhbHVlID0gQ29udmVydGVyUGx1Z2luLmZvcm1hdHRlZFN0cmluZ0ZvclZhbHVl KGNvbnZlcnRlZFZhbHVlLHByZWNpc2lvbik7CisJCQkJaWYgKHByZWNpc2lvbiAhPSBudWxsICkg eworCQkJCQljb252ZXJ0ZWRWYWx1ZSA9IENvbnZlcnRlclBsdWdpbi5mb3JtYXR0ZWRTdHJpbmdG b3JWYWx1ZShjb252ZXJ0ZWRWYWx1ZSxwcmVjaXNpb24pOworCQkJCX0KICAgICAJCX0KICAgICAJ fQogICAJfQo= ==== ") set patchResult to patchResult & patch(myWidget, "German.lproj/localizedStrings.js", " begin-base64 644 German.lproj/localizedStrings.js ZGlmZiAtdXIgL0xpYnJhcnkvV2lkZ2V0cy9Vbml0IENvbnZlcnRlci53ZGd0L0dlcm1hbi5scHJv ai9sb2NhbGl6ZWRTdHJpbmdzLmpzIC4vR2VybWFuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMK LS0tIC9MaWJyYXJ5L1dpZGdldHMvVW5pdCBDb252ZXJ0ZXIud2RndC9HZXJtYW4ubHByb2ovbG9j YWxpemVkU3RyaW5ncy5qcwkyMDA1LTAzLTExIDE0OjA2OjI4LjAwMDAwMDAwMCArMDEwMAorKysg Li9HZXJtYW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwkyMDA3LTAxLTE3IDIxOjM0OjQ3LjAw MDAwMDAwMCArMDEwMApAQCAtMTA5LDcgKzEwOSwxMiBAQAogbG9jYWxpemVkU3RyaW5nc1snRGF0 YSB1bmF2YWlsYWJsZS4nXSA9ICdXw6RocnVuZ3NrdXJzZSBuaWNodCB2ZXJmw7xnYmFyJzsKIGxv Y2FsaXplZFN0cmluZ3NbJ1JldHJpZXZpbmcgZGF0YS4nXSA9ICdXw6RocnVuZ3NrdXJzZSBhYmZy YWdlbic7CiAKLQorbG9jYWxpemVkU3RyaW5nc1snUHJvZ3JhbW1pbmcnXSA9ICdQcm9ncmFtbWll cmVuJzsKK2xvY2FsaXplZFN0cmluZ3NbJ0hleGFkZWNpbWFsJ10gPSAnSGV4YWRlemltYWwnOwor bG9jYWxpemVkU3RyaW5nc1snRGVjaW1hbCddID0gJ0RlemltYWwnOworbG9jYWxpemVkU3RyaW5n c1snQmluYXJ5J10gPSAnQmluw6RyJzsKK2xvY2FsaXplZFN0cmluZ3NbJ09jdGFsJ10gPSAnT2t0 YWwnOworbG9jYWxpemVkU3RyaW5nc1snQ2hhciddID0gJ1plaWNoZW4nOwogCiAKIAoK ==== ") set copyResult to do shell script "cd " & (quoted form of myWidget) & " ; uudecode -o Images/Programming.png <<-'' begin-base64 644 Images/Programming.png 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 ==== " display dialog patchResult & return & return & "Install?" tell application "Finder" to open theCopy as alias end run on patch(basedir, posixFilename, patchdata) try set patchResult to do shell script "cd " & (quoted form of basedir) & " ; (/usr/bin/uudecode -p | patch -p0 ) <<-''" & return & patchdata on error errmsg number errnum if errnum /= 2 then display dialog errnum as string end if set patchResult to posixFilename & " is missing." end try return patchResult & return end patch